-RAM_INIT_TABLE_SECTION [V1.12 or later]
|
This option generates an information table for RAM initialization.
[Specification format]
-RAM_INIT_TABLE_SECTION[= section-name]
|
- | Interpretation when omitted |
An information table for RAM initialization will not be generated.
[Detailed description]
- | This option generates an information table for RAM initialization. |
- | The information table is generated for the specified section name. |
- | If a section name is not specified, the table is generated with section name ".ram_init_table". |
- | Generally, the contents of the .data section are transferred from ROM to RAM at startup of a program. In addition, the RAM to which the .bss section is allocated is cleared to 0. This option generates a table containing the address and size information required for such operations. |
- | The information table contains a series of records that have the following fields. |
|
|
|
Field 1
|
4 bytes
|
ROM start address: For data transfer from ROM to RAM
RAM start address: For clearing the RAM
0: End of the record
|
Field 2
|
2 bytes
|
Transfer size: For data transfer from ROM to RAM or for clearing the RAM
0: End of the record
|
Field 3
|
2 bytes
|
RAM start address: For data transfer from ROM to RAM or for clearing the RAM
0: End of the record
|
- | Fields 1 to 3 are set to 0 at the end of the table. |
- | During startup processing, perform the following processing up to the end of the table: |
- | If field 1 and field 3 are different, copy the memory data for the size of field 2 from field 1 to field 3. |
- | If field 1 and field 3 are the same, clear the memory data for the size of field 2 from field 1 or field 3. |
- | The sections to be initialized are used for CPU program operations. Sections for the FLEXIBLE APPLICATION ACCELERATOR (FAA) are not contained in the table. |
[Example of use]
- | To generate an information table for RAM initialization, code as: |
> rlink a.obj b.obj -start=.data/1000,.dataR/f1000,.bss/f2000 -rom=.data=.dataR
-ram_init_table_section=.ram_init_table
|
- | If the size of the .data section is 0x100 bytes and the size of the .bss section is 0x200 bytes, the following table is generated for the .ram_init_table section. |
|
|
|
0x01000
|
0x100
|
0x1000
|
0xf2000
|
0x200
|
0x2000
|
0
|
0
|
0
|
[Remark]
- | If the -form={object|relocate|library} option or -strip option is specified, this option will be invalid. |