Now the script supports more flashing methods: - JLink (with tockloader) - OpenOCD (with tockloader) - pyOCD - Nordic DFU - none (will produce an IntelHex file) Also merged the contributions from: - Yihui Xiong to support the Makerdiary USB dongle board - Dennis Geurts to support Nordic DFU Doc updated accordingly. Imported 2 patches for Tock kernel: - 06-add-set_vector_table_offset.patch (upstream tock/tock#1579) - 07-nrf52-bootloader.patch (upstream tock/tock#1681)
24 lines
711 B
Diff
24 lines
711 B
Diff
diff --git a/arch/cortex-m/src/scb.rs b/arch/cortex-m/src/scb.rs
|
|
index 8107f16..a271db9 100644
|
|
--- a/arch/cortex-m/src/scb.rs
|
|
+++ b/arch/cortex-m/src/scb.rs
|
|
@@ -9,7 +9,7 @@ use kernel::common::StaticRef;
|
|
struct ScbRegisters {
|
|
cpuid: VolatileCell<u32>,
|
|
icsr: VolatileCell<u32>,
|
|
- vtor: VolatileCell<u32>,
|
|
+ vtor: VolatileCell<*const ()>,
|
|
aircr: VolatileCell<u32>,
|
|
scr: VolatileCell<u32>,
|
|
ccr: VolatileCell<u32>,
|
|
@@ -54,3 +54,8 @@ pub unsafe fn reset() {
|
|
let reset = (0x5FA << 16) | (aircr & (0x7 << 8)) | (1 << 2);
|
|
SCB.aircr.set(reset);
|
|
}
|
|
+
|
|
+/// relocate interrupt vector table
|
|
+pub unsafe fn set_vector_table_offset(offset: *const ()) {
|
|
+ SCB.vtor.set(offset);
|
|
+}
|
|
|