diff options
| author | goueslati <[email protected]> | 2023-05-04 11:02:17 +0100 |
|---|---|---|
| committer | goueslati <[email protected]> | 2023-05-04 11:02:17 +0100 |
| commit | 007f45292762ab27291dd54bd0cfdeb23e390de4 (patch) | |
| tree | 65f9271ffd61a222fb3889b7c7aac1d88f6a4acf | |
| parent | 3e728d5e73042a78cfb091d1723e6b0c4b5a414d (diff) | |
removed hardcoded addresses in memory.x
| -rw-r--r-- | embassy-stm32/src/tl_mbox/mod.rs | 38 | ||||
| -rw-r--r-- | examples/stm32wb/Cargo.toml | 2 | ||||
| -rw-r--r-- | examples/stm32wb/memory.x | 21 | ||||
| -rw-r--r-- | examples/stm32wb/src/bin/tl_mbox.rs | 3 |
4 files changed, 25 insertions, 39 deletions
diff --git a/embassy-stm32/src/tl_mbox/mod.rs b/embassy-stm32/src/tl_mbox/mod.rs index 54db78bd8..73d2ca6d6 100644 --- a/embassy-stm32/src/tl_mbox/mod.rs +++ b/embassy-stm32/src/tl_mbox/mod.rs | |||
| @@ -196,67 +196,67 @@ pub struct RefTable { | |||
| 196 | #[link_section = "TL_REF_TABLE"] | 196 | #[link_section = "TL_REF_TABLE"] |
| 197 | pub static mut TL_REF_TABLE: MaybeUninit<RefTable> = MaybeUninit::uninit(); | 197 | pub static mut TL_REF_TABLE: MaybeUninit<RefTable> = MaybeUninit::uninit(); |
| 198 | 198 | ||
| 199 | #[link_section = "TL_DEVICE_INFO_TABLE"] | 199 | #[link_section = "MB_MEM1"] |
| 200 | static mut TL_DEVICE_INFO_TABLE: MaybeUninit<DeviceInfoTable> = MaybeUninit::uninit(); | 200 | static mut TL_DEVICE_INFO_TABLE: MaybeUninit<DeviceInfoTable> = MaybeUninit::uninit(); |
| 201 | 201 | ||
| 202 | #[link_section = "TL_BLE_TABLE"] | 202 | #[link_section = "MB_MEM1"] |
| 203 | static mut TL_BLE_TABLE: MaybeUninit<BleTable> = MaybeUninit::uninit(); | 203 | static mut TL_BLE_TABLE: MaybeUninit<BleTable> = MaybeUninit::uninit(); |
| 204 | 204 | ||
| 205 | #[link_section = "TL_THREAD_TABLE"] | 205 | #[link_section = "MB_MEM1"] |
| 206 | static mut TL_THREAD_TABLE: MaybeUninit<ThreadTable> = MaybeUninit::uninit(); | 206 | static mut TL_THREAD_TABLE: MaybeUninit<ThreadTable> = MaybeUninit::uninit(); |
| 207 | 207 | ||
| 208 | #[link_section = "TL_SYS_TABLE"] | 208 | #[link_section = "MB_MEM1"] |
| 209 | static mut TL_SYS_TABLE: MaybeUninit<SysTable> = MaybeUninit::uninit(); | 209 | static mut TL_SYS_TABLE: MaybeUninit<SysTable> = MaybeUninit::uninit(); |
| 210 | 210 | ||
| 211 | #[link_section = "TL_MEM_MANAGER_TABLE"] | 211 | #[link_section = "MB_MEM1"] |
| 212 | static mut TL_MEM_MANAGER_TABLE: MaybeUninit<MemManagerTable> = MaybeUninit::uninit(); | 212 | static mut TL_MEM_MANAGER_TABLE: MaybeUninit<MemManagerTable> = MaybeUninit::uninit(); |
| 213 | 213 | ||
| 214 | #[link_section = "TL_TRACES_TABLE"] | 214 | #[link_section = "MB_MEM1"] |
| 215 | static mut TL_TRACES_TABLE: MaybeUninit<TracesTable> = MaybeUninit::uninit(); | 215 | static mut TL_TRACES_TABLE: MaybeUninit<TracesTable> = MaybeUninit::uninit(); |
| 216 | 216 | ||
| 217 | #[link_section = "TL_MAC_802_15_4_TABLE"] | 217 | #[link_section = "MB_MEM1"] |
| 218 | static mut TL_MAC_802_15_4_TABLE: MaybeUninit<Mac802_15_4Table> = MaybeUninit::uninit(); | 218 | static mut TL_MAC_802_15_4_TABLE: MaybeUninit<Mac802_15_4Table> = MaybeUninit::uninit(); |
| 219 | 219 | ||
| 220 | #[allow(dead_code)] // Not used currently but reserved | 220 | #[allow(dead_code)] // Not used currently but reserved |
| 221 | #[link_section = "FREE_BUF_QUEUE"] | 221 | #[link_section = "MB_MEM2"] |
| 222 | static mut FREE_BUFF_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); | 222 | static mut FREE_BUFF_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); |
| 223 | 223 | ||
| 224 | // not in shared RAM | 224 | // not in shared RAM |
| 225 | static mut LOCAL_FREE_BUF_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); | 225 | static mut LOCAL_FREE_BUF_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); |
| 226 | 226 | ||
| 227 | #[allow(dead_code)] // Not used currently but reserved | 227 | #[allow(dead_code)] // Not used currently but reserved |
| 228 | #[link_section = "TRACES_EVT_QUEUE"] | 228 | #[link_section = "MB_MEM2"] |
| 229 | static mut TRACES_EVT_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); | 229 | static mut TRACES_EVT_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); |
| 230 | 230 | ||
| 231 | #[link_section = "CS_BUFFER"] | 231 | #[link_section = "MB_MEM2"] |
| 232 | static mut CS_BUFFER: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + TL_EVT_HEADER_SIZE + TL_CS_EVT_SIZE]> = | 232 | static mut CS_BUFFER: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + TL_EVT_HEADER_SIZE + TL_CS_EVT_SIZE]> = |
| 233 | MaybeUninit::uninit(); | 233 | MaybeUninit::uninit(); |
| 234 | 234 | ||
| 235 | #[link_section = "EVT_QUEUE"] | 235 | #[link_section = "MB_MEM2"] |
| 236 | static mut EVT_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); | 236 | static mut EVT_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); |
| 237 | 237 | ||
| 238 | #[link_section = "SYSTEM_EVT_QUEUE"] | 238 | #[link_section = "MB_MEM2"] |
| 239 | static mut SYSTEM_EVT_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); | 239 | static mut SYSTEM_EVT_QUEUE: MaybeUninit<LinkedListNode> = MaybeUninit::uninit(); |
| 240 | 240 | ||
| 241 | #[link_section = "SYS_CMD_BUF"] | 241 | #[link_section = "MB_MEM2"] |
| 242 | static mut SYS_CMD_BUF: MaybeUninit<CmdPacket> = MaybeUninit::uninit(); | 242 | static mut SYS_CMD_BUF: MaybeUninit<CmdPacket> = MaybeUninit::uninit(); |
| 243 | 243 | ||
| 244 | #[link_section = "EVT_POOL"] | 244 | #[link_section = "MB_MEM2"] |
| 245 | static mut EVT_POOL: MaybeUninit<[u8; POOL_SIZE]> = MaybeUninit::uninit(); | 245 | static mut EVT_POOL: MaybeUninit<[u8; POOL_SIZE]> = MaybeUninit::uninit(); |
| 246 | 246 | ||
| 247 | #[link_section = "SYS_SPARE_EVT_BUF"] | 247 | #[link_section = "MB_MEM2"] |
| 248 | static mut SYS_SPARE_EVT_BUF: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + TL_EVT_HEADER_SIZE + 255]> = | 248 | static mut SYS_SPARE_EVT_BUF: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + TL_EVT_HEADER_SIZE + 255]> = |
| 249 | MaybeUninit::uninit(); | 249 | MaybeUninit::uninit(); |
| 250 | 250 | ||
| 251 | #[link_section = "BLE_SPARE_EVT_BUF"] | 251 | #[link_section = "MB_MEM2"] |
| 252 | static mut BLE_SPARE_EVT_BUF: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + TL_EVT_HEADER_SIZE + 255]> = | 252 | static mut BLE_SPARE_EVT_BUF: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + TL_EVT_HEADER_SIZE + 255]> = |
| 253 | MaybeUninit::uninit(); | 253 | MaybeUninit::uninit(); |
| 254 | 254 | ||
| 255 | #[link_section = "BLE_CMD_BUFFER"] | 255 | #[link_section = "MB_MEM2"] |
| 256 | static mut BLE_CMD_BUFFER: MaybeUninit<CmdPacket> = MaybeUninit::uninit(); | 256 | static mut BLE_CMD_BUFFER: MaybeUninit<CmdPacket> = MaybeUninit::uninit(); |
| 257 | 257 | ||
| 258 | #[link_section = "HCI_ACL_DATA_BUFFER"] | 258 | #[link_section = "MB_MEM2"] |
| 259 | // "magic" numbers from ST ---v---v | 259 | // "magic" numbers from ST ---v---v |
| 260 | static mut HCI_ACL_DATA_BUFFER: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + 5 + 251]> = MaybeUninit::uninit(); | 260 | static mut HCI_ACL_DATA_BUFFER: MaybeUninit<[u8; TL_PACKET_HEADER_SIZE + 5 + 251]> = MaybeUninit::uninit(); |
| 261 | 261 | ||
| 262 | pub struct TlMbox { | 262 | pub struct TlMbox { |
diff --git a/examples/stm32wb/Cargo.toml b/examples/stm32wb/Cargo.toml index db1816da3..3c7e3e874 100644 --- a/examples/stm32wb/Cargo.toml +++ b/examples/stm32wb/Cargo.toml | |||
| @@ -8,7 +8,7 @@ license = "MIT OR Apache-2.0" | |||
| 8 | embassy-sync = { version = "0.2.0", path = "../../embassy-sync", features = ["defmt"] } | 8 | embassy-sync = { version = "0.2.0", path = "../../embassy-sync", features = ["defmt"] } |
| 9 | embassy-executor = { version = "0.2.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } | 9 | embassy-executor = { version = "0.2.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt", "integrated-timers"] } |
| 10 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } | 10 | embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] } |
| 11 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wb55cc", "time-driver-any", "exti"] } | 11 | embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "stm32wb55rg", "time-driver-any", "exti"] } |
| 12 | 12 | ||
| 13 | defmt = "0.3" | 13 | defmt = "0.3" |
| 14 | defmt-rtt = "0.4" | 14 | defmt-rtt = "0.4" |
diff --git a/examples/stm32wb/memory.x b/examples/stm32wb/memory.x index 0e48c916d..c75d07352 100644 --- a/examples/stm32wb/memory.x +++ b/examples/stm32wb/memory.x | |||
| @@ -19,23 +19,6 @@ _stack_start = ORIGIN(RAM) + LENGTH(RAM); | |||
| 19 | SECTIONS { | 19 | SECTIONS { |
| 20 | TL_REF_TABLE (NOLOAD) : { *(TL_REF_TABLE) } >RAM_SHARED | 20 | TL_REF_TABLE (NOLOAD) : { *(TL_REF_TABLE) } >RAM_SHARED |
| 21 | 21 | ||
| 22 | TL_DEVICE_INFO_TABLE 0x2003001c (NOLOAD) : { *(TL_DEVICE_INFO_TABLE) } >RAM_SHARED | 22 | MB_MEM1 (NOLOAD) : { *(MB_MEM1) } >RAM_SHARED |
| 23 | TL_BLE_TABLE 0x2003003c (NOLOAD) : { *(TL_BLE_TABLE) } >RAM_SHARED | 23 | MB_MEM2 (NOLOAD) : { _sMB_MEM2 = . ; *(MB_MEM2) ; _eMB_MEM2 = . ; } >RAM_SHARED |
| 24 | TL_THREAD_TABLE 0x2003004c (NOLOAD) : { *(TL_THREAD_TABLE) } >RAM_SHARED | ||
| 25 | TL_SYS_TABLE 0x20030058 (NOLOAD) : { *(TL_SYS_TABLE) } >RAM_SHARED | ||
| 26 | TL_MEM_MANAGER_TABLE 0x20030060 (NOLOAD) : { *(TL_MEM_MANAGER_TABLE) } >RAM_SHARED | ||
| 27 | TL_TRACES_TABLE 0x2003007c (NOLOAD) : { *(TL_TRACES_TABLE) } >RAM_SHARED | ||
| 28 | TL_MAC_802_15_4_TABLE 0x20030080 (NOLOAD) : { *(TL_MAC_802_15_4_TABLE) } >RAM_SHARED | ||
| 29 | |||
| 30 | HCI_ACL_DATA_BUFFER 0x20030a08 (NOLOAD) : { *(HCI_ACL_DATA_BUFFER) } >RAM_SHARED | ||
| 31 | BLE_CMD_BUFFER 0x200308fc (NOLOAD) : { *(BLE_CMD_BUFFER) } >RAM_SHARED | ||
| 32 | BLE_SPARE_EVT_BUF 0x200301a8 (NOLOAD) : { *(BLE_SPARE_EVT_BUF) } >RAM_SHARED | ||
| 33 | SYS_SPARE_EVT_BUF 0x200302b4 (NOLOAD) : { *(SYS_SPARE_EVT_BUF) } >RAM_SHARED | ||
| 34 | EVT_POOL 0x200303c0 (NOLOAD) : { *(EVT_POOL) } >RAM_SHARED | ||
| 35 | SYS_CMD_BUF 0x2003009c (NOLOAD) : { *(SYS_CMD_BUF) } >RAM_SHARED | ||
| 36 | SYSTEM_EVT_QUEUE 0x20030b28 (NOLOAD) : { *(SYSTEM_EVT_QUEUE) } >RAM_SHARED | ||
| 37 | EVT_QUEUE 0x20030b10 (NOLOAD) : { *(EVT_QUEUE) } >RAM_SHARED | ||
| 38 | CS_BUFFER 0x20030b18 (NOLOAD) : { *(CS_BUFFER) } >RAM_SHARED | ||
| 39 | TRACES_EVT_QUEUE 0x20030094 (NOLOAD) : { *(TRACES_EVT_QUEUE) } >RAM_SHARED | ||
| 40 | FREE_BUF_QUEUE 0x2003008c (NOLOAD) : { *(FREE_BUF_QUEUE) } >RAM_SHARED | ||
| 41 | } | 24 | } |
diff --git a/examples/stm32wb/src/bin/tl_mbox.rs b/examples/stm32wb/src/bin/tl_mbox.rs index 6a9b9c936..fadeb0d22 100644 --- a/examples/stm32wb/src/bin/tl_mbox.rs +++ b/examples/stm32wb/src/bin/tl_mbox.rs | |||
| @@ -6,6 +6,7 @@ use defmt::*; | |||
| 6 | use embassy_executor::Spawner; | 6 | use embassy_executor::Spawner; |
| 7 | use embassy_stm32::ipcc::{Config, Ipcc}; | 7 | use embassy_stm32::ipcc::{Config, Ipcc}; |
| 8 | use embassy_stm32::tl_mbox::TlMbox; | 8 | use embassy_stm32::tl_mbox::TlMbox; |
| 9 | use embassy_time::{Duration, Timer}; | ||
| 9 | use {defmt_rtt as _, panic_probe as _}; | 10 | use {defmt_rtt as _, panic_probe as _}; |
| 10 | 11 | ||
| 11 | #[embassy_executor::main] | 12 | #[embassy_executor::main] |
| @@ -38,5 +39,7 @@ async fn main(_spawner: Spawner) { | |||
| 38 | break; | 39 | break; |
| 39 | } | 40 | } |
| 40 | } | 41 | } |
| 42 | |||
| 43 | Timer::after(Duration::from_millis(500)).await; | ||
| 41 | } | 44 | } |
| 42 | } | 45 | } |
