5-146
EPSOn
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
5 gnU17 iDE
/* load address symbols */
__START_data_lma = LOADADDR( .data );
__END_data_lma = __START_da SIZEOF( .data );
}
Shown below are section locations and file configurations.
boot.o – .text
main.o – .text
library – .text
library – .bss
boot.o – .data
main.o – .data
(__
START_data_lma
)
(__
START_text
)
0x008000
0x000000
.data
section
.text
section
.vector
section
No sections/files
located here
library – .rodata
boot.o – .rodata
main.o – .rodata
0x080000
LMA
.rodata
section
No sections/files
located here
boot.o – .bss
main.o – .bss
boot.o – .data
main.o – .data
(
__START_data
)
0x000000
VMA
.data
section
.bss
section
Figure 5.7.6.5 Example of section location 2
Example 3. Sharing the raM area with multiple variables
Shown below is an example of how to assign the same RAM area to multiple variables in a system with the
memory configuration shown in Example 1.
Multiple sections are allocated to the same address as in Figure 5.7.6.6, where the same data is shared by mul-
tiple variables and the data for one section is exchanged for another when used. This permits efficient use of
memory. However, only sections having the
.bss
attribute can share data areas. The area set aside for variables
with initial values (
.data
section) cannot be shared.
Program
Constants
and other static data
Variables
with initial values
Unused area
Vector table
Stack area
0x008000
ROM
.data
section (LMA)
.rodata
section (LMA=VMA)
.text
section (LMA=VMA)
.vector
section (LMA=VMA)
Fixed area for variables
without initial values
Shared area for variables
without initial values
Variables
with initial values
0x000fbf
0x000000
RAM
.bss1
and
.bss2
sections (VMA)
located in the same area
.data
section (VMA)
.bss
section (VMA)
Figure 5.7.6.6 Example for shared data area
Example of a source file configuration
boot.s
(vector table and stack initialization, etc.)
main.c
(main and other functions)
bss1.c
(global variable definition file 1)
bss2.c
(global variable definition file 2)
bss1.c
and
bss2.c
are assumed to consist only of a definition of global variables without initial values that
share an area. If these files contain functions, variables with initial values, or constants, the files in the example
here will be located in the
.text
,
.data
, or
.rodata
sections.
Editing sections (content set in the [Add/Edit Section] dialog box)
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 ...