Revamp deploy.py
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)
This commit is contained in:
23
patches/tock/06-add-set_vector_table_offset.patch
Normal file
23
patches/tock/06-add-set_vector_table_offset.patch
Normal file
@@ -0,0 +1,23 @@
|
||||
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);
|
||||
+}
|
||||
|
||||
Reference in New Issue
Block a user