diff options
| -rw-r--r-- | drivers/boards/ld/MK20DX256.ld | 101 | ||||
| -rw-r--r-- | keyboards/handwired/bluepill/ld/MKL26Z64.ld | 105 | ||||
| -rw-r--r-- | keyboards/handwired/onekey/teensy_lc/rules.mk | 1 | ||||
| -rw-r--r-- | tmk_core/chibios.mk | 30 | ||||
| -rwxr-xr-x | util/chibios-upgrader.sh | 2 |
5 files changed, 29 insertions, 210 deletions
diff --git a/drivers/boards/ld/MK20DX256.ld b/drivers/boards/ld/MK20DX256.ld deleted file mode 100644 index 66bc6b81e..000000000 --- a/drivers/boards/ld/MK20DX256.ld +++ /dev/null | |||
| @@ -1,101 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com | ||
| 3 | * (C) 2016 flabbergast <s3+flabbergast@sdfeu.org> | ||
| 4 | * | ||
| 5 | * Permission is hereby granted, free of charge, to any person obtaining | ||
| 6 | * a copy of this software and associated documentation files (the "Software"), | ||
| 7 | * to deal in the Software without restriction, including without limitation | ||
| 8 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 9 | * and/or sell copies of the Software, and to permit persons to whom the | ||
| 10 | * Software is furnished to do so, subject to the following conditions: | ||
| 11 | * | ||
| 12 | * The above copyright notice and this permission notice shall be included in | ||
| 13 | * all copies or substantial portions of the Software. | ||
| 14 | * | ||
| 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 16 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 21 | * SOFTWARE. | ||
| 22 | */ | ||
| 23 | |||
| 24 | /* | ||
| 25 | * MK20DX256 memory setup. | ||
| 26 | */ | ||
| 27 | MEMORY | ||
| 28 | { | ||
| 29 | flash0 : org = 0x00000000, len = 0x400 | ||
| 30 | flash1 : org = 0x00000400, len = 0x10 | ||
| 31 | flash2 : org = 0x00000410, len = 256k - 0x410 | ||
| 32 | flash3 : org = 0x00000000, len = 0 | ||
| 33 | flash4 : org = 0x00000000, len = 0 | ||
| 34 | flash5 : org = 0x00000000, len = 0 | ||
| 35 | flash6 : org = 0x00000000, len = 0 | ||
| 36 | flash7 : org = 0x00000000, len = 0 | ||
| 37 | ram0 : org = 0x1FFF8000, len = 64k | ||
| 38 | ram1 : org = 0x00000000, len = 0 | ||
| 39 | ram2 : org = 0x00000000, len = 0 | ||
| 40 | ram3 : org = 0x00000000, len = 0 | ||
| 41 | ram4 : org = 0x00000000, len = 0 | ||
| 42 | ram5 : org = 0x00000000, len = 0 | ||
| 43 | ram6 : org = 0x00000000, len = 0 | ||
| 44 | ram7 : org = 0x00000000, len = 0 | ||
| 45 | } | ||
| 46 | |||
| 47 | /* Flash region for the configuration bytes.*/ | ||
| 48 | SECTIONS | ||
| 49 | { | ||
| 50 | .cfmprotect : ALIGN(4) SUBALIGN(4) | ||
| 51 | { | ||
| 52 | KEEP(*(.cfmconfig)) | ||
| 53 | } > flash1 | ||
| 54 | } | ||
| 55 | |||
| 56 | /* For each data/text section two region are defined, a virtual region | ||
| 57 | and a load region (_LMA suffix).*/ | ||
| 58 | |||
| 59 | /* Flash region to be used for exception vectors.*/ | ||
| 60 | REGION_ALIAS("VECTORS_FLASH", flash0); | ||
| 61 | REGION_ALIAS("VECTORS_FLASH_LMA", flash0); | ||
| 62 | |||
| 63 | /* Flash region to be used for constructors and destructors.*/ | ||
| 64 | REGION_ALIAS("XTORS_FLASH", flash2); | ||
| 65 | REGION_ALIAS("XTORS_FLASH_LMA", flash2); | ||
| 66 | |||
| 67 | /* Flash region to be used for code text.*/ | ||
| 68 | REGION_ALIAS("TEXT_FLASH", flash2); | ||
| 69 | REGION_ALIAS("TEXT_FLASH_LMA", flash2); | ||
| 70 | |||
| 71 | /* Flash region to be used for read only data.*/ | ||
| 72 | REGION_ALIAS("RODATA_FLASH", flash2); | ||
| 73 | REGION_ALIAS("RODATA_FLASH_LMA", flash2); | ||
| 74 | |||
| 75 | /* Flash region to be used for various.*/ | ||
| 76 | REGION_ALIAS("VARIOUS_FLASH", flash2); | ||
| 77 | REGION_ALIAS("VARIOUS_FLASH_LMA", flash2); | ||
| 78 | |||
| 79 | /* Flash region to be used for RAM(n) initialization data.*/ | ||
| 80 | REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2); | ||
| 81 | |||
| 82 | /* RAM region to be used for Main stack. This stack accommodates the processing | ||
| 83 | of all exceptions and interrupts.*/ | ||
| 84 | REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||
| 85 | |||
| 86 | /* RAM region to be used for the process stack. This is the stack used by | ||
| 87 | the main() function.*/ | ||
| 88 | REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||
| 89 | |||
| 90 | /* RAM region to be used for data segment.*/ | ||
| 91 | REGION_ALIAS("DATA_RAM", ram0); | ||
| 92 | REGION_ALIAS("DATA_RAM_LMA", flash2); | ||
| 93 | |||
| 94 | /* RAM region to be used for BSS segment.*/ | ||
| 95 | REGION_ALIAS("BSS_RAM", ram0); | ||
| 96 | |||
| 97 | /* RAM region to be used for the default heap.*/ | ||
| 98 | REGION_ALIAS("HEAP_RAM", ram0); | ||
| 99 | |||
| 100 | /* Generic rules inclusion.*/ | ||
| 101 | INCLUDE rules.ld | ||
diff --git a/keyboards/handwired/bluepill/ld/MKL26Z64.ld b/keyboards/handwired/bluepill/ld/MKL26Z64.ld deleted file mode 100644 index c4ca8b874..000000000 --- a/keyboards/handwired/bluepill/ld/MKL26Z64.ld +++ /dev/null | |||
| @@ -1,105 +0,0 @@ | |||
| 1 | /* | ||
| 2 | * Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com | ||
| 3 | * (C) 2016 flabbergast <s3+flabbergast@sdfeu.org> | ||
| 4 | * | ||
| 5 | * Permission is hereby granted, free of charge, to any person obtaining | ||
| 6 | * a copy of this software and associated documentation files (the "Software"), | ||
| 7 | * to deal in the Software without restriction, including without limitation | ||
| 8 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 9 | * and/or sell copies of the Software, and to permit persons to whom the | ||
| 10 | * Software is furnished to do so, subject to the following conditions: | ||
| 11 | * | ||
| 12 | * The above copyright notice and this permission notice shall be included in | ||
| 13 | * all copies or substantial portions of the Software. | ||
| 14 | * | ||
| 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 16 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 17 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 18 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 19 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| 20 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| 21 | * SOFTWARE. | ||
| 22 | */ | ||
| 23 | |||
| 24 | /* | ||
| 25 | * KL26Z64 memory setup. | ||
| 26 | */ | ||
| 27 | MEMORY | ||
| 28 | { | ||
| 29 | flash0 : org = 0x00000000, len = 0x100 | ||
| 30 | flash1 : org = 0x00000400, len = 0x10 | ||
| 31 | flash2 : org = 0x00000410, len = 62k - 0x410 | ||
| 32 | flash3 : org = 0x0000F800, len = 2k | ||
| 33 | flash4 : org = 0x00000000, len = 0 | ||
| 34 | flash5 : org = 0x00000000, len = 0 | ||
| 35 | flash6 : org = 0x00000000, len = 0 | ||
| 36 | flash7 : org = 0x00000000, len = 0 | ||
| 37 | ram0 : org = 0x1FFFF800, len = 8k | ||
| 38 | ram1 : org = 0x00000000, len = 0 | ||
| 39 | ram2 : org = 0x00000000, len = 0 | ||
| 40 | ram3 : org = 0x00000000, len = 0 | ||
| 41 | ram4 : org = 0x00000000, len = 0 | ||
| 42 | ram5 : org = 0x00000000, len = 0 | ||
| 43 | ram6 : org = 0x00000000, len = 0 | ||
| 44 | ram7 : org = 0x00000000, len = 0 | ||
| 45 | } | ||
| 46 | |||
| 47 | /* Flash region for the configuration bytes.*/ | ||
| 48 | SECTIONS | ||
| 49 | { | ||
| 50 | .cfmprotect : ALIGN(4) SUBALIGN(4) | ||
| 51 | { | ||
| 52 | KEEP(*(.cfmconfig)) | ||
| 53 | } > flash1 | ||
| 54 | } | ||
| 55 | |||
| 56 | /* For each data/text section two region are defined, a virtual region | ||
| 57 | and a load region (_LMA suffix).*/ | ||
| 58 | |||
| 59 | /* Flash region to be used for exception vectors.*/ | ||
| 60 | REGION_ALIAS("VECTORS_FLASH", flash0); | ||
| 61 | REGION_ALIAS("VECTORS_FLASH_LMA", flash0); | ||
| 62 | |||
| 63 | /* Flash region to be used for constructors and destructors.*/ | ||
| 64 | REGION_ALIAS("XTORS_FLASH", flash2); | ||
| 65 | REGION_ALIAS("XTORS_FLASH_LMA", flash2); | ||
| 66 | |||
| 67 | /* Flash region to be used for code text.*/ | ||
| 68 | REGION_ALIAS("TEXT_FLASH", flash2); | ||
| 69 | REGION_ALIAS("TEXT_FLASH_LMA", flash2); | ||
| 70 | |||
| 71 | /* Flash region to be used for read only data.*/ | ||
| 72 | REGION_ALIAS("RODATA_FLASH", flash2); | ||
| 73 | REGION_ALIAS("RODATA_FLASH_LMA", flash2); | ||
| 74 | |||
| 75 | /* Flash region to be used for various.*/ | ||
| 76 | REGION_ALIAS("VARIOUS_FLASH", flash2); | ||
| 77 | REGION_ALIAS("VARIOUS_FLASH_LMA", flash2); | ||
| 78 | |||
| 79 | /* Flash region to be used for RAM(n) initialization data.*/ | ||
| 80 | REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2); | ||
| 81 | |||
| 82 | /* RAM region to be used for Main stack. This stack accommodates the processing | ||
| 83 | of all exceptions and interrupts.*/ | ||
| 84 | REGION_ALIAS("MAIN_STACK_RAM", ram0); | ||
| 85 | |||
| 86 | /* RAM region to be used for the process stack. This is the stack used by | ||
| 87 | the main() function.*/ | ||
| 88 | REGION_ALIAS("PROCESS_STACK_RAM", ram0); | ||
| 89 | |||
| 90 | /* RAM region to be used for data segment.*/ | ||
| 91 | REGION_ALIAS("DATA_RAM", ram0); | ||
| 92 | REGION_ALIAS("DATA_RAM_LMA", flash2); | ||
| 93 | |||
| 94 | /* RAM region to be used for BSS segment.*/ | ||
| 95 | REGION_ALIAS("BSS_RAM", ram0); | ||
| 96 | |||
| 97 | /* RAM region to be used for the default heap.*/ | ||
| 98 | REGION_ALIAS("HEAP_RAM", ram0); | ||
| 99 | |||
| 100 | __eeprom_workarea_start__ = ORIGIN(flash3); | ||
| 101 | __eeprom_workarea_size__ = LENGTH(flash3); | ||
| 102 | __eeprom_workarea_end__ = __eeprom_workarea_start__ + __eeprom_workarea_size__; | ||
| 103 | |||
| 104 | /* Generic rules inclusion.*/ | ||
| 105 | INCLUDE rules.ld | ||
diff --git a/keyboards/handwired/onekey/teensy_lc/rules.mk b/keyboards/handwired/onekey/teensy_lc/rules.mk index c30730725..b3daabe31 100644 --- a/keyboards/handwired/onekey/teensy_lc/rules.mk +++ b/keyboards/handwired/onekey/teensy_lc/rules.mk | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | # MCU name | 1 | # MCU name |
| 2 | MCU = MKL26Z64 | 2 | MCU = MKL26Z64 |
| 3 | USE_CHIBIOS_CONTRIB = yes | ||
| 3 | 4 | ||
| 4 | # Enter lower-power sleep mode when on the ChibiOS idle thread | 5 | # Enter lower-power sleep mode when on the ChibiOS idle thread |
| 5 | OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE | 6 | OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE |
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index 358c3d099..577603080 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk | |||
| @@ -80,7 +80,8 @@ ifeq ("$(wildcard $(BOARD_MK))","") | |||
| 80 | endif | 80 | endif |
| 81 | 81 | ||
| 82 | include $(BOARD_MK) | 82 | include $(BOARD_MK) |
| 83 | include $(CHIBIOS)/os/hal/osal/rt/osal.mk | 83 | -include $(CHIBIOS)/os/hal/osal/rt/osal.mk # ChibiOS <= 19.x |
| 84 | -include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk # ChibiOS >= 20.x | ||
| 84 | # RTOS files (optional). | 85 | # RTOS files (optional). |
| 85 | include $(CHIBIOS)/os/rt/rt.mk | 86 | include $(CHIBIOS)/os/rt/rt.mk |
| 86 | # Compability with old version | 87 | # Compability with old version |
| @@ -112,6 +113,7 @@ else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/ld/$(MCU_LDSCRIPT).ld)","") | |||
| 112 | LDSCRIPT = $(TOP_DIR)/drivers/boards/ld/$(MCU_LDSCRIPT).ld | 113 | LDSCRIPT = $(TOP_DIR)/drivers/boards/ld/$(MCU_LDSCRIPT).ld |
| 113 | else ifneq ("$(wildcard $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld)","") | 114 | else ifneq ("$(wildcard $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld)","") |
| 114 | LDSCRIPT = $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld | 115 | LDSCRIPT = $(STARTUPLD_CONTRIB)/$(MCU_LDSCRIPT).ld |
| 116 | USE_CHIBIOS_CONTRIB = yes | ||
| 115 | else | 117 | else |
| 116 | LDSCRIPT = $(STARTUPLD)/$(MCU_LDSCRIPT).ld | 118 | LDSCRIPT = $(STARTUPLD)/$(MCU_LDSCRIPT).ld |
| 117 | endif | 119 | endif |
| @@ -122,7 +124,6 @@ CHIBISRC = $(STARTUPSRC) \ | |||
| 122 | $(OSALSRC) \ | 124 | $(OSALSRC) \ |
| 123 | $(HALSRC) \ | 125 | $(HALSRC) \ |
| 124 | $(PLATFORMSRC) \ | 126 | $(PLATFORMSRC) \ |
| 125 | $(PLATFORMSRC_CONTRIB) \ | ||
| 126 | $(BOARDSRC) \ | 127 | $(BOARDSRC) \ |
| 127 | $(STREAMSSRC) \ | 128 | $(STREAMSSRC) \ |
| 128 | $(CHIBIOS)/os/various/syscalls.c | 129 | $(CHIBIOS)/os/various/syscalls.c |
| @@ -134,10 +135,33 @@ CHIBISRC := $(patsubst $(TOP_DIR)/%,%,$(CHIBISRC)) | |||
| 134 | 135 | ||
| 135 | EXTRAINCDIRS += $(CHIBIOS)/os/license $(CHIBIOS)/os/oslib/include \ | 136 | EXTRAINCDIRS += $(CHIBIOS)/os/license $(CHIBIOS)/os/oslib/include \ |
| 136 | $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ | 137 | $(STARTUPINC) $(KERNINC) $(PORTINC) $(OSALINC) \ |
| 137 | $(HALINC) $(PLATFORMINC) $(PLATFORMINC_CONTRIB) $(BOARDINC) $(TESTINC) \ | 138 | $(HALINC) $(PLATFORMINC) $(BOARDINC) $(TESTINC) \ |
| 138 | $(STREAMSINC) $(CHIBIOS)/os/various $(COMMON_VPATH) | 139 | $(STREAMSINC) $(CHIBIOS)/os/various $(COMMON_VPATH) |
| 139 | 140 | ||
| 140 | # | 141 | # |
| 142 | # ChibiOS-Contrib | ||
| 143 | ############################################################################## | ||
| 144 | |||
| 145 | # Work out if we're using ChibiOS-Contrib by checking if halconf_community.h exists | ||
| 146 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/halconf_community.h)","") | ||
| 147 | USE_CHIBIOS_CONTRIB = yes | ||
| 148 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/halconf_community.h)","") | ||
| 149 | USE_CHIBIOS_CONTRIB = yes | ||
| 150 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/halconf_community.h)","") | ||
| 151 | USE_CHIBIOS_CONTRIB = yes | ||
| 152 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/halconf_community.h)","") | ||
| 153 | USE_CHIBIOS_CONTRIB = yes | ||
| 154 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/halconf_community.h)","") | ||
| 155 | USE_CHIBIOS_CONTRIB = yes | ||
| 156 | endif | ||
| 157 | |||
| 158 | ifeq ($(strip $(USE_CHIBIOS_CONTRIB)),yes) | ||
| 159 | include $(CHIBIOS_CONTRIB)/os/hal/hal.mk | ||
| 160 | CHIBISRC += $(PLATFORMSRC_CONTRIB) $(HALSRC_CONTRIB) | ||
| 161 | EXTRAINCDIRS += $(PLATFORMINC_CONTRIB) $(HALINC_CONTRIB) $(CHIBIOS_CONTRIB)/os/various | ||
| 162 | endif | ||
| 163 | |||
| 164 | # | ||
| 141 | # Project, sources and paths | 165 | # Project, sources and paths |
| 142 | ############################################################################## | 166 | ############################################################################## |
| 143 | 167 | ||
diff --git a/util/chibios-upgrader.sh b/util/chibios-upgrader.sh index 4f2712595..2174da3cf 100755 --- a/util/chibios-upgrader.sh +++ b/util/chibios-upgrader.sh | |||
| @@ -38,7 +38,7 @@ find_chibi_files() { | |||
| 38 | local search_path="$1" | 38 | local search_path="$1" |
| 39 | shift | 39 | shift |
| 40 | local conditions=( "$@" ) | 40 | local conditions=( "$@" ) |
| 41 | find "$search_path" -not -path '*/lib/chibios*' -and -not -path '*/lib/ugfx*' -and -not -path '*/util/*' -and \( "${conditions[@]}" \) | sort | 41 | find -L "$search_path" -not -path '*/lib/chibios*' -and -not -path '*/lib/ugfx*' -and -not -path '*/util/*' -and \( "${conditions[@]}" \) | sort |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | revert_chibi_files() { | 44 | revert_chibi_files() { |
