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

no-image

s5u1c33000c

Manufacturer Part Number
s5u1c33000c
Description
Cmos 32-bit Single Chip Microcomputer S5u1c33000c Manual
Manufacturer
Epson Electronics America, Inc.
Datasheet
Default:
Note:
S5U1C33000C MANUAL
(C COMPILER PACKAGE FOR S1C33 FAMILY) (Ver. 4)
Unless specified by this command, the blocks are located in the manner shown below.
CODE block: Located from 0x0c00000
DATA block: Immediately after the most-significant CODE block
BSS block:
When specifying multiple blocks, be sure to enter at least one space, tab, or line feed
between <block> entries.
Block names in { } can be written in two or more separate lines.
Example) -addr IN_ROM
Up to 256 blocks can be defined.
A block name can be up to 130 characters and is case-sensitive.
An object file name can be up to 256 characters, including the path.
Up to 256 blocks can be specified in { }.
The symbol name in format 2 must be defined by the -defaddr command before it can be
used.
The block names to be specified by -addr, except for default block names, must first be
defined by the -XXXblock or -uXXXblock command described above.
The addresses specified here must be aligned to the address boundaries set using the
-align command. Specifying a misaligned address results in a warning, in which case the
'n' low-order bits are ignored. Addresses, by default, are aligned on 4-byte boundaries.
Defining two or more instances of the same address (or symbol) results in a warning, in
which case only the first command defined is effective.
Example) -addr 0x50000 { BLOCK1 BLOCK2 }
Specifying duplicate block names in one -addr block or specifying the same block name
in two or more -addr blocks results in an error. However, block names that include '@'
and those do not are assumed to be different.
Example 1) -addr IN_ROM { BLOCK1 @BLOCK1 }
Example 2) -addr IN_ROM { BLOCK1 BLOCK2 BLOCK1 }
Example 3) -addr IN_ROM { @BLOCK1 BLOCK2 @BLOCK1 }
Example 4) -addr IN_RAM { BLOCK1 BLOCK2 BLOCK3 }
Multiple blocks that contain the same object definition cannot be specified within the
same -addr definition or other -addr definitions.
Example 1) -codeblock BLOCK1 { boot.o main.o sub.o }
Example 2) -codeblock BLOCK1 { boot.o main.o sub.o }
{
}
-addr 0x50000 { DEFAULT_CODE }
At the beginning of the internal RAM (0x0000000)
-addr EXT_RAM { BLOCK4 BLCOK1 }
-codeblock BLOCK2 { main.o }
-addr 0x800
{
}
-codeblock BLOCK2 { comp.o }
-codeblock BLOCK3 { main.o }
-addr 0x800
{
}
-addr 0x1000
{
}
MAIN_BLOCK
SUB_BLOCK
... No error, because one block name has '@' and another does not
... Error, because BLOCK1 is duplicated
... Error, because @BLOCK1 is duplicated
... Error, because BLOCK1 is defined in IN_RAM also
BLOCK1
BLOCK2
BLOCK1
BLOCK2
BLOCK2
BLOCK3
EPSON
... Error, because main.o is duplicated
... Error, because main.o is duplicated
(Link processing in lk33 Ver. 3.0)
... Effective
... Has no effect
CHAPTER 12: LINKER
215

Related parts for s5u1c33000c