qmk_firmware/platforms/chibios/common/ld/MKL26Z64.ld
James Young c66df16644
2020 November 28 Breaking Changes Update ()
* Branch point for 2020 November 28 Breaking Change                                                

* Remove matrix_col_t to allow MATRIX_ROWS > 32 ()                                           

* Add support for soft serial to ATmega32U2 ()                                               

* Change MIDI velocity implementation to allow direct control of velocity value ()            

* Add ability to build a subset of all keyboards based on platform.                                

* Actually use eeprom_driver_init().                                                               

* Make bootloader_jump weak for ChibiOS. ()                                                  

* Joystick 16-bit support ()                                                                 

* Per-encoder resolutions ()                                                                 

* Share button state from mousekey to pointing_device ()                                     

* Add hotfix for chibios keyboards not wake ()                                               

* Add advanced/efficient RGB Matrix Indicators ()                                             

* Naming change.                                                                                   

* Support for STM32 GPIOF,G,H,I,J,K ()                                                       

* Add milc as a dependency and remove the installed milc ()                                  

* ChibiOS upgrade: early init conversions ()                                                 

* ChibiOS upgrade: configuration file migrator ()                                             

* Haptic and solenoid cleanup ()                                                              

* XD75 cleanup ()                                                                            

* OLED display update interval support ()                                                    

* Add definition based on currently-selected serial driver. ()                               

* New feature: Retro Tapping per key ()                                                      

* Allow for modification of output RGB values when using rgblight/rgb_matrix. ()             

* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. ()

* Rescale both ChibiOS and AVR backlighting.                                                       

* Reduce Helix keyboard build variation ()                                                    

* Minor change to behavior allowing display updates to continue between task ticks ()        

* Some GPIO manipulations in matrix.c change to atomic. ()                                   

* qmk cformat ()                                                                             

* [Keyboard] Update the Speedo firmware for v3.0 ()                                          

* Maartenwut/Maarten namechange to evyd13/Evy ()                                             

* [quantum] combine repeated lines of code ()                                                

* Add step sequencer feature ()                                                               

* aeboards/ext65 refactor ()                                                                 

* Refactor xelus/dawn60 for Rev2 later ()                                                    

* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk ()                                 

* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` ()                                    

* update chibios os usb for the otg driver ()                                                 

* Remove HD44780 References, Part 4 ()                                                       

* [Keyboard] Add Valor FRL TKL (+refactor) ()                                                

* Fix cursor position bug in oled_write_raw functions ()                                     

* Fixup version.h writing when using SKIP_VERSION=yes ()                                     

* Allow for certain code in the codebase assuming length of string. ()                       

* Add AT90USB support for serial.c ()                                                        

* Auto shift: support repeats and early registration ()                                       

* Rename ledmatrix.h to match .c file ()                                                      

* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER ()                                        

* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER ()                                        

* Merge point for 2020 Nov 28 Breaking Change
2020-11-28 12:02:18 -08:00

106 lines
3.6 KiB
Plaintext

/*
* 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