|ARM Technical Support Knowledge Articles|
Applies to: uVision Debugger
Information in this article applies to:
After starting a debug session on a Cortex-M device the following message is printed in the debugger output window:
*** error 57: illegal address (...)
Why is there an illegal address access?
This can be caused by the debugger when, for example, a memory window's Address field points to a location that cannot be accessed during debugging. Furthermore, this can be caused when the option Download to Flash in Options for Target Debug Settings Debug Download Options is enabled.
Download to Flash writes code to all memory areas, including those areas defined as Flash. This behavior is not allowed. Instead of writing code directly to Flash memory, you need to program Flash with a Flash programming algorithm. Check the Target Driver Setup Flash Download dialog.
The Download to Flash option is useful, for example, within systems that have indirect access to the boot memory, like NAND Flash, but execute from SDRAM. In such cases, the SDRAM area is defined as Flash. The code will be processed by a Flash programming algorithm and written to NAND Flash. When booting, the code is copied from NAND to SDRAM and executed there. But when debugging, the code needs to be downloaded to SDRAM by the debugger. With this option, one target can be used for debugging from SDRAM as well as for flashing the application from NAND.
Please disable Download to Flash in Options for Target Debug Settings Debug. Now, the illegal address error disappears. If you want to update the target before debugging, please enable Options for Target Utilities Update Target before Debugging.
Request the files attached to this knowledgebase article.
Article last edited on: 2012-08-20 09:18:33
Did you find this article helpful? Yes No
How can we improve this article?