This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

reset vector not @ 0x00000000

A new chip has ARM926EJ-S core and the reset vector is located from 0xffff0000 instead of 0x00000000 many other ARM7/9 MCU have used. I can build simple project to target generic ARM9 core and little-endian. BTW, I am using J-Link with RDI option.

But when I start debugging/downloading image, uVision has error message as follow:

----------------------------------------------------
*** error 122: AGDI: memory read failed (0x00000074)
RDI-Error 5: RDIError_DataAbort
----------------------------------------------------

I suppose uVision debugger try to read or write something from 0x00000000 and it fails since there is not a valid address.

How can I force uVision not touching memory from 0x00000000 during downloading image?

Thanks,

Jack Lim

  • Let me add more information to this porblem.

    1)I use the same hardware setup with ARM RVDS and GHS Multi tools, and they are working fine.

    2)After power-on-reset, the reset vector at 0xffff0000 are initialized to branch to itself. The software can always modify it as jump table pointing to new ISR in RAM or flash. Nothing is mapped to 0x00000000 memory region as specification, so any reading is unknown from there.

    4)In the uVision target panel, I configure IROM1 to be 0x10260000 which is internal RAM region of new chip.

    5)In uVision linker panel, I add "--entry Reset_Vector" which is same location as 0x10260000.

    But it seems to me that uVision AGDI interface still accesses 0x00000000 region during image loading and debugging.

    Thanks for help,

    Jack Lim