您好!
基本上、加电后、我在"L2 RAM"、"PBIST ROM"、"STC1 ROM"、"STC2 ROM"、"VIM RAM"、 "MibSPI RAM"、"DCAN RAM"和最后的"DMA RAM"都成功了。
在这些测试之后、我将在 RM57微控制器上的所有 SCI/SPI 模块上执行 SCI 回送、SPI 回送等测试。 最后、我将执行 DMA 测试、测试基本如下:
"声明两个大小为100的数组(局部变量)、一个加载1到100之间的数据、另一个为空、并以零初始化。 目的是执行从加载的阵列到另一个空阵列的 DMA 传输。 因此、我使用通道5 (仅随机)、使用以下参数设置控制数据包:
源地址=加载了1到100个元素的数组的地址
目的地址=空数组的地址
通道控制= 0
帧计数= 1
元件数量= 100
元件偏移= 0 (源和目的)
帧偏移= 0 (源和目的)
分配的端口=端口 A 读取和端口 A 写入
读取大小= 8位
写入大小= 8位(因为声明的两个数组都是字符类型=无符号 INT8)
tType =块传输
地址模式读取=地址增量
地址模式写=地址增量
我正在调用函数"dmaSetCtrlPacket (DMA_CH5、在控制参数结构之上)"、然后调用"dmaSetChEnable (DMA_CH5、DMA_SW)"。 然后、我将轮询 BTFLAG 寄存器的位5以指示传输完成活动。"
BTCFLAG 寄存器中的标志被置位、但我在目的数组中看不到任何数据。
我尝试的方法是在上电时绕过上述所有测试、只保留 DMA 测试本身、但仍然看不到目标阵列中的任何数据。 我可能缺少什么?
顺便说一下,我在加电后和执行测试之前调用函数"dmaEnable()"。
此致、
Chetan。