aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2021-10-26 01:02:04 -0600
committerJosh Rahm <joshuarahm@gmail.com>2021-10-26 01:02:04 -0600
commit23acf071a670719336eafd18d33cdd0e0f02775c (patch)
tree418dc8ac39e3a6ab4e3d6923f471a457791a65a2
parent4507bff773fd4cc540c91c6c3696ac3cf9a21b3c (diff)
downloadstm32l4-23acf071a670719336eafd18d33cdd0e0f02775c.tar.gz
stm32l4-23acf071a670719336eafd18d33cdd0e0f02775c.tar.bz2
stm32l4-23acf071a670719336eafd18d33cdd0e0f02775c.zip
I figured out how to align the data section.
I tried this before, I swear and it didn't work. Not sure what I did to make it work this time. I guess that goat I sacrificed appeased the right gods.
-rw-r--r--linker/linker_script.ld3
-rw-r--r--src/kern/init.c6
2 files changed, 4 insertions, 5 deletions
diff --git a/linker/linker_script.ld b/linker/linker_script.ld
index 83dcca0..0338591 100644
--- a/linker/linker_script.ld
+++ b/linker/linker_script.ld
@@ -14,8 +14,7 @@ SECTIONS
*(.text); /* All .text sections go here. */
} >flash
- .data : {
- . = ALIGN(0x04);
+ .data : ALIGN(0x04) {
/* Data segment as defined in the flash. */
INIT_DATA_VALUES = LOADADDR(.data);
diff --git a/src/kern/init.c b/src/kern/init.c
index b156dd7..288e851 100644
--- a/src/kern/init.c
+++ b/src/kern/init.c
@@ -52,9 +52,9 @@ init2()
panic(".data segment not aligned with sizeof(uint32_t)!\n");
}
- // if (init_data_values_ptr & 3) {
- // panic("init data values pointer not aligned with sizeof(uint32_t)!\n");
- // }
+ if (init_data_values_ptr & 3) {
+ panic("init data values pointer not aligned with sizeof(uint32_t)!\n");
+ }
klogf("Copy data segments from flash ... \n");