diff options
Diffstat (limited to 'bsps/arm/raspberrypi/start/linkcmds')
-rw-r--r-- | bsps/arm/raspberrypi/start/linkcmds | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/bsps/arm/raspberrypi/start/linkcmds b/bsps/arm/raspberrypi/start/linkcmds new file mode 100644 index 0000000000..58423abecb --- /dev/null +++ b/bsps/arm/raspberrypi/start/linkcmds @@ -0,0 +1,67 @@ +/** + * @file + * + * @ingroup raspberrypi_linker + * + * @brief Memory map + */ + +/** + * @defgroup raspberrypi_linker Raspberry Pi Memory Map + * + * @ingroup bsp_linker + * + * @brief Raspberry Pi memory map. + */ + +/** + * <table> + * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr> + * <tr><td>VECTOR_RAM</td><td>0x08000000</td><td>8k</td></tr> + * <tr><td>RAM</td><td>0x80008000</td><td>128M</td></tr> + * </table> + * + * <table> + * <tr><th>Section Name</th><th>Section Runtime Region</th><th>Section Load Region</th></tr> + * <tr><td>.start</td><td>RAM</td><td></td></tr> + * <tr><td>.vector</td><td>VECTOR_RAM</td><td></td></tr> + * <tr><td>.text</td><td>RAM</td><td>RAM_EXT</td></tr> + * <tr><td>.rodata</td><td>RAM</td><td>RAM_EXT</td></tr> + * <tr><td>.data</td><td>RAM</td><td>RAM_EXT</td></tr> + * <tr><td>.fast</td><td>RAM</td><td>RAM_EXT</td></tr> + * <tr><td>.bss</td><td>RAM</td><td></td></tr> + * <tr><td>.work</td><td>RAM</td><td></td></tr> + * <tr><td>.stack</td><td>RAM</td><td></td></tr> + * </table> + */ + +MEMORY { + VECTOR_RAM (AIW) : ORIGIN = 0x0 , LENGTH = 16k + RAM_MMU (AIW) : ORIGIN = 0x00004000, LENGTH = 16k + RAM (AIW) : ORIGIN = 0x00008000, LENGTH = 128M - 32k +} + +REGION_ALIAS ("REGION_START", RAM); +REGION_ALIAS ("REGION_VECTOR", VECTOR_RAM); +REGION_ALIAS ("REGION_TEXT", RAM); +REGION_ALIAS ("REGION_TEXT_LOAD", RAM); +REGION_ALIAS ("REGION_RODATA", RAM); +REGION_ALIAS ("REGION_RODATA_LOAD", RAM); +REGION_ALIAS ("REGION_DATA", RAM); +REGION_ALIAS ("REGION_DATA_LOAD", RAM); +REGION_ALIAS ("REGION_FAST_TEXT", RAM); +REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM); +REGION_ALIAS ("REGION_FAST_DATA", RAM); +REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM); +REGION_ALIAS ("REGION_BSS", RAM); +REGION_ALIAS ("REGION_WORK", RAM); +REGION_ALIAS ("REGION_STACK", RAM); +REGION_ALIAS ("REGION_NOCACHE", RAM); +REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM); + +bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024; + +bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1M; +bsp_translation_table_base = ORIGIN (RAM_MMU); + +INCLUDE linkcmds.armv4 |