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

Rate this article

Disagree? Move your mouse over the bar and click

Did you find this article helpful? Yes No

How can we improve this article?

Link to this article
Copyright © 2011 ARM Limited. All rights reserved. External (Open), Non-Confidential