TestApp

Dependencies:   mbed

Committer:
riaancillie
Date:
Sat Oct 20 21:48:04 2018 +0000
Revision:
1:49ec3704c354
Parent:
0:3b55022dc9d3
two

Who changed what in which revision?

UserRevisionLine numberNew contents of line
riaancillie 0:3b55022dc9d3 1 #include "mbed.h"
riaancillie 0:3b55022dc9d3 2
riaancillie 0:3b55022dc9d3 3 //------------------------------------
riaancillie 0:3b55022dc9d3 4 // Hyperterminal configuration
riaancillie 0:3b55022dc9d3 5 // 9600 bauds, 8-bit data, no parity
riaancillie 0:3b55022dc9d3 6 //------------------------------------
riaancillie 0:3b55022dc9d3 7
riaancillie 0:3b55022dc9d3 8 Serial pc(SERIAL_TX, SERIAL_RX);
riaancillie 0:3b55022dc9d3 9
riaancillie 1:49ec3704c354 10 DigitalOut myled(PC_13);
riaancillie 0:3b55022dc9d3 11
riaancillie 0:3b55022dc9d3 12 int main()
riaancillie 0:3b55022dc9d3 13 {
riaancillie 1:49ec3704c354 14 __disable_irq(); //Should still be disabled from when you jumped out of the bootloader, but disable again for safety.
riaancillie 1:49ec3704c354 15 uint32_t *old_vectors = (uint32_t *)(0x08010000U); //Or wherever you placed your main application
riaancillie 1:49ec3704c354 16 uint32_t *vectors = (uint32_t*)NVIC_RAM_VECTOR_ADDRESS;
riaancillie 1:49ec3704c354 17 for (int i = 0; i < NVIC_NUM_VECTORS; i++) {
riaancillie 1:49ec3704c354 18 vectors[i] = old_vectors[i];
riaancillie 1:49ec3704c354 19 }
riaancillie 1:49ec3704c354 20 SCB->VTOR = (uint32_t)NVIC_RAM_VECTOR_ADDRESS;
riaancillie 1:49ec3704c354 21 __enable_irq(); //Re-enable IRQ. In theory your vector table should now be copied and interrupt *should* work.
riaancillie 1:49ec3704c354 22
riaancillie 1:49ec3704c354 23
riaancillie 1:49ec3704c354 24 pc.baud(115200);
riaancillie 0:3b55022dc9d3 25 int i = 1;
riaancillie 0:3b55022dc9d3 26 pc.printf("Hello World !\n");
riaancillie 0:3b55022dc9d3 27 while(1) {
riaancillie 0:3b55022dc9d3 28 wait(1);
riaancillie 0:3b55022dc9d3 29 pc.printf("This program runs since %d seconds.\n", i++);
riaancillie 0:3b55022dc9d3 30 myled = !myled;
riaancillie 0:3b55022dc9d3 31 }
riaancillie 0:3b55022dc9d3 32 }