1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
//! Generate i.MX RT boot-time data structures. //! //! # Rationale //! //! i.MX RT processors require certain data structures in order to configure //! FlexSPI and SEMC peripherals. The data structurs must be placed //! in a certain region of memory, with values that describe how a peripheral should //! interact with that memory. The data structures only support certain values, //! and need a particular layout in order to boot the system. //! //! The `imxrt-boot-gen` crate helps you generate data structures to boot i.MX RT processors. //! As of this writing, the API supports //! //! - serial NOR flash //! //! Other configurations, like NAND flash and parallel SEMC, may be added in the future. //! //! # Usage //! //! Add `imxrt-boot-gen` to your dependencies, and select your processor with a feature flag: //! //! ```toml //! [dependencies] //! imxrt-boot-gen = { features = ["imxrt1060"] } //! ``` //! //! The entire API is `const`. You may define your data structures at compile //! time, and assign the values to `static` memory in your embedded program. //! //! See the module-level documentation for more information about the API. //! //! # Features //! //! The crate *requires* a feature selection. Features correlate to i.MX RT processor families. //! The supported features are listed below. //! //! - `"imxrt1010"` //! - `"imxrt1060"` //! - `"imxrt1064"` //! //! ## License //! //! Licensed under either of //! //! - [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0) ([LICENSE-APACHE](./LICENSE-APACHE)) //! - [MIT License](http://opensource.org/licenses/MIT) ([LICENSE-MIT](./LICENSE-MIT)) //! //! at your option. //! //! Unless you explicitly state otherwise, any contribution intentionally submitted //! for inclusion in the work by you, as defined in the Apache-2.0 license, shall be //! dual licensed as above, without any additional terms or conditions. #![cfg_attr(not(test), no_std)] pub mod flexspi; pub mod serial_flash;