About embedded software development
When developing embedded applications, the resources available in the development environment normally differ from the resources on the target hardware.
It is important to consider the process for moving an embedded application from the development or debugging environment to a system that runs standalone on target hardware.
When developing embedded software, you must consider the following:
Understand the default compilation tool behavior and the target environment. You can then understand the steps that are necessary to move from a debug or development build to a standalone production version of the application.
Some C library functionality executes by using debug environment resources. If used, you must re-implement this functionality to use target hardware.
The toolchain has no knowledge of the memory map of any given target. You must tailor the image memory map to the memory layout of the target hardware.
An embedded application must perform some initialization, such as stack and heap initialization, before the main application can be run. A complete initialization sequence requires code that you implement in addition to the Arm® Compiler C library initialization routines.