cortex-m
cortex-m copied to clipboard
Low level access to Cortex-M processors
Correct me if I've gotten anything wrong—I'm not a general Cortex-M expert—but as I understand it, MPU regions must be 32-byte aligned. The linker script in `cortex-m-rt` uses 32-byte alignment...
Arm now have a walkthrough for setting up an Arm Virtual Hardware as an EC2 instance, and connecting to that from GitHub Actions. https://catalog.us-east-1.prod.workshops.aws/workshops/30043722-0362-4859-bc6f-c28836a2d7ac/en-US Sounds like perhaps a better place...
I am using an STM32F411 and I want to do place my stm32in dfu mode by software. I am trying to do it by using asm::bootload ( *correct system memory...
In order to allow for a user provided HardFault handler to modify the exception frame (e.g. to return to a different PC) the signature for the function to be used...
The [`HardFault` trampoline](https://github.com/rust-embedded/cortex-m/blob/ac2a8365721b453f005feb7fe1fb25615f76af7c/cortex-m-rt/src/lib.rs#L446-L469) overwrites the `EXC_RETURN` magic values when it writes to the `lr` register. Currently, the `probe-rs` debugger relies on those magic values during stack unwinding, to identify exception...
Fixes #532.
The [stm32f4xx-hal](https://github.com/stm32-rs/stm32f4xx-hal) has a neat module for using the DWT for tracing/profiling (https://github.com/stm32-rs/stm32f4xx-hal/blob/master/src/dwt.rs). Given that the DWT is a Cortex-M feature, I was wondering if it makes sense to move...
If you use `link_section` to put a singleton in an uninit section, the "has been taken" boolean is also in uninit memory at startup. We read this value which is...
```rust #![warn(unsafe_op_in_unsafe_fn)] #[entry] fn main() -> ! { // The next line generates a warning while it shouldn't. static mut CLOCKS: MaybeUninit = MaybeUninit::new(); // ... } ``` I see...
Without that link_section, I get the following error when using a HardFault handler with trampoline enabled: ``` error: linking with `rust-lld` failed: exit status: 1 | = note: LC_ALL="C" PATH="/home/jan/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/jan/bin:/home/jan/.local/bin:/home/jan/.cargo/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games"...