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.

关于L2Cache和SDRAM



大家好:

        本人使用的是6747芯片,CCS3.3工具,做了如下工作:

        1、使用EDMA将EMIFA上接口的数据传输到SDRAM上(0xC0000000~0xC0001000);

        2、传输完成后产生中断,在中断中处理接受到的数据。

         3、在memory中读取数据,发现数据未更新,而将memory下面的 “L2 Cache" 等勾掉后,此时数据显示的是传输后的数据,应该是数据已经传到memory中,但是Cache中未更新;

          4、欲使用memory中已经更新的数据,定义"volatile unsigned int * " 型指针指向上述memory(0xC0000000~0xC0001000)进行读取操作:

                unsigned int  u4Data = (volatile unsigned int*)(0xC0000000);

         碰到问题如下:

         上述的u4Data读到的数据是EDMA传输更新前的数据,应该是Cache中的数据,而不是memory的值,即与"memory"中勾上“L2Cache”等是显示的数据一致。

          不知我理解上有何误区,望乞指导。