S5U1C17001C ManUal
EPSOn
3-67
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
3 SOfTWarE DEVElOPMEnT PrOCEDUrES
3
SoftDev
3.8 Sections and linkage
Here, the concept of section management that is required when you create and link source files is explained.
The source file contains data with various attributes, such as program code, constants, and variables. In an embed-
ded system, data management must assume that data will be mapped to different memory devices such as ROM and
RAM. For this reason, logical areas called "sections" are provided to enable management of data with their attri-
butes.
For example, if a program is created on the assumption that program code present in multiple source files will be
located in one section, program code can easily be combined from these source files when linked, and will con-
sequently be located in the same ROM. And since addresses can be specified separately for each file, they can be
located on separate devices, such as internal ROM and external ROM.
Four broad categories (attributes) of sections are set in the
xgcc
C compiler, and data is located in the appropriate
sections according to the contents of the source files.
(1)
.text
section
Program code is located here. All code is eventually written to ROM.
(2)
.data
section
Read/writable data with initial values are located here. The data is written to ROM, from which it is transferred
to RAM before use.
(3)
.rodata
section
Variables defined with
const
are located here. They are eventually written to ROM.
(4)
.bss
section
Variables without initial values are located here. Memory is allocated without a specific value.
(5)
.vector
section
The
IDE
has another section with
.rodata
attribute, the
.vector
section, available for use for vector tables.
For C sources, create a vector table with a
const
declaration and locate its object in the
.vector
section.
For the assembler sources, a vector table may be written in
.rodata
or the
.text
section. However, if a vec-
tor table is located in the
.text
section, you must change the
.vector
section attribute to
.text
.
For more information, refer to Section 5.7.8, "Editing a Linker Script".
Summary of Contents for S5U1C17001C
Page 6: ......
Page 17: ...1 General S5U1C17001C Manual 1 General ...
Page 18: ......
Page 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Page 22: ......
Page 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Page 30: ......
Page 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Page 104: ......
Page 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Page 122: ......
Page 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Page 366: ......
Page 385: ...7 Library S5U1C17001C Manual 7 library ...
Page 386: ......
Page 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Page 406: ......
Page 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Page 440: ......
Page 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Page 450: ......
Page 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Page 627: ......
Page 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...