-
Notifications
You must be signed in to change notification settings - Fork 3k
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
KernelInitialize crash on STM32F4 platform on HEAD revision #4532
Comments
KernelInitialize
crash on STM32F4
platform on HEAD
revision
How was this fixed? Is this only for GCC ARM ? I'll run some local test on F4. for instance we havent seen this yet. The latest bugfix was done for lwip on F429 nucleo board, the tests run - all green. I'll run some tests on odin board to confirm. |
From the PR referenced:
It is done in the mbed boot for any non cortex-m0, thus should be done for ours as well. for more details, look at the mbed_boot code file where the bootup sequence is described. SystemInit should not invoke rely or invoke interrupts |
The fix for the vector table initialisation issue for my platform was to edit my
..then, further down in the same file, change:
…to
I'm not sure about other toolchains, will test that. I have also tried an Odin board, which worked for me, so maybe the issue linked above is different and this is just a problem for me. I'd not realised that |
Ref. the vector table copying, agreed that |
Bugger. I think I see the problem. The change I made to |
I believe that VTOR shall be removed completely from the startup ? systeminit should avoid doing any interrupts ? How does this startup sequcen work for instance for F429 ? I checked that Vtor line is not there. |
I'll need to check on F429. I can confirm that if I change
...then the board boots. |
To update the thread, the call that results in an attempt to set an interrupt vector while the interrupt vector tables are still pointed to flash is We can't understand why this is not a problem for other STM32F4 platforms though. Can anyone from STM comment? @LMESTM @bcostm @jeromecoutant @adustm |
@RobMeades @0xc0170 we've also reported issues in booting targets since the merge of #4294 I'haven't run a full check yet of all boards over mbed2 and mbed5, and I'm not sure on which revision I'd be supposed to do so as it requires time to do so and HEAD is moving fast. Basically we need to have everything back at their working stage as was before #4294. |
Description
STM32F4
targetUBLOX_C030_U201
fails to boot. I updated toHEAD
revision ofmbed-os
today (last time was ~4 weeks ago) and now it doesn't get pastKernelInitialize
. I have a feeling this may not be isolated to my platform, this issue may be the same thing and, indeed, it might be true of any STM32F4 platform. I mention this because I'm the only one who has this specific platform at the moment.There was initially an issue with the new
mbed-os
boot pattern trying to write interrupt vectors to flash, which I have fixed, but I'm completely stumped by this subsequent issue.Here are some people who may be interested or may be able to help:
@0xc0170 , @adustm , @bulislaw , @andreaslarssonublox
Target
UBLOX_C030_U201
Toolchain:
GCC_ARM
Toolchain version:
5.2.1
mbed-cli version:
1.1.1
mbed-os sha:
f31ea01
Expected behavior
Platform boots.
Actual behavior
The last thing the platform does before hitting the exception handler is to execute the assembler instruction
svc 0
in the service call toKernelInitialize
inrtx_kernel.c
, see debugger screenshots below.Before:
After:
Steps to reproduce
Build anything for the platform and try to run it.
The text was updated successfully, but these errors were encountered: