diff options
Diffstat (limited to 'flash/bootloader/no_rom.lds')
-rw-r--r-- | flash/bootloader/no_rom.lds | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/flash/bootloader/no_rom.lds b/flash/bootloader/no_rom.lds new file mode 100644 index 0000000000..e65e7fdd3c --- /dev/null +++ b/flash/bootloader/no_rom.lds @@ -0,0 +1,62 @@ +/* This is for the variant without boot ROM, + where the flash ROM is mirrored to address zero */ + +OUTPUT_FORMAT(elf32-sh) +INPUT(bootloader.o) + +MEMORY +{ + IRAM : ORIGIN = 0x0FFFF000, LENGTH = 0x1000 + FLASH : ORIGIN = 0x00000000, LENGTH = 0x40000 +} + +SECTIONS +{ + .vectors : + { + *(.vectors) + . = ALIGN(0x200); + } > FLASH + + .startup : + { + *(.startup) + . = ALIGN(0x4); + _begin_iramcopy = .; + } > FLASH + + .text : AT ( _begin_iramcopy ) + { + _begin_text = .; + *(.text) + . = ALIGN(0x4); + _end_text = .; + } > IRAM + + .data : AT ( _end_text ) + { + _begin_data = .; + *(.data) + . = ALIGN(0x4); + _end_data = .; + } > IRAM + + .bss : AT ( _end_data ) + { + _begin_bss = .; + *(.bss) + . = ALIGN(0x4); + _end_bss = .; + } > IRAM + + .stack : + { + _begin_stack = .; + *(.stack) + . = ALIGN(0x1000); + _end_stack = .; + } > IRAM + + /* size of the program (without vectors) */ + _total_size = SIZEOF(.startup) + SIZEOF(.text) + SIZEOF(.data); +} |