Datasheet
Migrating Projects from SDT to ADS
ARM DUI 0064D Copyright © 1999-2001 ARM Limited. All rights reserved. 4-13
Section naming in scatter-loading
You should not use compiler-generated section names in scatter-loading descriptions.
The names generated in ADS are different to those generated in SDT. ADS uses
standard ELF section names:
•
C$$code
is now
.text
•
C$$data
is now
.data
•
C$$zidata
is now
.bss
•
C$$constdata
is now
.constdata
.
You should specify code/data sections in scatter files using the names and attributes of
objects (unless you are using -zo).
Generating binary images
In SDT 2.50 and SDT 2.51, you can convert the ELF output image from the linker into
a plain binary file with:
fromelf -nozeropad image.axf -bin image.bin
In ADS, the syntax has changed. Use:
fromelf image.axf -bin -o image.bin
The
-nozeropad
option is redundant in ADS, because fromELF never pads output
images with zeros to represent the ZI section.
The SDT 2.50 and SDT 2.51 linkers warn that
-bin
and
-aif -bin
will not be supported
in future releases. The ADS linker faults these options. Use fromELF to generate the
binary instead.
4.2.4 Initialization of C Libraries and Execution Regions
This section applies to SDT projects that link with the Embedded C libraries (in the
\lib\embedded
directory) to avoid the use of semihosting SWIs. It describes:
• Application Entry Point
• Library Entry Point on page 4-14
• RW/RO and ZI Region Initialization on page 4-14
• Memory Mapped Peripherals on page 4-15
Application Entry Point
The SDT embedded C libraries do not require initialization. It is recommended that you
use
C_Entry()
, instead of
main()
as the entry point for your C code. This ensures that the
full ANSI C semihosting library initialization code is not linked in.