This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
这是Startware例程里面的nand flash读写程序, 我现在想修改所使用的edma通道,现在遇到的问题是如果我光修改最后一个函数EDMA3RequestChannel里面的第三个变量EMIF_EDMA_CHANNEL_NUM,如果之前的通道是成功的,那么修改通道后重修编译也可以成功,但是断电以后再次编译,就会报edma传输的错误。我想请教一下要修改nand使用的edma通道,具体要修改哪些参数
这是函数的代码
搞这么复杂,NAND本身没有DMA事件,那么可以用手动触发方式,或者QDMA,至于通道,用任意不用的EDMA通道,或者任意一个QDMA通道都可以。
您好,首先感谢您的回复,但是可能我现在还处于刚刚上手的阶段,知识虽然储备了好多,原理是懂得,但是实际操作起来有点不知所措,您说我的方法太过麻烦能具体说一下嘛?我所修改了通道以后现在是会报错了,您有没有什么好的例子来具体指导一下呢?万分感谢
你改成了多少通道,你是怎么改的? 目前它是选择的一个空的reserved的通道0。
你是改的下面的宏定义,还是直接在函数调用里改的参数值?
#define EMIFA_EDMA_CHANNEL_NUM (0)#define EMIFA_EDMA_TCC_NUM (0)#define EMIFA_EDMA_EVENT_Q_NUM (0)#define REGION_NUMBER (0)
感谢您的回复
我想改成通道3,我是改的宏定义
#define EMIFA_EDMA_CHANNEL_NUM (3)#define EMIFA_EDMA_TCC_NUM (0)#define EMIFA_EDMA_EVENT_Q_NUM (0)#define REGION_NUMBER (0)
我前面说错了,channel 0不是reserved。
你把TCC_NUM也改成3试试,一般都是把channel与interrupt的TCC number设成一样的。
您好,试了一下还是不行,会报edma传输错误
我在原工程上试了没问题啊。你是合到自己的工程了,还是在原工程上试的?
就是在原来的nandflash例程里面试验的,光改这2个参数有问题