AnsweredAssumed Answered

Problem reading memory of ADSP-21489

Question asked by jobe on Jun 21, 2013
Latest reply on Jun 21, 2013 by jobe



I've got a strange problem with reading the RAM of the ADSP-21489. Maybe somebody can help me.


My platform: ADSP-21489 EZ Board, connected with the debugger ADZS-USB-ICE. I use the Crosscore Embedded Studio.


First, what I want to do: I want to calculate the CRC of the program I loaded into the RAM.


As this did not work, I took a closer look to the RAM: I walked through the RAM and trasmitted the content via UART to a PC and compared it to the expected content. In my little test program, there where three differences.


Two things, I really don't understand:

- If I take the debugger to read this memory position, I get the value I expect. But it is different to the value I received via UART. That means, my program gets wrong results, reading the memory

- If I debug the program step by step, I get the result I expect: To clearify this: My program starts like this


unsigned int mem_val = 0u ;




    NOP() ;

    NOP() ;

    mem_val = *( (unsigned int*)  (0x00092000u+ 411u) ) ;

    NOP() ;




If I debug this program step by step, the result in mem_val is 0x00814336 (thats the value I expect to get)

If I set a breakpoint on the third NOP() and run the program, the result in mem_val is 0x00C14336 (this value is wrong).


I've a second EZ-Board, connected with the EZ-KIT Lite Debug Agent. There I get the same results. I had also some other test programs. The first error was exactly the same (memory location and values). Then, there were some other differences.


Can anybody explain this differences? I attach my test project - maybe you can reconstruct my results. The differences are:

Memory location(DM) 0x0009219B: 0x00c14336 instead of 0x00814336

Memory location(DM) 0x00092397: 0x00c1fffc instead of 0x9d08fffc

Memory location(DM) 0x000923E5: 0x00c1211b instead of 0x0081211b


Thanks for help,