#atsamd #samd21 #samd #samd51

no-std samd-dma

SAM微控制器的DMA包装库

2个不稳定版本

0.3.0 2020年7月20日
0.2.1 2020年7月19日
0.2.0 2020年7月19日
0.1.1 2020年7月18日
0.1.0 2020年7月17日

#1445 in 嵌入式开发

MIT许可

1MB
1.5K SLoC

包含 (WOFF字体, 190KB) docs/FiraSans-Medium.woff, (WOFF字体, 185KB) docs/FiraSans-Regular.woff, (WOFF字体, 94KB) docs/SourceSerifPro-Bold.ttf.woff, (WOFF字体, 89KB) docs/SourceSerifPro-Regular.ttf.woff, (WOFF字体, 56KB) docs/SourceCodePro-Regular.woff, (WOFF字体, 56KB) docs/SourceCodePro-Semibold.woff 以及更多.

Maintenance

samd-dma

用法

将以下行添加到Cargo.toml的依赖项部分

samd-dma = "0.3.0"

以下功能标志控制您针对的MCU变体。

名称(文档) # DMA通道
samd21g18a 12 Circuit Playground Express, Feather M0, Metro M0, MKR ZERO, SAMD21 Mini, SODAQ ONE
samd21e18a 12 Gemma M0, Trinket M0, Serpente
samd21j18a 12 SODAQ SARA AFF
samd51j19a 32 EdgeBadge, Feather M4, Metro M4
samd51j20a 32 PyPortal
samd51g19a 32 ItsyBitsy M4, Trellis M4

关于

Microchip SAM微控制器的DMA库。

此库围绕SAM系列微控制器的DMA和CRC子系统提供便利包装。它旨在最大限度地表达,同时提供方便的接口以执行简单任务。

安全性

此库的主要目标是抽象化直接写入寄存器。它不关心像完全内存安全的DMA这样的大目标,这留给库用户和您试图实现的目标自行决定。如果您每个通道只需要一个描述符并且不从写回地址读取,您可以在没有任何不安全部分的情况下使用此库。DMA系统的更高级功能不受此库的保护,如果不小心,可能会伤害到自己。我强烈建议阅读您微控制器系列的相关手册,以了解DMA系统的工作原理以及如何在编译器知识之外的内存上操作。

SAMD21

由于SAMD21系列上DMA系统的设计,任何修改通道寄存器的通道方法都不是中断安全的。请注意,在没有调用中断免费部分的情况下访问或修改通道寄存器。

许可

samd-dma遵循MIT许可。许可协议的全文可以在LICENSE文件中找到。

依赖项

~2–7.5MB
~217K SLoC