From 47398ccfae7b3b032995a29c0e2b05561f19aa28 Mon Sep 17 00:00:00 2001 From: Adam Greig Date: Tue, 3 Jan 2023 17:47:33 +0000 Subject: [PATCH] cortex-m v0.7.7: add documentation for critical-section-single-core --- CHANGELOG.md | 8 +++++++- Cargo.toml | 2 +- src/lib.rs | 10 ++++++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 39333f78..ca9609ce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [v0.7.7] - 2023-01-03 + +- Add missing documentation for `critical-section-single-core` feature added + in v0.7.6. + ## [v0.7.6] - 2022-08-12 - Added `critical-section-single-core` feature which provides an implementation for the `critical-section` crate for single-core systems, based on disabling all interrupts. (#448) @@ -750,7 +755,8 @@ fn main() { - Functions to get the vector table - Wrappers over miscellaneous instructions like `bkpt` -[Unreleased]: https://github.com/rust-embedded/cortex-m/compare/v0.7.6...HEAD +[Unreleased]: https://github.com/rust-embedded/cortex-m/compare/v0.7.7...HEAD +[v0.7.7]: https://github.com/rust-embedded/cortex-m/compare/v0.7.6...v0.7.7 [v0.7.6]: https://github.com/rust-embedded/cortex-m/compare/v0.7.5...v0.7.6 [v0.7.5]: https://github.com/rust-embedded/cortex-m/compare/v0.7.4...v0.7.5 [v0.7.4]: https://github.com/rust-embedded/cortex-m/compare/v0.7.3...v0.7.4 diff --git a/Cargo.toml b/Cargo.toml index 58af0c89..a79bc3c1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ license = "MIT OR Apache-2.0" name = "cortex-m" readme = "README.md" repository = "https://github.com/rust-embedded/cortex-m" -version = "0.7.6" +version = "0.7.7" edition = "2018" links = "cortex-m" # prevent multiple versions of this crate to be linked together diff --git a/src/lib.rs b/src/lib.rs index 1796b783..044085ed 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -25,6 +25,16 @@ //! The disadvantage is that `inline-asm` requires a Rust version at least 1.59 to use the `asm!()` //! macro. In the future 0.8 and above versions of `cortex-m`, this feature will always be enabled. //! +//! ## `critical-section-single-core` +//! +//! This feature enables a [`critical-section`](https://github.com/rust-embedded/critical-section) +//! implementation suitable for single-core targets, based on disabling interrupts globally. +//! +//! It is **unsound** to enable it on multi-core targets or for code running in unprivileged mode, +//! and may cause functional problems in systems where some interrupts must be not be disabled +//! or critical sections are managed as part of an RTOS. In these cases, you should use +//! a target-specific implementation instead, typically provided by a HAL or RTOS crate. +//! //! ## `cm7-r0p1` //! //! This feature enables workarounds for errata found on Cortex-M7 chips with revision r0p1. Some