From 4acde45102cbf7b29f524c227bcd1c11aa83ebc0 Mon Sep 17 00:00:00 2001 From: Jun Wako Date: Sat, 3 Jan 2015 20:21:23 +0900 Subject: [PATCH] Fix linker script for NVIC vector on RAM --- keyboard/infinity/infinity.ld | 2 +- keyboard/infinity/main.cpp | 21 ++++++--------------- tool/mbed/mk20d50m.mk | 3 +-- 3 files changed, 8 insertions(+), 18 deletions(-) diff --git a/keyboard/infinity/infinity.ld b/keyboard/infinity/infinity.ld index 5f699a53..decdaa26 100644 --- a/keyboard/infinity/infinity.ld +++ b/keyboard/infinity/infinity.ld @@ -9,7 +9,7 @@ MEMORY { /* Infinity blootloader uses 4KB */ FLASH (rx) : ORIGIN = 4K, LENGTH = 128K - 4K - RAM (rwx) : ORIGIN = 0x1FFFE000, LENGTH = 16K + RAM (rwx) : ORIGIN = 0x1FFFE0F8, LENGTH = 16K - 0xF8 } /* Linker script to place sections and symbol values. Should be used together diff --git a/keyboard/infinity/main.cpp b/keyboard/infinity/main.cpp index 7db59cdf..f28840d3 100644 --- a/keyboard/infinity/main.cpp +++ b/keyboard/infinity/main.cpp @@ -5,25 +5,16 @@ #include "PinNames.h" -//DigitalOut led(PTA19); - int main() { gpio_t led; gpio_init_out(&led, PTA19); while(1) { - gpio_write(&led, 1); - wait_ms(500); - gpio_write(&led, 0); wait_ms(500); + uint32_t delay = 0xf; + while (delay--) { + uint32_t delay2 = 0xffff; + while (delay2--) ; + } + gpio_write(&led, !gpio_read(&led)); } -/* - SIM->SCGC6 |= SIM_SCGC5_PORTA_MASK; - PORTA->PCR[19] = PORT_PCR_SRE_MASK | PORT_PCR_DSE_MASK | PORT_PCR_MUX(1); - PTA->PDDR |= (1<<19); - PTA->PSOR |= (1<<19); - while(1) { - PTA->PTOR |= (1<<19); - wait_ms(500); - } -*/ } diff --git a/tool/mbed/mk20d50m.mk b/tool/mbed/mk20d50m.mk index eb7bde64..e62e39d2 100644 --- a/tool/mbed/mk20d50m.mk +++ b/tool/mbed/mk20d50m.mk @@ -41,5 +41,4 @@ INCLUDE_PATHS += \ -I$(MBED_DIR)/libraries/mbed/targets/hal/TARGET_Freescale \ -I$(MBED_DIR)/libraries/mbed/targets/hal/TARGET_Freescale/TARGET_K20D50M -LINKER_SCRIPT = $(MBED_DIR)/libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/TOOLCHAIN_GCC_ARM/MK20D5.ld -#LINKER_SCRIPT = infinity.ld +LINKER_SCRIPT = infinity.ld