-
Notifications
You must be signed in to change notification settings - Fork 3k
Interrupt stack size unification + test #9092
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@mprse, thank you for your changes. |
3812c85
to
3b15f6b
Compare
Hi
Please check the failed test (OK in master branch) |
@jeromecoutant Thanks for checking this change. Unfortunately I don't have |
@mprse - Will appreciate if you can split the PR into multiple based on targets (not necessary one per target but group of them). So many files have changed that even drop down button for files selection is not working, its extremely difficult to review. |
@mprse it seems that this test is FAIL for all the targets only with ARM |
3b15f6b
to
233b03f
Compare
I pushed some fixes, but I was not able to test it well today. Tested only on NUCLEO_L476RG. |
1005ede
to
f40bb45
Compare
Few issues have been encountered while analysing the failing test. The first problem was that for the following targets isr/boot stack has been located in
The problem has been fixed, but then I checked heap and stack locations and found another problem:
Isr/boot stack was located inside the heap ( mbed-os/rtos/TARGET_CORTEX/TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c Lines 30 to 75 in 463a453
This PR adds definition of Final results:
Now isr/boot stack is located after heap and isr/boot stack size is 1KB - as expected. @c1728p9 Could you check if above modifications make sense? |
Can I leave one PR and create commit for each vendor? |
That should help and also simplify rebases as targets are changing constantly |
Commit per vendor will help with the review as well. |
Hi @mprse, your modifications make sense. I think you'll need to make the same modifications for GCC. With this change will all targets be setting heap/stack info through their linker script? Once that is the case we should remove the configurable macro values HEAP_START,HEAP_SIZE,ISR_STACK_START,ISR_STACK_SIZE and use the linker symbols directly in the respective toolchain boot file - |
f40bb45
to
1b931dc
Compare
CI started to get early errors. Still needs reviews |
CI started |
Test run: FAILEDSummary: 1 of 11 test jobs failed Failed test jobs:
|
Seems that greentea-test has passed (no failures). |
@ARMmbed/mbed-os-maintainers Any objections for this one landing soon? |
The following commits: ARMmbed#8039, ARMmbed#9092 added Boot/ISR stack definition to all scatter files (ARM_LIB_STACK). This has changed memory model for RTOS-less builds to 2-region memory model and caused failure in case of rtos less builds. This PR defines valid heap/stack regions for rtos-less builds.
The following commits: ARMmbed#8039, ARMmbed#9092 added Boot/ISR stack definition to all scatter files (ARM_LIB_STACK). This has changed memory model for RTOS-less builds to 2-region memory model and caused failure in case of rtos less builds. This PR defines valid heap/stack regions for rtos-less builds.
The following commits: ARMmbed#8039, ARMmbed#9092 added Boot/ISR stack definition to all scatter files (ARM_LIB_STACK). This has changed memory model for RTOS-less builds to 2-region memory model and caused failure in case of rtos less builds. This PR defines valid heap/stack regions for rtos-less builds.
Description
This PR adds test which verifies sizes of: ISR stack, main thread stack, default user thread stack and updates linker scripts for
ARM
,GCC_ARM
andIAR
compilers to unify interrupt/boot stack size using framework provided in PR #8039.Tested on the following boards:
Pull request type