|  |  |  | /* | 
					
						
							|  |  |  |     ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Licensed under the Apache License, Version 2.0 (the "License"); | 
					
						
							|  |  |  |     you may not use this file except in compliance with the License. | 
					
						
							|  |  |  |     You may obtain a copy of the License at | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         http://www.apache.org/licenses/LICENSE-2.0 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     Unless required by applicable law or agreed to in writing, software | 
					
						
							|  |  |  |     distributed under the License is distributed on an "AS IS" BASIS, | 
					
						
							|  |  |  |     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
					
						
							|  |  |  |     See the License for the specific language governing permissions and | 
					
						
							|  |  |  |     limitations under the License. | 
					
						
							|  |  |  | */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * ST32F103xB memory setup for use with the maplemini bootloader. | 
					
						
							|  |  |  |  * You will have to | 
					
						
							|  |  |  |  * 	#define CORTEX_VTOR_INIT 0x5000 | 
					
						
							|  |  |  |  * in your projects chconf.h | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | MEMORY | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     flash0  : org = 0x08002000, len = 128k - 0x2000 | 
					
						
							|  |  |  |     flash1  : org = 0x00000000, len = 0 | 
					
						
							|  |  |  |     flash2  : org = 0x00000000, len = 0 | 
					
						
							|  |  |  |     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 = 0x20000000, len = 20k | 
					
						
							|  |  |  |     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 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* 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", flash0); | 
					
						
							|  |  |  | REGION_ALIAS("XTORS_FLASH_LMA", flash0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flash region to be used for code text.*/ | 
					
						
							|  |  |  | REGION_ALIAS("TEXT_FLASH", flash0); | 
					
						
							|  |  |  | REGION_ALIAS("TEXT_FLASH_LMA", flash0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flash region to be used for read only data.*/ | 
					
						
							|  |  |  | REGION_ALIAS("RODATA_FLASH", flash0); | 
					
						
							|  |  |  | REGION_ALIAS("RODATA_FLASH_LMA", flash0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flash region to be used for various.*/ | 
					
						
							|  |  |  | REGION_ALIAS("VARIOUS_FLASH", flash0); | 
					
						
							|  |  |  | REGION_ALIAS("VARIOUS_FLASH_LMA", flash0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* Flash region to be used for RAM(n) initialization data.*/ | 
					
						
							|  |  |  | REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* 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", flash0); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* 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 |