Auto merge of #61 - japaric:cm7-r0p1, r=japaric

add a Cargo feature, cm7-r0p1, to fix a Cortex-M7 BASEPRI erratum

closes #53
alternative solution to #54
depends on japaric/cortex-m#72
This commit is contained in:
homunkulus 2018-01-11 15:03:59 +00:00
commit dd12a6a14d
3 changed files with 17 additions and 3 deletions

View file

@ -20,8 +20,7 @@ rtfm-core = { git = "https://github.com/japaric/rtfm-core" }
cortex-m-rtfm-macros = { path = "macros" } cortex-m-rtfm-macros = { path = "macros" }
[target.'cfg(target_arch = "x86_64")'.dev-dependencies] [target.'cfg(target_arch = "x86_64")'.dev-dependencies]
# compiletest_rs = "0.3.4" compiletest_rs = "0.3.5"
compiletest_rs = { git = "https://github.com/dwrensha/compiletest-rs", branch = "rustup" }
[dev-dependencies.cortex-m-rt] [dev-dependencies.cortex-m-rt]
features = ["abort-on-panic"] features = ["abort-on-panic"]
@ -32,5 +31,8 @@ features = ["rt"]
git = "https://github.com/japaric/stm32f103xx" git = "https://github.com/japaric/stm32f103xx"
# version = "0.8.0" # version = "0.8.0"
[features]
cm7-r0p1 = ["cortex-m/cm7-r0p1"]
[profile.release] [profile.release]
lto = true lto = true

View file

@ -7,7 +7,14 @@ main() {
return return
fi fi
xargo build --target $TARGET case $TARGET in
thumbv7em-none-eabi*)
xargo check --target $TARGET --features cm7-r0p1
xargo check --target $TARGET --features cm7-r0p1 --examples
;;
esac
xargo check --target $TARGET
xargo check --target $TARGET --examples xargo check --target $TARGET --examples
} }

View file

@ -50,6 +50,11 @@
//! //!
//! [here]: https://docs.rs/cortex-m-rtfm-macros/0.2.0/cortex_m_rtfm_macros/fn.app.html //! [here]: https://docs.rs/cortex-m-rtfm-macros/0.2.0/cortex_m_rtfm_macros/fn.app.html
//! //!
//! # Important: Cortex-M7 devices
//!
//! If targeting a Cortex-M7 device with revision r0p1 then you MUST enable the `cm7-r0p1` Cargo
//! feature of this crate or the `Resource.claim` and `Resource.claim_mut` methods WILL misbehave.
//!
//! # Examples //! # Examples
//! //!
//! In increasing grade of complexity. See the [examples](./examples/index.html) //! In increasing grade of complexity. See the [examples](./examples/index.html)