Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Non Rtos build fails for ARM compiler #9523
Mbed OS example when built without rtos, fails in init for ARM compiler.
Crash location = __Heap_Initialize
Steps to compile non-rtos version for blinky:
Linker file was updated to have stack config option and later use it to have unified stack size across all targets.
Correct the implementation of
We have alternate implementations for few targets, considering stack and heap as separate regions for Mbed 2 as well.
Issue request type
I was able to reproduce the failure and tried to adapt heap parameters to be consistent with rtos builds:
It looks like heap parameters should be valid, but I'm still getting hard fault:
@deepikabhavnani Do you maybe have some idea?
@mprse - Implementation of __rt_lib_init might be needed as well.
With addition of ARM_LIB_STACK in linker file we are changing the memory model for RTOS-less builds to 2-region memory model. This needs approval from @sg-
@ARMmbed/mbed-os-maintainers - Please note the versions when adding the fix. Currently it will fail for all targets on master, since 8039 and 9092 are merged on master.
#8039 affects K64F and was part of 5.11 release, so local fix for K64F can be part of next patch release.
@deepikabhavnani Thanks for link and experimentation of the problem.
Fix can be found here: #9571
I checked that blinky example(rtos-less build) works with this patch. I also removed redundant files for targets which have already used 2-region memory model (as it is now common). The only difference is that these targets defines also ARM_LIB_HEAP region. I added exception for these targets. Please review if such solution is acceptable.