From 23acf071a670719336eafd18d33cdd0e0f02775c Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Tue, 26 Oct 2021 01:02:04 -0600 Subject: 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. --- linker/linker_script.ld | 3 +-- 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"); -- cgit