aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jorge Aparicio <jorge@japaric.io> 2018-05-12 17:53:20 +0200
committerGravatar Jorge Aparicio <jorge@japaric.io> 2018-05-12 17:53:20 +0200
commit09013442e31a44634b44fa92c48f2134bf1388e9 (patch)
tree780583be0fbdcb7bb51189048ba92835dc391534
parentb1c0595ab52156f533f6d45b759a74bd960303a4 (diff)
downloadcortex-m-09013442e31a44634b44fa92c48f2134bf1388e9.tar.gz
cortex-m-09013442e31a44634b44fa92c48f2134bf1388e9.tar.zst
cortex-m-09013442e31a44634b44fa92c48f2134bf1388e9.zip
update the CHANGELOG
-rw-r--r--cortex-m-rt/CHANGELOG.md37
-rw-r--r--cortex-m-rt/link.x.in2
-rw-r--r--cortex-m-rt/src/lib.rs21
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" {