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)
22 lines
758 B
Diff
22 lines
758 B
Diff
diff --git a/chips/nrf52/src/crt1.rs b/chips/nrf52/src/crt1.rs
|
|
index 9703aac..281ceeb 100644
|
|
--- a/chips/nrf52/src/crt1.rs
|
|
+++ b/chips/nrf52/src/crt1.rs
|
|
@@ -1,4 +1,4 @@
|
|
-use cortexm4::{generic_isr, hard_fault_handler, nvic, svc_handler, systick_handler};
|
|
+use cortexm4::{generic_isr, hard_fault_handler, nvic, scb, svc_handler, systick_handler};
|
|
use tock_rt0;
|
|
|
|
/*
|
|
@@ -168,5 +168,9 @@ pub unsafe extern "C" fn init() {
|
|
tock_rt0::init_data(&mut _etext, &mut _srelocate, &mut _erelocate);
|
|
tock_rt0::zero_bss(&mut _szero, &mut _ezero);
|
|
|
|
+ // Ensure that we are compatible with a bootloader.
|
|
+ // For this we need to offset our vector table
|
|
+ scb::set_vector_table_offset(BASE_VECTORS.as_ptr() as *const ());
|
|
+
|
|
nvic::enable_all();
|
|
}
|
|
|