5-150
EPSOn
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
5 gnU17 iDE
Shown below are section locations and file configurations.
VMA
.bssS1
section
.bssS2
section
bss1.o – .bss
bss2.o – .bss
library – .bss
boot.o – .text
main.o – .text
library – .text
library – .rodata
boot.o – .rodata
main.o – .rodata
boot.o – .data
main.o – .data
(__
START_data_lma
)
(
__START_rodata
)
(
__START_text
)
0x008000
0x000000
LMA
.data
section
.rodata
section
.text
section
.vector
section
No sections/files
located here
boot.o – .bss
main.o – .bss
boot.o – .data
main.o – .data
(
__START_data
)
0x000000
(
__START_bssS1
)
.data
section
.bss
section
Figure 5.7.6.7 Example of a section location 3
The
.bssS1
and
.bssS2
sections are located in parallel. The application determines which section is man-
aged and what data is used.
Example 4: Executing a program in raM
A routine that requires high-speed processing can be executed in RAM that can be accessed without wait states
to meet specific requirements. In the examples seen so far, only the VMA of the
.text
section is specified,
and the program is executed in ROM. However, the program can be executed in RAM by first specifying the
VMA and LMA, as for the
.data
section, then copying the program to RAM before execution. Additionally,
multiple sections may be allocated to the same area, as in Example 3, and the program may be executed by ex-
changing sections as necessary.
Program storage/
execution area
Constants
and other static data
Program storage area
Unused area
Vector table
Stack area
0x008000
ROM
.textu2
section (LMA)
.textu1
section (LMA)
.data
section (LMA)
.rodata
section (LMA=VMA)
.text
section (LMA=VMA)
.vector
section (LMA=VMA)
Variables
without initial values
Program cache
Variables
with initial values
0x000fbf
0x000000
RAM
.textu1
and
.textu2
sections (VMA)
located in the same area
.data
section (VMA)
.bss
section (VMA)
Program storage area
Variables
with initial values
Program
copied
Figure 5.7.6.8 Allocating a storage area for the program in RAM
Example of a source file configuration
boot.s
(vector table and stack initialization, etc.)
main.c
(main and other functions)
func1.c
(program 1 to be executed in RAM)
func2.c
(program 2 to be executed in RAM)
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 ...