-
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
LPC4088: Fix hardfault occuring after power-cycle #6598
Conversation
Thanks for the description, useful info - could you make it also part of the commit message ? |
Since revision 5499db1 (mbed-os-5.6.0) a hardfault occurs after a power-cycle. It doesn't occur after a reset when the application has been downloaded using drag-and-drop or via debugger. This is probably the reason why this problem isn't detected when testing new mbed releases. The hardfault occured in hal_sleep(). Adding a __NOP after __WFI solves the problem although I don't fully understand why. - Revision ca661f9 is the last revision where the problem doesn't occur. - The problem doesn't occur when compiling with GCC instead of ARM compiler - This issue describes a similar, but not identical problem and led me to test adding a __NOP: ARMmbed#5065
49f5ad1
to
01d06a9
Compare
@0xc0170 I have updated the commit message |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would like to understand the NOP in there
/morph build |
Build : SUCCESSBuild number : 1744 Triggering tests/morph test |
Exporter Build : SUCCESSBuild number : 1378 |
Test : SUCCESSBuild number : 1547 |
/morph mbed2-build |
Description
Since revision 5499db1 (mbed-os-5.6.0) a hardfault occurs after a power-cycle. It doesn't occur after a reset when the application has been downloaded using drag-and-drop or via debugger. This is probably the reason why this problem isn't detected when testing new mbed releases.
The hardfault occured in hal_sleep(). Adding a __NOP after __WFI solves the problem although I don't fully understand why.
Pull request type
[ X] Fix
[ ] Refactor
[ ] New target
[ ] Feature
[ ] Breaking change