@ -1,101 +0,0 @@ | |||
/* | |||
* Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com | |||
* (C) 2016 flabbergast <s3+flabbergast@sdfeu.org> | |||
* | |||
* Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the "Software"), | |||
* to deal in the Software without restriction, including without limitation | |||
* the rights to use, copy, modify, merge, publish, distribute, sublicense, | |||
* and/or sell copies of the Software, and to permit persons to whom the | |||
* Software is furnished to do so, subject to the following conditions: | |||
* | |||
* The above copyright notice and this permission notice shall be included in | |||
* all copies or substantial portions of the Software. | |||
* | |||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
* SOFTWARE. | |||
*/ | |||
/* | |||
* MK20DX256 memory setup. | |||
*/ | |||
MEMORY | |||
{ | |||
flash0 : org = 0x00000000, len = 0x400 | |||
flash1 : org = 0x00000400, len = 0x10 | |||
flash2 : org = 0x00000410, len = 256k - 0x410 | |||
flash3 : org = 0x00000000, len = 0 | |||
flash4 : org = 0x00000000, len = 0 | |||
flash5 : org = 0x00000000, len = 0 | |||
flash6 : org = 0x00000000, len = 0 | |||
flash7 : org = 0x00000000, len = 0 | |||
ram0 : org = 0x1FFF8000, len = 64k | |||
ram1 : org = 0x00000000, len = 0 | |||
ram2 : org = 0x00000000, len = 0 | |||
ram3 : org = 0x00000000, len = 0 | |||
ram4 : org = 0x00000000, len = 0 | |||
ram5 : org = 0x00000000, len = 0 | |||
ram6 : org = 0x00000000, len = 0 | |||
ram7 : org = 0x00000000, len = 0 | |||
} | |||
/* Flash region for the configuration bytes.*/ | |||
SECTIONS | |||
{ | |||
.cfmprotect : ALIGN(4) SUBALIGN(4) | |||
{ | |||
KEEP(*(.cfmconfig)) | |||
} > flash1 | |||
} | |||
/* For each data/text section two region are defined, a virtual region | |||
and a load region (_LMA suffix).*/ | |||
/* Flash region to be used for exception vectors.*/ | |||
REGION_ALIAS("VECTORS_FLASH", flash0); | |||
REGION_ALIAS("VECTORS_FLASH_LMA", flash0); | |||
/* Flash region to be used for constructors and destructors.*/ | |||
REGION_ALIAS("XTORS_FLASH", flash2); | |||
REGION_ALIAS("XTORS_FLASH_LMA", flash2); | |||
/* Flash region to be used for code text.*/ | |||
REGION_ALIAS("TEXT_FLASH", flash2); | |||
REGION_ALIAS("TEXT_FLASH_LMA", flash2); | |||
/* Flash region to be used for read only data.*/ | |||
REGION_ALIAS("RODATA_FLASH", flash2); | |||
REGION_ALIAS("RODATA_FLASH_LMA", flash2); | |||
/* Flash region to be used for various.*/ | |||
REGION_ALIAS("VARIOUS_FLASH", flash2); | |||
REGION_ALIAS("VARIOUS_FLASH_LMA", flash2); | |||
/* Flash region to be used for RAM(n) initialization data.*/ | |||
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2); | |||
/* RAM region to be used for Main stack. This stack accommodates the processing | |||
of all exceptions and interrupts.*/ | |||
REGION_ALIAS("MAIN_STACK_RAM", ram0); | |||
/* RAM region to be used for the process stack. This is the stack used by | |||
the main() function.*/ | |||
REGION_ALIAS("PROCESS_STACK_RAM", ram0); | |||
/* RAM region to be used for data segment.*/ | |||
REGION_ALIAS("DATA_RAM", ram0); | |||
REGION_ALIAS("DATA_RAM_LMA", flash2); | |||
/* RAM region to be used for BSS segment.*/ | |||
REGION_ALIAS("BSS_RAM", ram0); | |||
/* RAM region to be used for the default heap.*/ | |||
REGION_ALIAS("HEAP_RAM", ram0); | |||
/* Generic rules inclusion.*/ | |||
INCLUDE rules.ld |
@ -1,105 +0,0 @@ | |||
/* | |||
* Copyright (C) 2013-2016 Fabio Utzig, http://fabioutzig.com | |||
* (C) 2016 flabbergast <s3+flabbergast@sdfeu.org> | |||
* | |||
* Permission is hereby granted, free of charge, to any person obtaining | |||
* a copy of this software and associated documentation files (the "Software"), | |||
* to deal in the Software without restriction, including without limitation | |||
* the rights to use, copy, modify, merge, publish, distribute, sublicense, | |||
* and/or sell copies of the Software, and to permit persons to whom the | |||
* Software is furnished to do so, subject to the following conditions: | |||
* | |||
* The above copyright notice and this permission notice shall be included in | |||
* all copies or substantial portions of the Software. | |||
* | |||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | |||
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | |||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | |||
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | |||
* SOFTWARE. | |||
*/ | |||
/* | |||
* KL26Z64 memory setup. | |||
*/ | |||
MEMORY | |||
{ | |||
flash0 : org = 0x00000000, len = 0x100 | |||
flash1 : org = 0x00000400, len = 0x10 | |||
flash2 : org = 0x00000410, len = 62k - 0x410 | |||
flash3 : org = 0x0000F800, len = 2k | |||
flash4 : org = 0x00000000, len = 0 | |||
flash5 : org = 0x00000000, len = 0 | |||
flash6 : org = 0x00000000, len = 0 | |||
flash7 : org = 0x00000000, len = 0 | |||
ram0 : org = 0x1FFFF800, len = 8k | |||
ram1 : org = 0x00000000, len = 0 | |||
ram2 : org = 0x00000000, len = 0 | |||
ram3 : org = 0x00000000, len = 0 | |||
ram4 : org = 0x00000000, len = 0 | |||
ram5 : org = 0x00000000, len = 0 | |||
ram6 : org = 0x00000000, len = 0 | |||
ram7 : org = 0x00000000, len = 0 | |||
} | |||
/* Flash region for the configuration bytes.*/ | |||
SECTIONS | |||
{ | |||
.cfmprotect : ALIGN(4) SUBALIGN(4) | |||
{ | |||
KEEP(*(.cfmconfig)) | |||
} > flash1 | |||
} | |||
/* For each data/text section two region are defined, a virtual region | |||
and a load region (_LMA suffix).*/ | |||
/* Flash region to be used for exception vectors.*/ | |||
REGION_ALIAS("VECTORS_FLASH", flash0); | |||
REGION_ALIAS("VECTORS_FLASH_LMA", flash0); | |||
/* Flash region to be used for constructors and destructors.*/ | |||
REGION_ALIAS("XTORS_FLASH", flash2); | |||
REGION_ALIAS("XTORS_FLASH_LMA", flash2); | |||
/* Flash region to be used for code text.*/ | |||
REGION_ALIAS("TEXT_FLASH", flash2); | |||
REGION_ALIAS("TEXT_FLASH_LMA", flash2); | |||
/* Flash region to be used for read only data.*/ | |||
REGION_ALIAS("RODATA_FLASH", flash2); | |||
REGION_ALIAS("RODATA_FLASH_LMA", flash2); | |||
/* Flash region to be used for various.*/ | |||
REGION_ALIAS("VARIOUS_FLASH", flash2); | |||
REGION_ALIAS("VARIOUS_FLASH_LMA", flash2); | |||
/* Flash region to be used for RAM(n) initialization data.*/ | |||
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash2); | |||
/* RAM region to be used for Main stack. This stack accommodates the processing | |||
of all exceptions and interrupts.*/ | |||
REGION_ALIAS("MAIN_STACK_RAM", ram0); | |||
/* RAM region to be used for the process stack. This is the stack used by | |||
the main() function.*/ | |||
REGION_ALIAS("PROCESS_STACK_RAM", ram0); | |||
/* RAM region to be used for data segment.*/ | |||
REGION_ALIAS("DATA_RAM", ram0); | |||
REGION_ALIAS("DATA_RAM_LMA", flash2); | |||
/* RAM region to be used for BSS segment.*/ | |||
REGION_ALIAS("BSS_RAM", ram0); | |||
/* RAM region to be used for the default heap.*/ | |||
REGION_ALIAS("HEAP_RAM", ram0); | |||
__eeprom_workarea_start__ = ORIGIN(flash3); | |||
__eeprom_workarea_size__ = LENGTH(flash3); | |||
__eeprom_workarea_end__ = __eeprom_workarea_start__ + __eeprom_workarea_size__; | |||
/* Generic rules inclusion.*/ | |||
INCLUDE rules.ld |
@ -1,5 +1,6 @@ | |||
# MCU name | |||
MCU = MKL26Z64 | |||
USE_CHIBIOS_CONTRIB = yes | |||
# Enter lower-power sleep mode when on the ChibiOS idle thread | |||
OPT_DEFS += -DCORTEX_ENABLE_WFI_IDLE=TRUE |