diff options
Diffstat (limited to 'examples/stm32wb')
| -rw-r--r-- | examples/stm32wb/.cargo/config.toml | 3 | ||||
| -rw-r--r-- | examples/stm32wb/memory.x | 19 | ||||
| -rw-r--r-- | examples/stm32wb/src/bin/tl_mbox.rs | 23 |
3 files changed, 40 insertions, 5 deletions
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 @@ | |||
| 1 | [target.'cfg(all(target_arch = "arm", target_os = "none"))'] | 1 | [target.'cfg(all(target_arch = "arm", target_os = "none"))'] |
| 2 | # replace STM32WB55CCUx with your chip as listed in `probe-rs-cli chip list` | 2 | # replace STM32WB55CCUx with your chip as listed in `probe-rs-cli chip list` |
| 3 | runner = "probe-rs-cli run --chip STM32WB55CCUx --speed 1000 --connect-under-reset" | 3 | # runner = "probe-rs-cli run --chip STM32WB55CCUx --speed 1000 --connect-under-reset" |
| 4 | runner = "teleprobe local run --chip STM32WB55RG --elf" | ||
| 4 | 5 | ||
| 5 | [build] | 6 | [build] |
| 6 | target = "thumbv7em-none-eabihf" | 7 | 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 @@ | |||
| 1 | /* | 1 | /* |
| 2 | The size of this file must be exactly the same as in other memory_xx.x files. | 2 | The size of this file must be exactly the same as in other memory_xx.x files. |
| 3 | Memory size for STM32WB55xC with 256K FLASH | 3 | Memory size for STM32WB55xC with 256K FLASH |
| 4 | */ | ||
| 5 | 4 | ||
| 6 | MEMORY | 5 | MEMORY |
| 7 | { | 6 | { |
| 8 | FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K | 7 | FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 256K |
| 9 | RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K | 8 | RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 192K |
| 10 | RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K | 9 | RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K |
| 11 | } | 10 | } |
| 11 | */ | ||
| 12 | |||
| 13 | /* | ||
| 14 | Memory size for STM32WB55xC with 512K FLASH | ||
| 15 | |||
| 16 | MEMORY | ||
| 17 | { | ||
| 18 | FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K | ||
| 19 | RAM (xrw) : ORIGIN = 0x20000008, LENGTH = 0x2FFF8 | ||
| 20 | RAM_SHARED (xrw) : ORIGIN = 0x20030000, LENGTH = 10K | ||
| 21 | } | ||
| 22 | */ | ||
| 12 | 23 | ||
| 13 | /* Place stack at the end of SRAM1 */ | 24 | /* Place stack at the end of SRAM1 */ |
| 14 | _stack_start = ORIGIN(RAM) + LENGTH(RAM); | 25 | _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 _}; | |||
| 11 | 11 | ||
| 12 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| 13 | async fn main(_spawner: Spawner) { | 13 | async fn main(_spawner: Spawner) { |
| 14 | /* | ||
| 15 | How to make this work: | ||
| 16 | |||
| 17 | - Obtain a NUCLEO-STM32WB55 from your preferred supplier. | ||
| 18 | - Download and Install STM32CubeProgrammer. | ||
| 19 | - Download stm32wb5x_FUS_fw.bin, stm32wb5x_BLE_Stack_full_fw.bin, and Release_Notes.html from | ||
| 20 | gh:STMicroelectronics/STM32CubeWB@2234d97/Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x | ||
| 21 | - Open STM32CubeProgrammer | ||
| 22 | - On the right-hand pane, click "firmware upgrade" to upgrade the st-link firmware. | ||
| 23 | - Once complete, click connect to connect to the device. | ||
| 24 | - On the left hand pane, click the RSS signal icon to open "Firmware Upgrade Services". | ||
| 25 | - In the Release_Notes.html, find the memory address that corresponds to your device for the stm32wb5x_FUS_fw.bin file | ||
| 26 | - Select that file, the memory address, "verify download", and then "Firmware Upgrade". | ||
| 27 | - Once complete, in the Release_Notes.html, find the memory address that corresponds to your device for the | ||
| 28 | stm32wb5x_BLE_Stack_full_fw.bin file. It should not be the same memory address. | ||
| 29 | - Select that file, the memory address, "verify download", and then "Firmware Upgrade". | ||
| 30 | - Disconnect from the device. | ||
| 31 | - In the examples folder for stm32wb, modify the memory.x file to match your target device. | ||
| 32 | - Run this example. | ||
| 33 | |||
| 34 | Note: extended stack versions are not supported at this time. Do not attempt to install a stack with "extended" in the name. | ||
| 35 | */ | ||
| 36 | |||
| 14 | let p = embassy_stm32::init(Default::default()); | 37 | let p = embassy_stm32::init(Default::default()); |
| 15 | info!("Hello World!"); | 38 | info!("Hello World!"); |
| 16 | 39 | ||
