Skip to content
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

HardFault handler is completely broken in c-m-rt 0.7.4 #532

Open
thejpster opened this issue May 19, 2024 · 0 comments · May be fixed by #533
Open

HardFault handler is completely broken in c-m-rt 0.7.4 #532

thejpster opened this issue May 19, 2024 · 0 comments · May be fixed by #533

Comments

@thejpster
Copy link
Contributor

cortex-m-rt 0.7.4 changes the exception macro so that hardfaults now have an optional trampoline argument. If the argument isn't given, the exception frame reference isn't passed.

Unfortunately the macro crate wasn't published, and cortex-m-rt has a tight pin on the old version: 0.7.0

This means if you use the exception frame argument, the reference will get a garbage value. This causes a failure inside the hard fault handler, putting the CPU into a lock-up state.

We need to publish the cortex-m-rt-macros crate, yank cortex-m-rt 0.7.4, and publish 0.7.5 with a pin on the new macro crate. And then somehow update the docs / write some tests so that in future it's much more difficult to release cortex-m-rt with the wrong version of the macro crate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant