diff options
author | inmarket <andrewh@inmarket.com.au> | 2014-07-15 12:41:40 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2014-07-15 12:41:40 +1000 |
commit | 0e74c164c3eac14f6e99d1a5cc4e0563faeff5d0 (patch) | |
tree | ad1e2e9942db826dfaaf681c8a0cef48a87eabf2 /boards/base/RaspberryPi/example-FreeRTOS/raspberrypi.ld | |
parent | 92d972cfd83b67961dc63d60c5317ec2651eb256 (diff) | |
parent | db4719bd1d3cef2597f1bf443f8d82a27f233eae (diff) | |
download | uGFX-0e74c164c3eac14f6e99d1a5cc4e0563faeff5d0.tar.gz uGFX-0e74c164c3eac14f6e99d1a5cc4e0563faeff5d0.tar.bz2 uGFX-0e74c164c3eac14f6e99d1a5cc4e0563faeff5d0.zip |
Merge branch 'master' into newmouse
Diffstat (limited to 'boards/base/RaspberryPi/example-FreeRTOS/raspberrypi.ld')
-rw-r--r-- | boards/base/RaspberryPi/example-FreeRTOS/raspberrypi.ld | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/boards/base/RaspberryPi/example-FreeRTOS/raspberrypi.ld b/boards/base/RaspberryPi/example-FreeRTOS/raspberrypi.ld new file mode 100644 index 00000000..ece588b5 --- /dev/null +++ b/boards/base/RaspberryPi/example-FreeRTOS/raspberrypi.ld @@ -0,0 +1,70 @@ +/** + * BlueThunder Linker Script for the raspberry Pi! + * + * + * + **/ +MEMORY +{ + RESERVED (r) : ORIGIN = 0x00000000, LENGTH = 32K + INIT_RAM (rwx) : ORIGIN = 0x00008000, LENGTH = 32K + RAM (rwx) : ORIGIN = 0x00010000, LENGTH = 128M +} + +ENTRY(_start) + +SECTIONS { + /* + * Our init section allows us to place the bootstrap code at address 0x8000 + * + * This is where the Graphics processor forces the ARM to start execution. + * However the interrupt vector code remains at 0x0000, and so we must copy the correct + * branch instructions to 0x0000 - 0x001C in order to get the processor to handle interrupts. + * + */ + .init : { + KEEP(*(.init)) + } > INIT_RAM = 0 + + .module_entries : { + __module_entries_start = .; + KEEP(*(.module_entries)) + KEEP(*(.module_entries.*)) + __module_entries_end = .; + __module_entries_size = SIZEOF(.module_entries); + } > INIT_RAM + + + /** + * This is the main code section, it is essentially of unlimited size. (128Mb). + * + **/ + .text : { + *(.text) + } > RAM + + /* + * Next we put the data. + */ + .data : { + *(.data) + } > RAM + + .bss : + { + __bss_start = .; + *(.bss) + *(.bss.*) + __bss_end = .; + } > RAM + + /** + * Place HEAP here??? + **/ + + /** + * Stack starts at the top of the RAM, and moves down! + **/ + _estack = ORIGIN(RAM) + LENGTH(RAM); +} + |