Cortex M Rt Versions Save

Minimal startup / runtime for Cortex-M microcontrollers

v0.6.0

2 years ago

Changed

  • [breaking-change] the entry!, pre_init! and exception! macros have been replaced with attributes: #[entry], #[pre_init] and #[exception], respectively. This also changes the toolchain requirement to 1.30-beta or newer.

v0.6.1

2 years ago

Changed

  • Produce a better error message if two (or more) copies of cortex-m-rt are going to be linked into a binary.

v0.6.2

2 years ago

Fixed

  • Worked around a Cargo limitation that broke builds that depend on rand.
  • Updated the documentation link in the README to point to working docs.

v0.6.3

2 years ago

Fixed

  • Fixed the rand problem for real.

v0.6.4

2 years ago

Changed

  • (macros) Improved the error message when any of the attribute is used on the wrong kind of item.

Fixed

  • (macros) The expansion of the exception attribute now uses the extern "C" ABI which is what the hardware expects.

  • (macros) entry and exception now respect the declared unsafety. That is #[entry] unsafe main() -> ! won't require unsafe blocks to use unsafe API.

v0.6.5

2 years ago

Changed

  • We now keep .stack_sizes by default, for use with external tooling.
  • (macros) New #[interrupt] attribute added, similar to #[exception] for use with device-specific interrupt handlers.

Fixed

  • GDB can now unwind HardFault callstacks

v0.6.6

2 years ago

Changed

  • Misuse of attributes now produce compiler errors with proper spans instead of panicking messages.

  • The HardFault symbol has been renamed to HardFaultTrampoline; likewise the UserHardFault symbol has been renamed to HardFault. If you were using breakpoints on UserHardFault to detect hard fault you should now put those breakpoints on the HardFault symbol.

Fixed

  • Attributes on local static mut variables (declared at the beginning of entry / interrupt / exception) are now respected.

  • The "GDB can now unwind HardFault callstacks" fix from the previous release broke HardFault's' &ExceptionFrame argument (the pointer was off by 8 bytes). This release fixes that problem without compromising GDB's ability to unwind HardFaults.

v0.6.7

2 years ago

Fixed

  • entry / exception / interrupt: #[cfg] attributes used on static mut variables are now properly handled.

v0.6.8

2 years ago

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

v0.6.9

2 years ago

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.