20.9 Memory Object Definition (memory_object[])
Here, each memory object is defined.

Please be sure to refer to "3.11 Design of Memory Map".

Format

Parentheses < >show the user input part.

 memory_object[ ] {
     start_address = <1. Start address of memory object (start_addreess)>;
     end_address   = <2. Termination address of memory object (end_addreess)>;
     acptn1        = <3. Access permission pattern (acptn1, acptn2, acptn2)>;
     acptn2        = <3. Access permission pattern (acptn1, acptn2, acptn2)>;
     acptn3        = <3. Access permission pattern (acptn1, acptn2, acptn2)>;
 };


1 ) Start address of memory object (start_addreess)

- Description
Define start address of the memory object by numeric value or section name.
When section name is specified, since the section should be started from 16-bytes boundary address, specify "aligned_section" linker option at linking.
When numeric value is specified, the value must be multiple of 16.




- Definition format
Symbol or numeric value


- Definition range
Numeric value : From 0 to 0xFFFFFFF0, and multiple of 16


- When omitting
Cannot be omitted.


2 ) Termination address of memory object (end_addreess)

- Description
Define termination address of the memory object by numeric value or section name.
When section name is specified, the address in which termination address of this section is rounded up to "multiple of 16 + 15" is treated with the termination address of the memory object. If the termination address of this section is not "multiple of 16 + 15", you must not allocate any section in the range from "the termination address of this section + 1" to next " multiple of 16 + 15" address. The above-mentioned conditions are fulfilled by specifying "aligned_section" linker option as the section which follows this section at linking.



-
When numeric value is specified, the value must be multiple of 16 + 15.


- Definition format
Symbol or numeric value


- Definition range
Numeric value : From 0x0000000F to 0xFFFFFFFF, and multiple of 16 + 15


- When omitting
Cannot be omitted.


3 ) Access permission pattern (acptn1, acptn2, acptn2)

- Description
Define access permission pattern for operand-read access (acptn1), operand-write access (acptn2) and execution access (acptn3) by symbol or numeric value.
Only the "TACP_SHARED" (permit access to all the domains) can be specified as symbol.
Use numeric value to specify permission for each domain according to Figure 20-1.
When either of the bits corresponding to domains exceeding the maximum domain ID is set, the cfg600px does not detect an error and t becomes a SYSTEM DOWNat staring the RI600PX.





Figure 20-1 Access Permission Pattern



- Definition format
Symbol or numeric value


- Definition range
Symbol : TACP_SHARED : Permits access to all the domains.
Numeric value : From 0 to 0x7FFF



- When omitting
The set value in the default system configuration file (factory setting: "TACP_SHARED") applied.