diff options
| author | Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com> | 2005-02-10 22:37:09 +0000 |
|---|---|---|
| committer | Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com> | 2005-02-10 22:37:09 +0000 |
| commit | dd4ea29f015bdcdf3b009f10a9f155eb5f7a93e6 (patch) | |
| tree | e86c3bd8733d29e8e24530c8bb3845748a1a9363 /firmware | |
| parent | 4338f9c88598ef52f1c06572efd1c82f5621998f (diff) | |
| download | rockbox-dd4ea29f015bdcdf3b009f10a9f155eb5f7a93e6.zip rockbox-dd4ea29f015bdcdf3b009f10a9f155eb5f7a93e6.tar.gz rockbox-dd4ea29f015bdcdf3b009f10a9f155eb5f7a93e6.tar.bz2 rockbox-dd4ea29f015bdcdf3b009f10a9f155eb5f7a93e6.tar.xz | |
Linker script for gmini targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5890 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
| -rw-r--r-- | firmware/app.lds | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index cc29392..48ef36c 100644 --- a/firmware/app.lds +++ b/firmware/app.lds @@ -10,6 +10,81 @@ OUTPUT_FORMAT(elf32-sh) #endif INPUT(crt0.o) +#if CONFIG_CPU == TCC730 +MEMORY +{ + FIRMWARE : ORIGIN = LOADADDRESS, LENGTH = 256K + FLASH (RX) : ORIGIN = 0x000000, LENGTH = 1024K + ICMEM (RX) : ORIGIN = 0x3FC000, LENGTH = 32K + IMEM1 : ORIGIN = 0x200000, LENGTH = 32K + IMEM2 : ORIGIN = 0x210000, LENGTH = 32K + IMEM3 : ORIGIN = 0x220000, LENGTH = 16K + IMEM4 : ORIGIN = 0x230000, LENGTH = 16K + + DRAM : ORIGIN = 0x000000, LENGTH = 0x3F0000 +} + +SECTIONS +{ +.text LOADADDRESS : { + *(.init.text) + *(.text) + *(.icode) /* We don't put it in ICMEM coz crt1 uses LCD (now)*/ + }> FLASH AT> FIRMWARE + +.icode 0x3FC040: { + *(.vectors) + }> ICMEM AT> FIRMWARE + + +.data 0x2000: { + *(.data) + . = ALIGN(2); + *(.rodata) + . = ALIGN(2); + *(.rodata.str1.2) + . = ALIGN(2); + }> DRAM AT> FIRMWARE + +.bss ALIGN(2) : { + *(.bss) + . = ALIGN(2); + }> DRAM + +.stack ALIGN(2) : { + . = . + 0x2000; +}> DRAM + +.idata 0x200000: { + *(.idata) +}> DRAM + + +_codesize = SIZEOF(.text); + +_icodecopy = LOADADDR(.icode); +_icodestart = ADDR(.icode); +_icodesize = SIZEOF(.icode); + +_datacopy = LOADADDR(.data); +_datastart = ADDR(.data); +_datasize = SIZEOF(.data); + + +_bssstart = ADDR(.bss); +_bsssize = (SIZEOF(.bss) + 1) & ~ 1; + +_stackbegin = ADDR(.stack); +_stackend = ADDR(.stack) + SIZEOF(.stack); + +_idatastart = ADDR(.idata); + +} + +#else + + + #define PLUGINSIZE 0x8000 #ifdef DEBUG @@ -123,3 +198,5 @@ SECTIONS pluginbuf = .; } } + +#endif |