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".
Содержание S5U1C17001C
Страница 6: ......
Страница 17: ...1 General S5U1C17001C Manual 1 General ...
Страница 18: ......
Страница 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Страница 22: ......
Страница 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Страница 30: ......
Страница 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Страница 104: ......
Страница 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Страница 122: ......
Страница 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Страница 366: ......
Страница 385: ...7 Library S5U1C17001C Manual 7 library ...
Страница 386: ......
Страница 404: ...7 18 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 7 liBrary THIS PAGE IS BLANK ...
Страница 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Страница 406: ......
Страница 438: ...8 32 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 8 aSSEMBlEr THIS PAGE IS BLANK ...
Страница 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Страница 440: ......
Страница 448: ...9 8 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 9 linkEr THIS PAGE IS BLANK ...
Страница 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Страница 450: ......
Страница 625: ...10 174 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 10 DEBUggEr THIS PAGE IS BLANK ...
Страница 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Страница 627: ......
Страница 695: ...11 68 EPSON S5U1C17001C Manual C Compiler Package for S1C17 Family Ver 1 5 0 11 OTHEr TOOlS THIS PAGE IS BLANK ...
Страница 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...