s5u1c33000c Epson Electronics America, Inc., s5u1c33000c Datasheet - Page 214

no-image

s5u1c33000c

Manufacturer Part Number
s5u1c33000c
Description
Cmos 32-bit Single Chip Microcomputer S5u1c33000c Manual
Manufacturer
Epson Electronics America, Inc.
Datasheet
CHAPTER 12: LINKER
(Link processing in lk33 Ver. 2.1 or earlier)
12.5.4 Virtual and Shared (U) Sections
Virtual and shared sections (U sections) do not have real data created by the linker, therefore real data is copied
from some other area into this area before it is actually accessed or executed. The U sections are used for this
purpose. The U sections are normally located in RAM.
If symbol information is created at addresses where real data is stored such as when using variables in the C
language which have the initial values or copying a program from external memory into RAM for high-speed
operation, the program or data cannot be operated or used in RAM. In such a case, set an area that is actually
executed as a U section, then logically locate the program or data in that area before linking the modules. The
symbol information of the modules located in the U section will be generated as the internal addresses of the U
section.
Note: The expression "locate in a U section" actually means a logical location for obtaining the
The program or data located in a U section must be copied in advance to an area where the program or data is
actually used. Because run-time relocation is required, no absolute object file can be located in a U section.
There are two types of U sections: a virtual section and a shared section.
Virtual section
198
Equivalents of the -code and -data commands that locate the real data of the CODE and DATA sections are
the commands -ucode and -udata which are used for the U sections.
These commands can be used in the following formats to specify the start addresses of the virtual CODE
and virtual DATA sections.
-ucode
-udata
When one of these commands is specified, symbols are interpreted assuming that the default CODE section
(specified by -code <Address>) or DATA section (specified by -data <Address>) is executed in the virtual
section that starts from a specified address.
Example: Command file
execution address from the U section. Although the -ucode, -udata, or other similar commands
are used for logical location into a U section, the addresses at which real data is stored are
determined by the -code or -data commands (commands that do not specify a file name) or by
default settings.
-code
-udata
sample1.o
sample2.o
Before linkage
sample1.o
sample2.o
CODE1
CODE2
DATA1
DATA2
BSS1
BSS2
<Address>
<Address>
0x0c00000
0x0001000
Fig. 12.5.4.1 Example of how data is located in a virtual section
Sets a virtual CODE section.
Sets a virtual DATA section.
After linkage
sample1.srf
CODE2
CODE1
DATA2
DATA1
BSS2
BSS1
EPSON
0x0C00000
0x0001000
0x0000000
Virtual section
(C COMPILER PACKAGE FOR S1C33 FAMILY) (Ver. 4)
At execution
CODE2
CODE1
DATA2
DATA1
DATA2
DATA1
BSS2
BSS1
0x0C00000
0x0000000
0x0001000
Real data
Execution
address
S5U1C33000C MANUAL

Related parts for s5u1c33000c