diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2021-10-26 01:02:04 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2021-10-26 01:02:04 -0600 |
commit | 23acf071a670719336eafd18d33cdd0e0f02775c (patch) | |
tree | 418dc8ac39e3a6ab4e3d6923f471a457791a65a2 | |
parent | 4507bff773fd4cc540c91c6c3696ac3cf9a21b3c (diff) | |
download | stm32l4-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.ld | 3 | ||||
-rw-r--r-- | src/kern/init.c | 6 |
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"); |