This repository has been archived by the owner on Jan 24, 2022. It is now read-only.
Releases: rust-embedded/cortex-m-rt
Releases · rust-embedded/cortex-m-rt
Release 0.7.1
Fixes
- Fix stack unwinding past
Reset
function (#337)
Release v0.7.0
New Features
- Add support for CMSE secure gateway veneers (#297).
- Allow using the crate with custom target JSON specs (#304).
- Export Exception enum for other crates to use (#224).
Fixes
- Various fixes to the linker script (#265, #286, #287, #323).
- Use the correct ABI for the
main
symbol (#278). - Add barriers after FPU enabling (#279).
- (ARMv6-M) Set LR value to a known value on reset (#293).
- Added CFI and size info to external assembly subroutines (
HardFaultTrampoline
andFpuTrampoline
) (#294). - Allow building the crate for macOS targets (#306, #310).
- Perform RAM initialization in assembly, to avoid potential UB in Rust (#301).
- Perform volatile reads of ICSR in DefaultHandler (#315).
Breaking Changes
- Make
ExceptionFrame
s fields private, adding setters and getters instead (#239). - Only allow certain attributes on handlers, and apply them to the trampoline too (#228).
- Make it unsafe to define exception handlers for NMIs (#289).
- Check that exceptions exist on the target chip when registering a handler for them (#308).
Other
Backport Release v0.6.15
Backport Release v0.6.14
Backport Release v0.6.13
Fixed
- (ARMv6-M) Set LR value to a known value on reset (as the ARM spec requires)
- Added CFI and size info to external assembly subroutines (
HardFaultTrampoline
)
Backport Release v0.6.12
Fixed
- Fixed lint warnings getting emitted on macro-generated code.
Release v0.6.11
Changed
- Macros now generate a second trampoline function instead of randomizing the function's symbol name. This makes the build deterministic.
- [breaking-change]
static mut
resources no longer have'static
lifetime except in the#[entry]
function (this is a soundness fix; see #212).
Release v0.6.10
Fixed
- Linker template now takes and discard
*(.ARM.exidx)
Release v0.6.9
Added
- Input
.uninit.*
sections are now collected into an output.uninit
section. Uninitialized static variables are meant to be placed in these sections. The output.uninit
section is not initialized by the runtime.
Release v0.6.8
Fixed
- Correct stack-pointer is selected on
HardFault
- Linker template now takes and discard
*(.ARM.extab.*)
- Misc. documentation fixes
Changed
- Architecture added:
armv8-m.main
- Cortex-M team added to
authors
- The nightly build is allowed to fail in CI