Why is the application not running stand-alone?
Technical Note 240109
Architectures:
Arm, Renesas Synergy
Component:
debugger
Updated:
2024/1/9 9:36
Introduction
There can be numerous causes for an application not running. This Technical Note relates to these observations:
- The application works when using the C-SPY debugger.
- The application does not work in stand-alone mode.
The most common root causes for problems to run stand-alone are:
- The C-SPY debugger isn't available to set up needed SFRs (Special Function Registers). This cause is covered in technical note 21904.
- Trying to run an application without executing the corresponding boot-code. This cause is covered in this technote.
Discussion
If the application is part of a 'bootloader-application-pair', then the application on its own can't run stand-alone. When using the C-SPY debugger, C-SPY can load and execute an executable at any place in memory. In other words, the application can be debugged in C-SPY without a bootloader installed.
When the application is built to use a bootloader:
- Then the application is not linked to run at the RESET startup address of the processor.
- So the application is expecting to be jumped to by some kind of boot code that runs at startup.
- And if a user then restarts the target, (without a working bootloader in place), the application will not start and run.
Often, the remedy (to become able to run stand-alone) is to also download the bootloader to the target. But other actions might also have to be taken. This depends on how the bootloader and application interacts. (An example of a bootloader, an application and their interaction can be found in technical note 160822.)
Conclusion
This technote covers problems to run stand-alone when working with an application-bootloader-pair, while technical note 21904 covers causes related to C-SPY.
All product names are trademarks or registered trademarks of their respective owners.