当CPU与DMA同时仿问一块SARAM时(比如L7 RAM)到底会不会产生冲突,读写的数据会出错吗?
DATASHEET中的下面这句话该如何理解:
In the case of RAM,a ping-pong scheme can be implemented to avoid the CPU and the DMA accessing
the same RAMblock concurrently, thus avoiding any stalls or corruption issues.
什么是ping-pong scheme?
比如用一个DMA通道来进行AD采样,将数据放在L7 RAM中,CPU直接去读取L7中的数据。这样就会出现一种情况,当CPU去读L7 RAM时刚好DMA从AD结果寄存器搬来数据,此时芯片做何处理,数据会不会出错?
debing wei:
如果DMA的优先级比CPU高,那么CPU是不是就停在那等DMA把数搬完?
再有一个问题就是28335的RAM分为L1-L7一共8个区域,是不是说CPU可以同时访问其中的多个分区,举个例子CPU在读L6的同时也能写L7,但不能同时对同一个区域进行读写操作?