diff options
author | 2018-05-12 17:53:20 +0200 | |
---|---|---|
committer | 2018-05-12 17:53:20 +0200 | |
commit | 09013442e31a44634b44fa92c48f2134bf1388e9 (patch) | |
tree | 780583be0fbdcb7bb51189048ba92835dc391534 | |
parent | b1c0595ab52156f533f6d45b759a74bd960303a4 (diff) | |
download | cortex-m-09013442e31a44634b44fa92c48f2134bf1388e9.tar.gz cortex-m-09013442e31a44634b44fa92c48f2134bf1388e9.tar.zst cortex-m-09013442e31a44634b44fa92c48f2134bf1388e9.zip |
update the CHANGELOG
-rw-r--r-- | cortex-m-rt/CHANGELOG.md | 37 | ||||
-rw-r--r-- | cortex-m-rt/link.x.in | 2 | ||||
-rw-r--r-- | cortex-m-rt/src/lib.rs | 21 |
3 files changed, 51 insertions, 9 deletions
diff --git a/cortex-m-rt/CHANGELOG.md b/cortex-m-rt/CHANGELOG.md index 3dbed87..dc07408 100644 --- a/cortex-m-rt/CHANGELOG.md +++ b/cortex-m-rt/CHANGELOG.md @@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased] +## [v0.5.0] - 2018-05-12 + +### Added + +- An `entry!` macro to set the entry point of the program. + +- A `heap_start` function that returns a pointer into the start of the heap region. + +- A `device` feature. When disabled this crate provides the interrupt vectors; when enabled the + interrupt vectors are expected to be provided by another crate. Read the documentation for + details. + +### Changed + +- This crate now compiles on the beta and stable channels. + +- [breaking-change] this crate now requires `arm-none-eabi-gcc` to be installed and available in + `$PATH` to compile. + +- [breaking-change] the `start` lang item has been removed. The standard `main` interface won't + work. Instead use `#![no_main]` and the `entry!` macro. See documentation for details. + +- [breaking-change] the `default_handler!` macro has been merged into the `exception!` macro. Use + `exception!(*, ..)` to set the default exception handler. + +- [breaking-change] there's no weak default handler so a default handler must be defined by the + application, or one of its dependencies. + +- [breaking-change] the syntax of the third argument of the `exception!` handler has changed. See + the documentation of the macro for details. + +- [breaking-change] the exception names that the `exception!` macro accepts has changed to match the + CMSIS specification. See the documentation of the macro for the list of names it accepts. + +- [breaking-change] The number of symbol interfaces has been reduced. Check the advanced section of + the documentation for details. + ## [v0.4.0] - 2018-04-09 ### Added diff --git a/cortex-m-rt/link.x.in b/cortex-m-rt/link.x.in index 3f91693..9b99427 100644 --- a/cortex-m-rt/link.x.in +++ b/cortex-m-rt/link.x.in @@ -183,7 +183,7 @@ cortex-m-rt: The '.text' section can't be placed inside the '.vector_table' sect '_stext' to an address greater than '__einterrupts' (cf. `nm` output)"); ASSERT(_stext < ORIGIN(FLASH) + LENGTH(FLASH), " -cortex-m-rt The '.text' section must be placed inside the FLASH memory.Set '_stext' to an +cortex-m-rt The '.text' section must be placed inside the FLASH memory. Set '_stext' to an address smaller than 'ORIGIN(FLASH) + LENGTH(FLASH)"); /* This has been temporarily omitted because it's not supported by LLD */ diff --git a/cortex-m-rt/src/lib.rs b/cortex-m-rt/src/lib.rs index f800a86..eaefbbc 100644 --- a/cortex-m-rt/src/lib.rs +++ b/cortex-m-rt/src/lib.rs @@ -18,12 +18,18 @@ //! //! [`exception!`]: macro.exception.html //! -//! # `memory.x` +//! # Requirements +//! +//! ## `arm-none-eabi-gcc` +//! +//! This crate requires `arm-none-eabi-gcc` to be installed and available in `$PATH`. +//! +//! ## `memory.x` //! //! This crate expects the user, or some other crate, to provide the memory layout of the target //! device via a linker script named `memory.x`. This section covers the contents of `memory.x` //! -//! ## `MEMORY` +//! ### `MEMORY` //! //! The linker script must specify the memory available in the device as, at least, two `MEMORY` //! regions: one named `FLASH` and one named `RAM`. The `.text` and `.rodata` sections of the @@ -39,7 +45,7 @@ //! } //! ``` //! -//! ## `_stack_start` +//! ### `_stack_start` //! //! This optional symbol can be used to indicate where the call stack of the program should be //! placed. If this symbol is not used then the stack will be placed at the *end* of the `RAM` @@ -62,7 +68,7 @@ //! _stack_start = ORIGIN(CCRAM) + LENGTH(CCRAM); //! ``` //! -//! ## `_stext` +//! ### `_stext` //! //! This optional symbol can be used to control where the `.text` section is placed. If omitted the //! `.text` section will be placed right after the vector table, which is placed at the beginning of @@ -80,7 +86,7 @@ //! _stext = ORIGIN(FLASH) + 0x40C //! ``` //! -//! # Example +//! # An example //! //! This section presents a minimal application built on top of `cortex-m-rt`. Apart from the //! mandatory `memory.x` linker script describing the memory layout of the device, the hard fault @@ -436,10 +442,9 @@ impl fmt::Debug for ExceptionFrame { } } -/// Returns a pointer into which the heap can be placed +/// Returns a pointer to the start of the heap /// -/// The start of the heap is guaranteed to be 4-byte aligned; that is the pointer returned by this -/// function is a multiple of 4. +/// The returned pointer is guaranteed to be 4-byte aligned. #[inline] pub fn heap_start() -> *mut u32 { extern "C" { |