DEPRECATED: This crate is no longer supported, and dependents are instead recommended to implement their r0 using assembly. See cortex-m-rt#300 for details.
Memory initialization code written in Rust.
This crate is for bare metal systems where there is no ELF loader or OS to take care of initializing RAM for the program.
r0 is not meant to be used by user applications directly. Instead, it is most often used by embedded runtime crates, like:
The r0 crate provides similar functionality to crt0 in the C runtime.
This project is developed and maintained by the Cortex-A, Cortex-M, Cortex-R, MSP430, and RISCV teams.
This crate is guaranteed to compile on stable Rust 1.31.0 and up. It might compile with older versions but that may change in any new patch release.
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/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.
Contribution to this crate is organized under the terms of the Rust Code of Conduct, the maintainers of this crate, the Cortex-A, Cortex-M, Cortex-R, MSP430, and RISCV teams, promise to intervene to uphold that code of conduct.