qmk

QMK Firmware
git clone git://git.z3bra.org/qmk.git
Log | Files | Refs | Submodules | LICENSE

STM32F103x8_stm32duino_bootloader.ld (2938B)


      1 /*
      2     ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
      3 
      4     Licensed under the Apache License, Version 2.0 (the "License");
      5     you may not use this file except in compliance with the License.
      6     You may obtain a copy of the License at
      7 
      8         http://www.apache.org/licenses/LICENSE-2.0
      9 
     10     Unless required by applicable law or agreed to in writing, software
     11     distributed under the License is distributed on an "AS IS" BASIS,
     12     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13     See the License for the specific language governing permissions and
     14     limitations under the License.
     15 */
     16 
     17 /*
     18  * ST32F103xB memory setup for use with the maplemini bootloader.
     19  * You will have to
     20  * 	#define CORTEX_VTOR_INIT 0x5000
     21  * in your projects chconf.h
     22  */
     23 MEMORY
     24 {
     25     flash0  : org = 0x08002000, len = 64k - 0x2000
     26     flash1  : org = 0x00000000, len = 0
     27     flash2  : org = 0x00000000, len = 0
     28     flash3  : org = 0x00000000, len = 0
     29     flash4  : org = 0x00000000, len = 0
     30     flash5  : org = 0x00000000, len = 0
     31     flash6  : org = 0x00000000, len = 0
     32     flash7  : org = 0x00000000, len = 0
     33     ram0    : org = 0x20000000, len = 20k
     34     ram1    : org = 0x00000000, len = 0
     35     ram2    : org = 0x00000000, len = 0
     36     ram3    : org = 0x00000000, len = 0
     37     ram4    : org = 0x00000000, len = 0
     38     ram5    : org = 0x00000000, len = 0
     39     ram6    : org = 0x00000000, len = 0
     40     ram7    : org = 0x00000000, len = 0
     41 }
     42 
     43 /* For each data/text section two region are defined, a virtual region
     44    and a load region (_LMA suffix).*/
     45 
     46 /* Flash region to be used for exception vectors.*/
     47 REGION_ALIAS("VECTORS_FLASH", flash0);
     48 REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
     49 
     50 /* Flash region to be used for constructors and destructors.*/
     51 REGION_ALIAS("XTORS_FLASH", flash0);
     52 REGION_ALIAS("XTORS_FLASH_LMA", flash0);
     53 
     54 /* Flash region to be used for code text.*/
     55 REGION_ALIAS("TEXT_FLASH", flash0);
     56 REGION_ALIAS("TEXT_FLASH_LMA", flash0);
     57 
     58 /* Flash region to be used for read only data.*/
     59 REGION_ALIAS("RODATA_FLASH", flash0);
     60 REGION_ALIAS("RODATA_FLASH_LMA", flash0);
     61 
     62 /* Flash region to be used for various.*/
     63 REGION_ALIAS("VARIOUS_FLASH", flash0);
     64 REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
     65 
     66 /* Flash region to be used for RAM(n) initialization data.*/
     67 REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
     68 
     69 /* RAM region to be used for Main stack. This stack accommodates the processing
     70    of all exceptions and interrupts.*/
     71 REGION_ALIAS("MAIN_STACK_RAM", ram0);
     72 
     73 /* RAM region to be used for the process stack. This is the stack used by
     74    the main() function.*/
     75 REGION_ALIAS("PROCESS_STACK_RAM", ram0);
     76 
     77 /* RAM region to be used for data segment.*/
     78 REGION_ALIAS("DATA_RAM", ram0);
     79 REGION_ALIAS("DATA_RAM_LMA", flash0);
     80 
     81 /* RAM region to be used for BSS segment.*/
     82 REGION_ALIAS("BSS_RAM", ram0);
     83 
     84 /* RAM region to be used for the default heap.*/
     85 REGION_ALIAS("HEAP_RAM", ram0);
     86 
     87 /* Generic rules inclusion.*/
     88 INCLUDE rules.ld