From 8a620fd59ca2ad958aad279eb55a1c97ef100e86 Mon Sep 17 00:00:00 2001 From: xoviat Date: Thu, 11 May 2023 16:45:42 -0500 Subject: stm32/ble: fix tests and add instructions to run example --- examples/stm32wb/.cargo/config.toml | 3 ++- examples/stm32wb/memory.x | 19 +++++++++++++++---- examples/stm32wb/src/bin/tl_mbox.rs | 23 +++++++++++++++++++++++ 3 files changed, 40 insertions(+), 5 deletions(-) (limited to 'examples') diff --git a/examples/stm32wb/.cargo/config.toml b/examples/stm32wb/.cargo/config.toml index 5d78d79e5..d23fdc513 100644 --- a/examples/stm32wb/.cargo/config.toml +++ b/examples/stm32wb/.cargo/config.toml @@ -1,6 +1,7 @@ [target.'cfg(all(target_arch = "arm", target_os = "none"))'] # replace STM32WB55CCUx with your chip as listed in `probe-rs-cli chip list` -runner = "probe-rs-cli run --chip STM32WB55CCUx --speed 1000 --connect-under-reset" +# runner = "probe-rs-cli run --chip STM32WB55CCUx --speed 1000 --connect-under-reset" +runner = "teleprobe local run --chip STM32WB55RG --elf" [build] target = "thumbv7em-none-eabihf" diff --git a/examples/stm32wb/memory.x b/examples/stm32wb/memory.x index c75d07352..75bb74466 100644 --- a/examples/stm32wb/memory.x +++ b/examples/stm32wb/memory.x @@ -1,14 +1,25 @@ /* The size of this file must be exactly the same as in other memory_xx.x files. Memory size for STM32WB55xC with 256K FLASH -*/ -MEMORY -{ + MEMORY + { FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K -} + } +*/ + +/* + Memory size for STM32WB55xC with 512K FLASH + + MEMORY + { + FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K + RAM (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FFF8 + RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K + } +*/ /* Place stack at the end of SRAM1 */ _stack_start = ORIGIN(RAM) + LENGTH(RAM); diff --git a/examples/stm32wb/src/bin/tl_mbox.rs b/examples/stm32wb/src/bin/tl_mbox.rs index fadeb0d22..340235520 100644 --- a/examples/stm32wb/src/bin/tl_mbox.rs +++ b/examples/stm32wb/src/bin/tl_mbox.rs @@ -11,6 +11,29 @@ use {defmt_rtt as _, panic_probe as _}; #[embassy_executor::main] async fn main(_spawner: Spawner) { + /* + How to make this work: + + - Obtain a NUCLEO-STM32WB55 from your preferred supplier. + - Download and Install STM32CubeProgrammer. + - Download stm32wb5x_FUS_fw.bin, stm32wb5x_BLE_Stack_full_fw.bin, and Release_Notes.html from + gh:STMicroelectronics/STM32CubeWB@2234d97/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x + - Open STM32CubeProgrammer + - On the right-hand pane, click "firmware upgrade" to upgrade the st-link firmware. + - Once complete, click connect to connect to the device. + - On the left hand pane, click the RSS signal icon to open "Firmware Upgrade Services". + - In the Release_Notes.html, find the memory address that corresponds to your device for the stm32wb5x_FUS_fw.bin file + - Select that file, the memory address, "verify download", and then "Firmware Upgrade". + - Once complete, in the Release_Notes.html, find the memory address that corresponds to your device for the + stm32wb5x_BLE_Stack_full_fw.bin file. It should not be the same memory address. + - Select that file, the memory address, "verify download", and then "Firmware Upgrade". + - Disconnect from the device. + - In the examples folder for stm32wb, modify the memory.x file to match your target device. + - Run this example. + + Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. + */ + let p = embassy_stm32::init(Default::default()); info!("Hello World!"); -- cgit