projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Get rodata into flash, make sure sections are aligned
[fw/altos]
/
src
/
stm
/
altos-loader.ld
diff --git
a/src/stm/altos-loader.ld
b/src/stm/altos-loader.ld
index 78649be2ca6557b8c4de4afc63b7e676d5a82e2e..5e10e5bade2b4c79f1dc9b404ed800f82e7d57f1 100644
(file)
--- a/
src/stm/altos-loader.ld
+++ b/
src/stm/altos-loader.ld
@@
-16,7
+16,7
@@
*/
MEMORY {
*/
MEMORY {
- rom : ORIGIN = 0x08000000, LENGTH =
8
K
+ rom : ORIGIN = 0x08000000, LENGTH =
4
K
ram : ORIGIN = 0x20000000, LENGTH = 16K
}
ram : ORIGIN = 0x20000000, LENGTH = 16K
}
@@
-32,14
+32,17
@@
SECTIONS {
.text : {
__text_start__ = .;
*(.interrupt) /* Interrupt vectors */
.text : {
__text_start__ = .;
*(.interrupt) /* Interrupt vectors */
- *(.romconfig)
+ *(.romconfig
*
)
*(.text) /* Executable code */
*(.text) /* Executable code */
- *(.rodata) /* Constants */
-
+ . = ALIGN(4);
+ *(.rodata*) /* Constants */
+ . = ALIGN(4);
} > rom
.ARM.exidx : {
} > rom
.ARM.exidx : {
+ . = ALIGN(4);
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
+ . = ALIGN(4);
} > rom
__text_end__ = .;
} > rom
__text_end__ = .;
@@
-56,20
+59,19
@@
SECTIONS {
/* Functions placed in RAM (required for flashing) */
.textram : {
/* Functions placed in RAM (required for flashing) */
.textram : {
- __text_ram_start__ = .;
__data_start__ = .;
__data_start__ = .;
+ __text_ram_start__ = .;
*(.text.ram)
*(.text.ram)
-
. = ALIGN(4)
;
+
__text_ram_end = .
;
} >ram AT>rom
} >ram AT>rom
- __text_ram_end = .;
/* Data -- relocated to RAM, but written to ROM
*/
.data : {
*(.data) /* initialized data */
/* Data -- relocated to RAM, but written to ROM
*/
.data : {
*(.data) /* initialized data */
-
. = ALIGN (4)
;
+
__data_end__ = .
;
} >ram AT>rom
} >ram AT>rom
- __data_end__ = .;
+
.bss : {
__bss_start__ = .;
.bss : {
__bss_start__ = .;