你好,我是用的芯片是R7F7016843,请教一下,我在使用smart config生成代码,用于ADC和DMA联动。即ADC转换结果直接通过DMA 传输到内存中。
目前的问题是,目的地址的数组值一直是0,写入失败。
曾经用过的方法,(1)配置PEG寄存器,仍是该问题。(2)通过section,修改数组地址到0x5000,仍是该问题。请问怎么解决。
还想问一下PEG这个怎么配置Local RAM保护区域?
检查一下DMA设置,一般来说,ADC完成采样后才触发DMA传输,根据所描述的请看,DMA功能似乎没有激活
DMA激活了的,我通过读状态寄存器PDMAnDCSTm,显示是0x892,表明是在写错误。就是目的地址问题,但是看截图显示code flash应该能够访问,能不能提供一个目的地址是code flash的DMA例程,比如地址为0x5000。
哈喽,PEG这个怎么配置Local RAM保护区域,能解答一下吗?
F1KM中PEG的一个简单配置示例如下,它向所有外部总线master (例如DMA) 开放整个 Local RAM
(这是使用PEG的一个通道来打开: 最多可定义4个专用区域):
PEGG0MK = 0 x00fff000; //打开本地RAM范围的掩码
PEGG0BA = 0 xfebe0000; //本地内存F1KM-S1的基址
PEGG0BA | = 0 x77; //允许SPID0,1,2 -允许读,写和启用
PEGSP = 1; //允许外部master访问