diff options
author | Christopher Browne <cbbrowne@ca.afilias.info> | 2016-05-26 15:17:00 -0400 |
---|---|---|
committer | Christopher Browne <cbbrowne@ca.afilias.info> | 2016-05-26 15:17:00 -0400 |
commit | d649ab34334ff568448c47a04fcf40f1aa960135 (patch) | |
tree | 4cc848e8892b21839da14d7b9ac628f6cfbefadf /keyboard/infinity/mbed-infinity/README | |
parent | 48871b9b6b99201abc381ee27cfd94e211ca131a (diff) | |
parent | 89f0472b9e1c751034a745898fd495bbd49f2b66 (diff) |
Merge branch 'master' of https://github.com/jackhumbert/qmk_firmware
Diffstat (limited to 'keyboard/infinity/mbed-infinity/README')
-rw-r--r-- | keyboard/infinity/mbed-infinity/README | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/keyboard/infinity/mbed-infinity/README b/keyboard/infinity/mbed-infinity/README deleted file mode 100644 index 43051c9003..0000000000 --- a/keyboard/infinity/mbed-infinity/README +++ /dev/null @@ -1,83 +0,0 @@ -mbed fix for Infinity -===================== -Without linker script patch it doesn't place vector table in final binary. -And clock is configured to 48MHz using internal clock reference and FLL multiplication. - - -mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/system_MK20D5.c - Fix SystemInit: clock setup for internal clock. Inifinity has no external Xtal. - -mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/cmsis_nvic.c - Fix NVIC vector address of firmware 0x1000 instead of 0x0 - -mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/TOOLCHAIN_GCC_ARM/MK20D5.ld - Fix memory map for Infinity bootloader - Flash starts at 0x1000 - No flash config bytes sector - -USBDevice/USBDevice/USBHAL_KL25Z.cpp - Fix USB clock setup, see below. - - -2015/01/04 Based on mbed-sdk @2f63fa7d78a26. - - - -Kinetis USB config -================== -Clock source: Internal reference clock wth FLL - SIM_SOPT[USBSRC] = 1(MCGPLLCLK/MCGFLLCLK) - SIM_SOPT[PLLSEL] = 0(MCGFLLCLK) - -Clock dividor: - SIM_CLKDIV2[USBDIV] = 0 - SIM_CLKDIV2[USBFAC] = 0 - -Clock enable: - SIM_SCGC4[USBOTG] = 1 - - - -Infinity bootloader change -========================== -After @2c7542e(2015/01) Infinity bootloader doesn't disable watchdog timer and keyboard firmware has to do it itself. mbed disables watchdog in startup sequence but unfortunately timer is timed out bofore that. - -We have to do that in earlier phase of mbed startup sequence. - - -mbed starup sequence files: -mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/TOOLCHAIN_GCC_ARM/startup_M20D5.s -mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/system_MK20D5.c - -Infinity booloader change commit: -https://github.com/kiibohd/controller/commit/2c7542e2e7f0b8a99edf563dc53164fe1a439483 - -discussion: -https://geekhack.org/index.php?topic=41989.msg1686616#msg1686616 - - -WORKAROUND ----------- -Call SystemInit early in Reset_Handler. - -$ diff -u ../../mbed-sdk/libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/TOOLCHAIN_GCC_ARM/startup_MK20D5.s mbed-infinity ---- ../../mbed-sdk/libraries/mbed/targets/cmsis/TARGET_Freescale/TARGET_K20D50M/TOOLCHAIN_GCC_ARM/startup_MK20D5.s 2015-03-22 10:33:22.779866000 +0900 -+++ mbed-infinity/startup_MK20D5.s 2015-03-22 10:32:56.483866000 +0900 -@@ -147,6 +147,8 @@ - * __etext: End of code section, i.e., begin of data sections to copy from. - * __data_start__/__data_end__: RAM address range that data should be - * copied to. Both must be aligned to 4 bytes boundary. */ -+ ldr r0, =SystemInit -+ blx r0 - - ldr r1, =__etext - ldr r2, =__data_start__ -@@ -161,8 +163,6 @@ - - .Lflash_to_ram_loop_end: - -- ldr r0, =SystemInit -- blx r0 - ldr r0, =_start - bx r0 - .pool |