Compare commits
	
		
			1 Commits
		
	
	
		
			use-execut
			...
			unbloat
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | eba55543be | 
| @@ -1,3 +1,18 @@ | |||||||
|  | [unstable] | ||||||
|  | # enabling these breaks the float tests during linking, with intrinsics | ||||||
|  | # duplicated between embassy-rp and compilter_builtins | ||||||
|  | build-std = ["core"] | ||||||
|  | build-std-features = ["panic_immediate_abort"] | ||||||
|  |  | ||||||
|  | [target.'cfg(all(target_arch = "arm", target_os = "none"))'] | ||||||
|  | runner = "teleprobe client run" | ||||||
|  | #runner = "teleprobe local run --chip RP2040 --elf" | ||||||
|  |  | ||||||
|  | rustflags = [ | ||||||
|  |   # Code-size optimizations. | ||||||
|  |   "-Z", "trap-unreachable=no", | ||||||
|  | ] | ||||||
|  |  | ||||||
| [target.thumbv6m-none-eabi] | [target.thumbv6m-none-eabi] | ||||||
| runner = 'probe-rs run --chip STM32F091RCTX' | runner = 'probe-rs run --chip STM32F091RCTX' | ||||||
|  |  | ||||||
|   | |||||||
| @@ -8,16 +8,16 @@ license = "MIT OR Apache-2.0" | |||||||
|  |  | ||||||
| [dependencies] | [dependencies] | ||||||
| # Change stm32f091rc to your chip name, if necessary. | # Change stm32f091rc to your chip name, if necessary. | ||||||
| embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "memory-x", "stm32f091rc", "time-driver-any", "exti", "unstable-pac"] } | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly",  "memory-x", "stm32f091rc", "time-driver-any", "unstable-pac"] } | ||||||
| cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } | cortex-m = { version = "0.7.6", features = ["inline-asm", "critical-section-single-core"] } | ||||||
| cortex-m-rt = "0.7.0" | cortex-m-rt = "0.7.0" | ||||||
| defmt = "0.3" | embassy-sync = { version = "0.3.0", path = "../../embassy-sync", features = [] } | ||||||
| defmt-rtt = "0.4" | embassy-executor = { version = "0.3.0", path = "../../embassy-executor", features = ["nightly", "arch-cortex-m", "executor-thread", "integrated-timers"] } | ||||||
| panic-probe = "0.3" | embassy-time = { version = "0.1.3", path = "../../embassy-time", features = [ "tick-hz-32_768"] } | ||||||
| embassy-sync = { version = "0.3.0", path = "../../embassy-sync", features = ["defmt"] } |  | ||||||
| embassy-executor = { version = "0.3.0", path = "../../embassy-executor", features = ["nightly", "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "integrated-timers"] } |  | ||||||
| embassy-time = { version = "0.1.3", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |  | ||||||
| static_cell = { version = "1.1", features = ["nightly"]} | static_cell = { version = "1.1", features = ["nightly"]} | ||||||
|  | panic-halt = "0.2.0" | ||||||
|  |  | ||||||
| [profile.release] | [profile.release] | ||||||
| debug = 2 | debug = 2 | ||||||
|  | opt-level = 's' | ||||||
|  | lto = 'fat' | ||||||
| @@ -1,5 +1,4 @@ | |||||||
| fn main() { | fn main() { | ||||||
|     println!("cargo:rustc-link-arg-bins=--nmagic"); |     println!("cargo:rustc-link-arg-bins=--nmagic"); | ||||||
|     println!("cargo:rustc-link-arg-bins=-Tlink.x"); |     println!("cargo:rustc-link-arg-bins=-Tlink.x"); | ||||||
|     println!("cargo:rustc-link-arg-bins=-Tdefmt.x"); |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,26 +2,21 @@ | |||||||
| #![no_main] | #![no_main] | ||||||
| #![feature(type_alias_impl_trait)] | #![feature(type_alias_impl_trait)] | ||||||
|  |  | ||||||
| use defmt::*; |  | ||||||
| use embassy_executor::Spawner; | use embassy_executor::Spawner; | ||||||
| use embassy_stm32::gpio::{Level, Output, Speed}; | use embassy_stm32::gpio::{Level, Output, Speed}; | ||||||
| use embassy_time::{Duration, Timer}; | use embassy_time::{Duration, Timer}; | ||||||
| use {defmt_rtt as _, panic_probe as _}; | use panic_halt as _; | ||||||
|  |  | ||||||
| // main is itself an async function. | // main is itself an async function. | ||||||
| #[embassy_executor::main] | #[embassy_executor::main] | ||||||
| async fn main(_spawner: Spawner) { | async fn main(_spawner: Spawner) { | ||||||
|     let p = embassy_stm32::init(Default::default()); |     let p = embassy_stm32::init(Default::default()); | ||||||
|     info!("Hello World!"); |  | ||||||
|     //PA5 is the onboard LED on the Nucleo F091RC |     //PA5 is the onboard LED on the Nucleo F091RC | ||||||
|     let mut led = Output::new(p.PA5, Level::High, Speed::Low); |     let mut led = Output::new(p.PA5, Level::High, Speed::Low); | ||||||
|  |  | ||||||
|     loop { |     loop { | ||||||
|         info!("high"); |  | ||||||
|         led.set_high(); |         led.set_high(); | ||||||
|         Timer::after(Duration::from_millis(300)).await; |         Timer::after(Duration::from_millis(300)).await; | ||||||
|  |  | ||||||
|         info!("low"); |  | ||||||
|         led.set_low(); |         led.set_low(); | ||||||
|         Timer::after(Duration::from_millis(300)).await; |         Timer::after(Duration::from_millis(300)).await; | ||||||
|     } |     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user