我在用户手册上注意到如下说明:
注:DMA1 在使用时需注意,对于批号第五位小于 3,DMA1 所有通道的 DMA 访问地址不得超过 64K
边界,例如-CH32V307VCT6 配置 RAM 为 128K,此时配置 DAM1 需注意 DMA 源地址 + 传输数据
数目,或 DMA 目的地址 + 传输数据 只能在 0-64K,或 64K-128K 区域,不可出现 63K-65K 类似情
况。对于批号第五位大于等于 3,DAM1 通道 2,3,4,5,DMA 访问地址不得超过 128K 边界,DMA1 通
道 1,6,7DMA 访问地址依然不得超过 64K 边界。DMA2 使用上没有限制。
我的SPI数据大概有20K,RAM为128K。IDE为MounRiver。C++。
我该如何声明缓存数组和目的地址,或开辟内存空间,才能避免跨越64K的边界呢?
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU