Hi
I am facing with very strange problem
I am working with DM642 DSP , with c6000 DSP core . The part of program and data code are placed in external SDRAM
During the program , I need sometimes replace the part of my program code in SDRAM with another code.
During the code replacement routine , I treat the program memory in SDRAM as data memory .
After copy of a new program code to its location in SDRAM I make verification , that the copied code is ok. I did it with “mecmp” function
And sometimes I get “not equal” result ! But , if I put some wait after memory copy , the result is always ok .
Bad copy example
1 .Fill SDRAM memory with new code
2. Read SDRAM back and compare to sources buffer - sometimes bad result
Always good copy example
1 .Fill SDRAM memory with new code
2. Wait 1 mili
3. Read SDRAM back and compare to sources buffer - always good result
Why it can be ?
All interrupts are disabled, L2 CACHE also disabled
As I understand , the CPU access the program and data memory via 2 different controllers to EMIF
May be , there is some problem , when I try to access the program memory in SDRAM via data access controller ?
Thanks