DatasheetQ Logo
Electronic component search and free download site. Transistors,MosFET ,Diode,Integrated circuits

AN720 データシートの表示(PDF) - Silicon Laboratories

部品番号
コンポーネント説明
メーカー
AN720 Datasheet PDF : 28 Pages
1 2 3 4 5 6 7 8 9 10 Next Last
AN720
5. Precision32 IDE (redlib and newlib)
This section discusses ways to optimize projects using the Precision32 IDE and both redlib and newlib libraries.
The Precision32 GCC tools used for the code size and execution speed testing discussed in this document are
ARM/embedded-4_6-branch revision 182083 (http://gcc.gnu.org/svn/gcc/branches/ARM/embedded-4_6-branch/)
with newlib v1.19 and Redlib v2 (Precision32 IDE v4.2.1 [Build 73]).
5.1. Reading the Map File
The first step in the code size optimization process is to analyze the project map file and determine what portions of
code take the most space.
The map file is an output of the linker that shows the size of each function and variable and their positions in
memory. This map file is located in the build files for a project.
In addition to the functions, the map file includes information on variables and other symbols, including unused
functions that are removed.
For a Precision32 IDE Debug build, the map file is located in the project’s Debug directory. Figure 1 shows an
excerpt of the sim3u1xx_Blinky redlib Debug example map file.
For each function in the project, the map file lists the starting address and the length. For example, the
my_rtc_alarm0_handler function starts at address 0x0000_04D4 and occupies 0x70 bytes of memory.
Figure 1. sim3u1xx_Blinky Precision32 Debug Map File Example
5.2. Determining a Project’s Code Size
Each project’s library and function usage is different. Analyzing the project’s makeup can help determine the most
effective way to reduce code space.
All Precision32 SDK projects automatically output the code and RAM size after a build. To modify this output in the
Precision32 IDE:
1. Right-click on the project_name in the Project Explorer view.
2. Select Properties.
3. In the C/C++ BuildSettingsBuild Steps tab, remove or add the following in the Post-build
stepsCommand box: arm-none-eabi-size "${BuildArtifactFileName}"
After building the si32HAL 1.0.1 sim3u1xx_Blinky example, the IDE outputs:
text data bss dec hex
13312
4 344 13660 355c
Rev. 0.1
3

Share Link: 

datasheetq.com  [ Privacy Policy ]Request Datasheet ] [ Contact Us ]