diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/examples/_6_safe_static_mut_ref.rs | 36 | ||||
-rw-r--r-- | src/examples/_7_generics.rs (renamed from src/examples/_6_generics.rs) | 0 | ||||
-rw-r--r-- | src/examples/_8_full_syntax.rs (renamed from src/examples/_7_full_syntax.rs) | 0 | ||||
-rw-r--r-- | src/examples/mod.rs | 5 | ||||
-rw-r--r-- | src/lib.rs | 8 |
5 files changed, 43 insertions, 6 deletions
diff --git a/src/examples/_6_safe_static_mut_ref.rs b/src/examples/_6_safe_static_mut_ref.rs new file mode 100644 index 00000000..32eb3d98 --- /dev/null +++ b/src/examples/_6_safe_static_mut_ref.rs @@ -0,0 +1,36 @@ +//! Safe creation of `&'static mut` references +//! +//! ``` +//! #![deny(unsafe_code)] +//! #![deny(warnings)] +//! #![feature(proc_macro)] +//! #![no_std] +//! +//! extern crate cortex_m_rtfm as rtfm; +//! extern crate stm32f103xx; +//! +//! use rtfm::app; +//! +//! app! { +//! device: stm32f103xx, +//! +//! resources: { +//! static BUFFER: [u8; 16] = [0; 16]; +//! }, +//! +//! init: { +//! resources: [BUFFER], +//! }, +//! } +//! +//! fn init(_p: init::Peripherals, r: init::Resources) { +//! let _buf: &'static mut [u8; 16] = r.BUFFER; +//! } +//! +//! fn idle() -> ! { +//! loop { +//! rtfm::wfi(); +//! } +//! } +//! ``` +// Auto-generated. Do not modify. diff --git a/src/examples/_6_generics.rs b/src/examples/_7_generics.rs index 22bb777a..22bb777a 100644 --- a/src/examples/_6_generics.rs +++ b/src/examples/_7_generics.rs diff --git a/src/examples/_7_full_syntax.rs b/src/examples/_8_full_syntax.rs index f8db4087..f8db4087 100644 --- a/src/examples/_7_full_syntax.rs +++ b/src/examples/_8_full_syntax.rs diff --git a/src/examples/mod.rs b/src/examples/mod.rs index 53e74ed1..64d1e2ec 100644 --- a/src/examples/mod.rs +++ b/src/examples/mod.rs @@ -6,5 +6,6 @@ pub mod _2_two_tasks; pub mod _3_preemption; pub mod _4_nested; pub mod _5_late_resources; -pub mod _6_generics; -pub mod _7_full_syntax; +pub mod _6_safe_static_mut_ref; +pub mod _7_generics; +pub mod _8_full_syntax; @@ -37,18 +37,18 @@ //! # Dependencies //! //! The application crate must depend on a device crate generated using -//! [`svd2rust`] v0.11.x and the "rt" feature of that crate must be enabled. The +//! [`svd2rust`] v0.12.x and the "rt" feature of that crate must be enabled. The //! SVD file used to generate the device crate *must* contain [`<cpu>`] //! information. //! -//! [`svd2rust`]: https://docs.rs/svd2rust/0..0/svd2rust/ +//! [`svd2rust`]: https://docs.rs/svd2rust/0.12.0/svd2rust/ //! [`<cpu>`]: https://www.keil.com/pack/doc/CMSIS/SVD/html/elem_cpu.html //! //! # `app!` //! //! The `app!` macro is documented [here]. //! -//! [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.1/cortex_m_rtfm_macros/fn.app.html //! //! # Important: Cortex-M7 devices //! @@ -90,13 +90,13 @@ extern crate untagged_option; use core::{mem, u8}; pub use cortex_m::asm::{bkpt, wfi}; -pub use cortex_m::peripheral::NVIC; pub use cortex_m_rtfm_macros::app; pub use rtfm_core::{Resource, Threshold}; #[doc(hidden)] pub use untagged_option::UntaggedOption; use cortex_m::interrupt::{self, Nr}; +use cortex_m::peripheral::NVIC; #[cfg(not(armv6m))] use cortex_m::register::basepri; |