Linker script is no longer generated, but libopencm3 uses the fixed configuration style.
The ccm RAM region leftover from the STM32F4 configuration has been removed. Now, end is correctly calculated by the linker and libc actually works, no longer overwriting global variables.
rules.mk refreshed from libopencm3-template and linker map generation enabled.
Example checks verify return value, prints it out and also returns the result from main(). Actually, _exit() is used to make QEMU return, too.
This can now be run like so:
$ make run-example
# Get out via Ctrl-A X in case QEMU does not return
qemu-system-arm -cpu cortex-m33 -machine musca-b1 -nographic \
-semihosting-config enable=on,target=native -kernel example/example.elf
signature generated, verify returns: 3
make: *** [Makefile:25: run-example] Error 3
(The original finding from #4 has intentionally not been fixed, to show the testing possibility like above. Otherwise, this fixes #4.)
Linker script is no longer generated, but libopencm3 uses the fixed configuration style.
The
ccm
RAM region leftover from the STM32F4 configuration has been removed. Now,end
is correctly calculated by the linker and libc actually works, no longer overwriting global variables.rules.mk refreshed from libopencm3-template and linker map generation enabled.
Example checks verify return value, prints it out and also returns the result from
main()
. Actually,_exit()
is used to make QEMU return, too.This can now be run like so:
(The original finding from #4 has intentionally not been fixed, to show the testing possibility like above. Otherwise, this fixes #4.)