Cortex M Rt Versions Save

Minimal startup / runtime for Cortex-M microcontrollers

v0.6.10

2 years ago

Fixed

  • Linker template now takes and discard *(.ARM.exidx)

v0.6.11

2 years ago

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).

v0.6.12

2 years ago

Fixed

  • Fixed lint warnings getting emitted on macro-generated code.

v0.6.13

2 years ago

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)

v0.6.14

2 years ago

Fixed

  • Backport: Allow building the crate for macOS targets (#306, #310).

v0.6.15

2 years ago

Fixed

  • Backport: Mark .bss as NOLOAD (#265)
  • Backport: Fix possible overflow of .data region (#286)
  • Backport: Perform volatile reads of ICSR in DefaultHandler (#315)

Other

  • Backport: Use links in Cargo.toml to prevent multiple linking of cortex-m-rt (#276)
  • Backport: Use same verison for macros crate as for cortex-m-rt itself (#245)

v0.7.0

2 years ago

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 and FpuTrampoline) (#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 ExceptionFrames 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

  • Change macros crate to use same version number as cortex-m-rt crate (#245).
  • Discourage use of pre_init in documentation (#248).
  • Backport: Use links in Cargo.toml to prevent multiple linking of cortex-m-rt (#276).

v0.7.1

2 years ago

Fixes

  • Fix stack unwinding past Reset function (#337)