Build stm32 and stm32-examples in test script.
Panic handler was missing, I had to add exaple_common.rs like in the nrf examples.
This commit is contained in:
parent
0204d4e812
commit
24d6b9ed6c
@ -31,9 +31,3 @@ stm32f4xx-hal = { version = "0.8.3", features = ["rt", "stm32f405"], git = "htt
|
|||||||
futures = { version = "0.3.8", default-features = false, features = ["async-await"] }
|
futures = { version = "0.3.8", default-features = false, features = ["async-await"] }
|
||||||
cortex-m-rtic = "0.5"
|
cortex-m-rtic = "0.5"
|
||||||
rtt-target = { version = "0.3", features = ["cortex-m"] }
|
rtt-target = { version = "0.3", features = ["cortex-m"] }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[[bin]]
|
|
||||||
name = "serial"
|
|
||||||
path = "src/serial.rs"
|
|
@ -3,7 +3,9 @@
|
|||||||
#![feature(trait_alias)]
|
#![feature(trait_alias)]
|
||||||
#![feature(type_alias_impl_trait)]
|
#![feature(type_alias_impl_trait)]
|
||||||
|
|
||||||
// extern crate panic_halt;
|
#[path = "../example_common.rs"]
|
||||||
|
mod example_common;
|
||||||
|
use example_common::{panic, *};
|
||||||
|
|
||||||
use cortex_m::singleton;
|
use cortex_m::singleton;
|
||||||
use cortex_m_rt::entry;
|
use cortex_m_rt::entry;
|
||||||
@ -45,7 +47,7 @@ async fn run(dp: stm32::Peripherals, cp: cortex_m::Peripherals) {
|
|||||||
let buf = singleton!(: [u8; 30] = [0; 30]).unwrap();
|
let buf = singleton!(: [u8; 30] = [0; 30]).unwrap();
|
||||||
|
|
||||||
buf[5] = 0x01;
|
buf[5] = 0x01;
|
||||||
serial.send(buf).await;
|
serial.send(buf).await.unwrap();
|
||||||
}
|
}
|
||||||
|
|
||||||
static EXECUTOR: Forever<Executor> = Forever::new();
|
static EXECUTOR: Forever<Executor> = Forever::new();
|
||||||
@ -56,7 +58,7 @@ fn main() -> ! {
|
|||||||
let cp = cortex_m::peripheral::Peripherals::take().unwrap();
|
let cp = cortex_m::peripheral::Peripherals::take().unwrap();
|
||||||
|
|
||||||
let executor = EXECUTOR.put(Executor::new(cortex_m::asm::sev));
|
let executor = EXECUTOR.put(Executor::new(cortex_m::asm::sev));
|
||||||
executor.spawn(run(dp, cp));
|
executor.spawn(run(dp, cp)).unwrap();
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
executor.run();
|
executor.run();
|
17
embassy-stm32f4-examples/src/example_common.rs
Normal file
17
embassy-stm32f4-examples/src/example_common.rs
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
#![macro_use]
|
||||||
|
|
||||||
|
use defmt_rtt as _; // global logger
|
||||||
|
use panic_probe as _;
|
||||||
|
|
||||||
|
pub use defmt::*;
|
||||||
|
|
||||||
|
use core::sync::atomic::{AtomicUsize, Ordering};
|
||||||
|
|
||||||
|
#[defmt::timestamp]
|
||||||
|
fn timestamp() -> u64 {
|
||||||
|
static COUNT: AtomicUsize = AtomicUsize::new(0);
|
||||||
|
// NOTE(no-CAS) `timestamps` runs with interrupts disabled
|
||||||
|
let n = COUNT.load(Ordering::Relaxed);
|
||||||
|
COUNT.store(n + 1, Ordering::Relaxed);
|
||||||
|
n as u64
|
||||||
|
}
|
@ -23,3 +23,8 @@ set -euxo pipefail
|
|||||||
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840,log)
|
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840,log)
|
||||||
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840,defmt)
|
(cd embassy-nrf; cargo build --target thumbv7em-none-eabi --features 52840,defmt)
|
||||||
|
|
||||||
|
# embassy-stm32f4
|
||||||
|
|
||||||
|
(cd embassy-stm32f4-examples; cargo build --target thumbv7em-none-eabi --bins)
|
||||||
|
(cd embassy-stm32f4; cargo build --target thumbv7em-none-eabi --features stm32f405)
|
||||||
|
(cd embassy-stm32f4; cargo build --target thumbv7em-none-eabi --features stm32f405,defmt)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user