请教:在DMA传输期间禁止CPU读-改-写操作有什么意义?
额,我看网上例程,msp430在DMA操作时,都喜欢将DMACTL4置位,但是我没明白这样做有啥意义,还请各位指教!DMACTL4
Read-modify-write disable. When set, this bit inhibits any DMA transfers from
occurring during CPU read-modify-write operations.
0b = DMA transfers can occur during read-modify-write CPU operations.
1b = DMA transfers inhibited during read-modify-write CPU operations 是不是为了保证读取的数据准确性?如果在DMA传输未完成的时候,读了数据,会不会读的数据不准确? yunqing_abc 发表于 2021-8-9 11:36
是不是为了保证读取的数据准确性?如果在DMA传输未完成的时候,读了数据,会不会读的数据不准确? ...
嗯,有这种可能性。
但是它这里说的是不能执行CPU相关读-改-写操作,而并没有强调是DMA可以寻址的这段内存。
我猜可能在DMA执行期间,读-该-写所有RAM地址都存在被篡改的风险。
不知道我的理解是否准确。 但是DMA存在的意义就是在数据传输过程中CPU可以空出来干其他事啊。。。程序在运行肯定会有读写。。。 初音之恋 发表于 2021-8-9 14:17
但是DMA存在的意义就是在数据传输过程中CPU可以空出来干其他事啊。。。程序在运行肯定会有读写。。。 ...
而且既然有0和1这两个选项不应该有问题,除非有bug
页:
[1]