cortex-m
cortex-m copied to clipboard
Low level access to Cortex-M processors
As discussed in #364 we should ideally check whether a DWT feature is supported statically. This is only realistically applicable for cycle count comparisons (but still requires a runtime check)...
Hello, Using the Cargo config as below, ```cargo ... [target.thumbv7m-none-eabi] runner = "qemu-system-arm -cpu cortex-m3 -machine lm3s6965evb -nographic -semihosting-config enable=on,target=native -kernel" [build] target = "thumbv7m-none-eabi" # Cortex-M3 ... ``` I...
A lot of our API is behind `#[cfg]`. Currently, that fact is only sometimes indicated in the documentation, which makes it hard to figure out, but as it turns out...
It seems like the `cortex_m::interrupt::Mutex` type only gives an immutable reference? What's the point of the mutex then? How can I get a mutable reference to the value?
Currently Mutex implementation in cortex-m returns a normal references instead of mutable one. FWIW bare_metal (used by rtic for example) returns mutable reference and is more full-featured (it may be...
`Peripherals::steal()` has a write to a `static mut`: https://github.com/rust-embedded/cortex-m/blob/6b013138b734b9bbeb24a345f75d2bcc1c69fa8d/src/peripheral/mod.rs#L180 I expected it to be zero-cost, just constructing and returning the `Peripherals` which is a noop since it is ZST. This...
# Summary The `cortex-m` crate provides facilities for using peripherals and special instructions on the ARM Cortex-M series. This makes it useful in a wide range of embedded applications. However,...
This is a for-discussion PR that proposes a way of dealing the problem of this crate serving a few too many concerns for the needs of some users as discussed...
In https://github.com/rust-embedded/cortex-m/pull/169, I wanted to add a function `SCB::steal` that unsafely obtains an instance of the `SCB` peripheral. While this API isn't really necessary since `Peripherals::steal().SCB` does the same, it...
Seen in https://github.com/rust-embedded/cortex-m/pull/328, this means that running `cargo xtask assemble` on macOS will produce different archives from what CI expects. Not sure what the cause of this is, or if...