diff options
Diffstat (limited to 'scripts/romload/sections.lds')
-rw-r--r-- | scripts/romload/sections.lds | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/scripts/romload/sections.lds b/scripts/romload/sections.lds new file mode 100644 index 0000000..ea99ad2 --- /dev/null +++ b/scripts/romload/sections.lds @@ -0,0 +1,47 @@ +/* +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. +*/ + +MEMORY { + rom(rwx) : ORIGIN = 0x00000100, LENGTH = 63k + ram(rwx) : ORIGIN = 0x00020000, LENGTH = 16k +} + +C_STACK_SIZE = 512; + +ENTRY(_pvstart); + +SECTIONS { + .rom : { + _pvstart*(.text); + start*(.text); + . = 0x100; + . = ALIGN(4); + *(.text); + } > rom + + .data : { + _data_lma = LOADADDR(.data); + _data = .; + __global_pointer$ = . ; + *(.data .data.* ) + *(.sdata .sdata.*) + . = ALIGN(4); + _edata = .; + /* } >ram AT>rom */ + /* } >ram */ + + .bss : { + _bss_start = .; + *(.bss .bss.*) + . = ALIGN(4); + _bss_end = .; + _end = .; + } >ram + +} |