大家好,这个问题比较急 希望大家帮忙解决下
我们的应用是: gpmc上挂了一个类似于nor flash的设备, 我采用异步 16dat 非复用 现在可以正常工作, 但
想用edma来增加性能 现在有几个疑问:
1 我们的数据线是16bit的, 没看到edma设置位宽的地方, 是acnt吗?
2 对于trm里面说的FIFO模式 OPT的FWID字段:
0-7h FIFO Width. Applies if either SAM or DAM is set to constant addressing mode.
0 FIFO width is 8-bit.
1h FIFO width is 16-bit.
2h FIFO width is 32-bit.
3h FIFO width is 64-bit.
4h FIFO width is 128-bit.
5h FIFO width is 256-bit.
这里的意思是说如果我FWID设置成1, 那么地址增加16bit就回绕,比如我的地址是0, 数据是16bit,
那么一次dma应该是递增16bit, 那么下一次的地址就又回绕到0? 我对这个FIFO width不太理解?
3 因为我们的芯片操作是写16字节(16bit数据线,所以就是写8次) 然后读16字节(读8次) 这导致我的dma不太好配置,
是否能弄两个dma通道, 一个write, 一个read, 都设置成A-synchronized且ITCINTEN和TCINTEN使能, 然后两个通道chain一下
这样是否可以达到我期望的效果: 每dma进行一次write后会自动触发dma read一次?
先谢谢大家了!