diff options
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx/startup')
8 files changed, 233 insertions, 200 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds index 165c9bca22..cab8310661 100644 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds @@ -1,34 +1,3 @@ -/** - * @file - * - * LPC2478 (QVGA Base Board from Embedded Artists). - */ - -/* - * WARNING: This is likely not what you want. You need Binutils with the - * REGION_ALIAS feature and the version in the comment below. This is only to - * provide linkable tests. - */ - -MEMORY { - REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000 - REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000 - REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000 - REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000 - REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000 - REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000 - REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000 - REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000 - REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000 - REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000 - REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000 - REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000 - REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000 - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -/* - MEMORY { RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M @@ -44,11 +13,9 @@ REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT); REGION_ALIAS ("REGION_DATA", RAM_EXT); REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT); REGION_ALIAS ("REGION_FAST", RAM_INT); -REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT); +REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT); REGION_ALIAS ("REGION_BSS", RAM_EXT); REGION_ALIAS ("REGION_WORK", RAM_EXT); REGION_ALIAS ("REGION_STACK", RAM_INT); -*/ - INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478 b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478 deleted file mode 100644 index 568c29ecb5..0000000000 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478 +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @file - * - * LPC2478 (QVGA Base Board from Embedded Artists). - */ - -/* - * WARNING: This is likely not what you want. You need Binutils with the - * REGION_ALIAS feature and the version in the comment below. This is only to - * provide linkable tests. - */ - -MEMORY { - REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000 - REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000 - REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000 - REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000 - REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000 - REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000 - REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000 - REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000 - REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000 - REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000 - REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000 - REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000 - REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000 - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -/* - -MEMORY { - RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k - RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M - ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -REGION_ALIAS ("REGION_START", RAM_EXT); -REGION_ALIAS ("REGION_VECTOR", RAM_INT); -REGION_ALIAS ("REGION_TEXT", RAM_EXT); -REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT); -REGION_ALIAS ("REGION_RODATA", RAM_EXT); -REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT); -REGION_ALIAS ("REGION_DATA", RAM_EXT); -REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT); -REGION_ALIAS ("REGION_FAST", RAM_INT); -REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT); -REGION_ALIAS ("REGION_BSS", RAM_EXT); -REGION_ALIAS ("REGION_WORK", RAM_EXT); -REGION_ALIAS ("REGION_STACK", RAM_INT); - -*/ - -INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478_ncs b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478_ncs deleted file mode 100644 index 41b7a3c41f..0000000000 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478_ncs +++ /dev/null @@ -1,56 +0,0 @@ -/** - * @file - * - * LPC2478 (NCS, bootloader configuration). - */ - -/* - * WARNING: This is likely not what you want. You need Binutils with the - * REGION_ALIAS feature and the version in the comment below. This is only to - * provide linkable tests. - */ - -MEMORY { - REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000 - REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000 - REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000 - REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000 - REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000 - REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000 - REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000 - REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000 - REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000 - REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000 - REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000 - REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000 - REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000 - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -/* - -MEMORY { - RAM_VEC (AIW) : ORIGIN = 0x40000000, LENGTH = 32k - RAM_INT (AIW) : ORIGIN = 0x40008000, LENGTH = 32k - RAM_EXT (AIW) : ORIGIN = 0xa0c00000, LENGTH = 4M - ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -REGION_ALIAS ("REGION_START", ROM_INT); -REGION_ALIAS ("REGION_VECTOR", RAM_VEC); -REGION_ALIAS ("REGION_TEXT", ROM_INT); -REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT); -REGION_ALIAS ("REGION_RODATA", ROM_INT); -REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT); -REGION_ALIAS ("REGION_DATA", RAM_EXT); -REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT); -REGION_ALIAS ("REGION_FAST", RAM_INT); -REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT); -REGION_ALIAS ("REGION_BSS", RAM_EXT); -REGION_ALIAS ("REGION_WORK", RAM_EXT); -REGION_ALIAS ("REGION_STACK", RAM_INT); - -*/ - -INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478_ncs_ram b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478_ncs_ram deleted file mode 100644 index 31351b23d4..0000000000 --- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2478_ncs_ram +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @file - * - * LPC2478 (NCS, code and data in external RAM). - */ - -/* - * WARNING: This is likely not what you want. You need Binutils with the - * REGION_ALIAS feature and the version in the comment below. This is only to - * provide linkable tests. - */ - -MEMORY { - REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000 - REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000 - REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000 - REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000 - REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000 - REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000 - REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000 - REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000 - REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000 - REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000 - REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000 - REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000 - REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000 - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -/* - -MEMORY { - RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k - RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 16M - ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k - NIRVANA : ORIGIN = 0, LENGTH = 0 -} - -REGION_ALIAS ("REGION_START", RAM_EXT); -REGION_ALIAS ("REGION_VECTOR", RAM_INT); -REGION_ALIAS ("REGION_TEXT", RAM_EXT); -REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT); -REGION_ALIAS ("REGION_RODATA", RAM_EXT); -REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT); -REGION_ALIAS ("REGION_DATA", RAM_EXT); -REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT); -REGION_ALIAS ("REGION_FAST", RAM_INT); -REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT); -REGION_ALIAS ("REGION_BSS", RAM_EXT); -REGION_ALIAS ("REGION_WORK", RAM_EXT); -REGION_ALIAS ("REGION_STACK", RAM_INT); - -*/ - -INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea new file mode 100644 index 0000000000..ca6b52a4fe --- /dev/null +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea @@ -0,0 +1,56 @@ +/** + * @file + * + * @ingroup lpc24xx_linker_ea + * + * @brief Memory map. + */ + +/** + * @defgroup lpc24xx_linker_ea QVGA Base Board Memory Map + * + * @ingroup bsp_linker + * + * @brief QVGA Base Board from Embedded Artists (LPC2478) memory map. + * + * <table> + * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr> + * <tr><td>RAM_INT</td><td>0x40000000</td><td>64k</td></tr> + * <tr><td>RAM_EXT</td><td>0xa0000000</td><td>32M</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_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.vector</td><td>RAM_INT</td><td></td></tr> + * <tr><td>.text</td><td>RAM_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.rodata</td><td>RAM_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.data</td><td>RAM_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.fast</td><td>RAM_INT</td><td>RAM_EXT</td></tr> + * <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.work</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.stack</td><td>RAM_INT</td><td></td></tr> + * </table> + */ + +MEMORY { + RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k + RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M + NIRVANA : ORIGIN = 0, LENGTH = 0 +} + +REGION_ALIAS ("REGION_START", RAM_EXT); +REGION_ALIAS ("REGION_VECTOR", RAM_INT); +REGION_ALIAS ("REGION_TEXT", RAM_EXT); +REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_RODATA", RAM_EXT); +REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_DATA", RAM_EXT); +REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_FAST", RAM_INT); +REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_BSS", RAM_EXT); +REGION_ALIAS ("REGION_WORK", RAM_EXT); +REGION_ALIAS ("REGION_STACK", RAM_INT); + +INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram new file mode 100644 index 0000000000..5322c7a725 --- /dev/null +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram @@ -0,0 +1,56 @@ +/** + * @file + * + * @ingroup lpc24xx_linker_ncs_ram + * + * @brief Memory map. + */ + +/** + * @defgroup lpc24xx_linker_ncs_ram NCS Application Memory Map + * + * @ingroup bsp_linker + * + * @brief NCS application memory map. + * + * <table> + * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr> + * <tr><td>RAM_INT</td><td>0x40000000</td><td>64k</td></tr> + * <tr><td>RAM_EXT</td><td>0xa0000000</td><td>8M</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_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.vector</td><td>RAM_INT</td><td></td></tr> + * <tr><td>.text</td><td>RAM_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.rodata</td><td>RAM_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.data</td><td>RAM_EXT</td><td>RAM_EXT</td></tr> + * <tr><td>.fast</td><td>RAM_INT</td><td>RAM_EXT</td></tr> + * <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.work</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.stack</td><td>RAM_INT</td><td></td></tr> + * </table> + */ + +MEMORY { + RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k + RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 8M + NIRVANA : ORIGIN = 0, LENGTH = 0 +} + +REGION_ALIAS ("REGION_START", RAM_EXT); +REGION_ALIAS ("REGION_VECTOR", RAM_INT); +REGION_ALIAS ("REGION_TEXT", RAM_EXT); +REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_RODATA", RAM_EXT); +REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_DATA", RAM_EXT); +REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_FAST", RAM_INT); +REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT); +REGION_ALIAS ("REGION_BSS", RAM_EXT); +REGION_ALIAS ("REGION_WORK", RAM_EXT); +REGION_ALIAS ("REGION_STACK", RAM_INT); + +INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext new file mode 100644 index 0000000000..f4518090d4 --- /dev/null +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext @@ -0,0 +1,60 @@ +/** + * @file + * + * @ingroup lpc24xx_linker_ncs_rom_ext + * + * @brief Memory map. + */ + +/** + * @defgroup lpc24xx_linker_ncs_rom_ext NCS Bootloader (LPC2470) Memory Map + * + * @ingroup bsp_linker + * + * @brief NCS bootloader (LPC2470) memory map. + * + * <table> + * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr> + * <tr><td>RAM_INT</td><td>0x40000000</td><td>64k</td></tr> + * <tr><td>RAM_EXT</td><td>0xa0400000</td><td>4M</td></tr> + * <tr><td>ROM_BOOT</td><td>0x81000000</td><td>16k</td></tr> + * <tr><td>ROM_EXT</td><td>0x81010000</td><td>2M - 64k</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>ROM_BOOT</td><td>ROM_BOOT</td></tr> + * <tr><td>.vector</td><td>RAM_INT</td><td></td></tr> + * <tr><td>.text</td><td>RAM_EXT</td><td>ROM_EXT</td></tr> + * <tr><td>.rodata</td><td>RAM_EXT</td><td>ROM_EXT</td></tr> + * <tr><td>.data</td><td>RAM_EXT</td><td>ROM_EXT</td></tr> + * <tr><td>.fast</td><td>RAM_INT</td><td>ROM_BOOT</td></tr> + * <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.work</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.stack</td><td>RAM_INT</td><td></td></tr> + * </table> + */ + +MEMORY { + RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k + RAM_EXT (AIW) : ORIGIN = 0xa0400000, LENGTH = 4M + ROM_BOOT (RX) : ORIGIN = 0x81000000, LENGTH = 16k + ROM_EXT (RX) : ORIGIN = 0x81010000, LENGTH = 2M - 64k + NIRVANA : ORIGIN = 0, LENGTH = 0 +} + +REGION_ALIAS ("REGION_START", ROM_BOOT); +REGION_ALIAS ("REGION_VECTOR", RAM_INT); +REGION_ALIAS ("REGION_TEXT", RAM_EXT); +REGION_ALIAS ("REGION_TEXT_LOAD", ROM_EXT); +REGION_ALIAS ("REGION_RODATA", RAM_EXT); +REGION_ALIAS ("REGION_RODATA_LOAD", ROM_EXT); +REGION_ALIAS ("REGION_DATA", RAM_EXT); +REGION_ALIAS ("REGION_DATA_LOAD", ROM_EXT); +REGION_ALIAS ("REGION_FAST", RAM_INT); +REGION_ALIAS ("REGION_FAST_LOAD", ROM_BOOT); +REGION_ALIAS ("REGION_BSS", RAM_EXT); +REGION_ALIAS ("REGION_WORK", RAM_EXT); +REGION_ALIAS ("REGION_STACK", RAM_INT); + +INCLUDE linkcmds.base diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int new file mode 100644 index 0000000000..a46145d333 --- /dev/null +++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int @@ -0,0 +1,60 @@ +/** + * @file + * + * @ingroup lpc24xx_linker_ncs_rom_int + * + * @brief Memory map. + */ + +/** + * @defgroup lpc24xx_linker_ncs_rom_int NCS Bootloader (LPC2478) Memory Map + * + * @ingroup bsp_linker + * + * @brief NCS bootloader (LPC2478) memory map. + * + * <table> + * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr> + * <tr><td>RAM_VEC</td><td>0x40000000</td><td>32k</td></tr> + * <tr><td>RAM_INT</td><td>0x40008000</td><td>32k</td></tr> + * <tr><td>RAM_EXT</td><td>0xa0400000</td><td>4M</td></tr> + * <tr><td>ROM_INT</td><td>0x00000000</td><td>512k - 8k</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>ROM_INT</td><td>ROM_INT</td></tr> + * <tr><td>.vector</td><td>RAM_VEC</td><td></td></tr> + * <tr><td>.text</td><td>ROM_INT</td><td>ROM_INT</td></tr> + * <tr><td>.rodata</td><td>ROM_INT</td><td>ROM_INT</td></tr> + * <tr><td>.data</td><td>RAM_EXT</td><td>ROM_INT</td></tr> + * <tr><td>.fast</td><td>RAM_INT</td><td>ROM_INT</td></tr> + * <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.work</td><td>RAM_EXT</td><td></td></tr> + * <tr><td>.stack</td><td>RAM_INT</td><td></td></tr> + */ + + +MEMORY { + RAM_VEC (AIW) : ORIGIN = 0x40000000, LENGTH = 32k + RAM_INT (AIW) : ORIGIN = 0x40008000, LENGTH = 32k + RAM_EXT (AIW) : ORIGIN = 0xa0400000, LENGTH = 4M + ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k + NIRVANA : ORIGIN = 0, LENGTH = 0 +} + +REGION_ALIAS ("REGION_START", ROM_INT); +REGION_ALIAS ("REGION_VECTOR", RAM_VEC); +REGION_ALIAS ("REGION_TEXT", ROM_INT); +REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT); +REGION_ALIAS ("REGION_RODATA", ROM_INT); +REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT); +REGION_ALIAS ("REGION_DATA", RAM_EXT); +REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT); +REGION_ALIAS ("REGION_FAST", RAM_INT); +REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT); +REGION_ALIAS ("REGION_BSS", RAM_EXT); +REGION_ALIAS ("REGION_WORK", RAM_EXT); +REGION_ALIAS ("REGION_STACK", RAM_INT); + +INCLUDE linkcmds.base |