| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
| |
The .got section contains global variables an offsets. Specifically it
contains the linker script variables. The linker will automatically put
this section .data, which is not what we want because those values will
not be initialized.
So we put the .got section in flash so the value is initialized.
Without this, there is bizarre behavior on some compilers where linker
variables will be undefined.
|
|
|
|
|
|
|
| |
Specifically this moves the inits into the .text section.
This also move the data and bss segments into sram2 to give the heap and
stack more space to work with in sram1.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The linker script was broken because the init_boundaries were
showing the incorrect value. It's fixed now.
Unfortunately there's a bizarre bug where if I add another
klogf() statement in the run_init_routines() function, I lose
_all_ logging. I have no idea what is causing this! The only thing I can
think of in an honsest-to-god complier bug. It probably has to do with
some bizarre-o optimizations GCC is doing. In the time being I had
to shuffle the finishing routines logging to the init() function
directly ... unfortunate.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
I don't yet know how to configure the the initscript to align the
INIT_DATA_VALUES. Nothing seems to work. But whatever, it seems like
things work and it's a very minor performance hit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was the BSS segment was not aligned with size 4,
thus the routine to clear the BSS segment was infinite looping,
clobbering everything in it's wake until it ran off the memory edge and
caused a hard fault.
This commit does a couple of things.
1. Fixes the alignment issue in the linker script
2. Panics if the bss/data segments are not aligned properly
3. Makes the logging the _first_ thing to initialize. Much easier to
debug that way!
|
|
|
|
|
| |
Before this commit, the heap overlapped with the BSS, which predicatbly
broke everything once trying to use the heap.
|
|
|
|
| |
logging is initialized).
|
|
|
|
| |
linker script.
|
|
Removed old iterations of the project and moved the files from 02-usart
to the root directory since that's the sole place where the action is
and that subproject has outgrown its initial title.
|