diff options
| -rw-r--r-- | Cargo.toml | 2 | ||||
| -rw-r--r-- | README.txt | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/Cargo.toml b/Cargo.toml index fd3fba042..cf7ba854e 100644 --- a/Cargo.toml +++ b/Cargo.toml | |||
| @@ -13,7 +13,7 @@ name = "embassy_mcxa276" | |||
| 13 | [dependencies] | 13 | [dependencies] |
| 14 | cortex-m = { version = "0.7", features = ["critical-section-single-core"] } | 14 | cortex-m = { version = "0.7", features = ["critical-section-single-core"] } |
| 15 | cortex-m-rt = { version = "0.7", features = ["device"] } | 15 | cortex-m-rt = { version = "0.7", features = ["device"] } |
| 16 | mcxa276-pac = { git = "https://github.com/bogdan-petru/mcxa-pac", features = ["rt"] } | 16 | mcxa276-pac = { git = "https://github.com/bogdan-petru/mcxa-pac", features = ["rt"], rev = "a9dd330149912c26f252f0f3c419f6435c1216e2", version = "0.1.0" } |
| 17 | embedded-io = "0.6" | 17 | embedded-io = "0.6" |
| 18 | # Optional defmt support | 18 | # Optional defmt support |
| 19 | defmt = { version = "0.3", optional = true } | 19 | defmt = { version = "0.3", optional = true } |
diff --git a/README.txt b/README.txt index 7baf8a9cb..80fa81b07 100644 --- a/README.txt +++ b/README.txt | |||
| @@ -312,6 +312,8 @@ cargo build --features "lpuart2 rtc0" --example rtc_alarm | |||
| 312 | 312 | ||
| 313 | ### Critical Fix: MCXA276 Interrupt Vector Table | 313 | ### Critical Fix: MCXA276 Interrupt Vector Table |
| 314 | 314 | ||
| 315 | |||
| 316 | Update (SVD 25.06.00, mcxa-pac a9dd33): No manual PAC edits are required anymore. OS_EVENT and WAKETIMER0 are present and the vector table is correct. The section below is kept for historical context. | ||
| 315 | **Problem:** The OSTIMER examples crashed during interrupt handling with a hardfault (SP=0x00000000). Investigation revealed the OS_EVENT interrupt vector was NULL in the vector table, causing the CPU to jump to address 0 when OSTIMER interrupts fired. | 317 | **Problem:** The OSTIMER examples crashed during interrupt handling with a hardfault (SP=0x00000000). Investigation revealed the OS_EVENT interrupt vector was NULL in the vector table, causing the CPU to jump to address 0 when OSTIMER interrupts fired. |
| 316 | 318 | ||
| 317 | **Root Cause:** The `mcxa276-pac/src/lib.rs` file (generated from the SVD file) was missing the `WAKETIMER0` interrupt handler declaration. This caused the `__INTERRUPTS` array to have an off-by-one error, placing OS_EVENT at IRQ 58 instead of the correct IRQ 57 position. | 319 | **Root Cause:** The `mcxa276-pac/src/lib.rs` file (generated from the SVD file) was missing the `WAKETIMER0` interrupt handler declaration. This caused the `__INTERRUPTS` array to have an off-by-one error, placing OS_EVENT at IRQ 58 instead of the correct IRQ 57 position. |
| @@ -337,4 +339,4 @@ Using `#[inline(always)]` can cause the Rust compiler to generate incorrect asse | |||
| 337 | 339 | ||
| 338 | ## License | 340 | ## License |
| 339 | 341 | ||
| 340 | This project is licensed under MIT OR Apache-2.0. | 342 | This project is licensed under MIT OR Apache-2.0. \ No newline at end of file |
