mirror of https://github.com/ARMmbed/mbed-os.git
Added linker and startup file
parent
00ca439e66
commit
4880f5375f
|
@ -0,0 +1,45 @@
|
|||
/*###ICF### Section handled by ICF editor, don't touch! ****/
|
||||
/*-Editor annotation file-*/
|
||||
/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
|
||||
/*-Specials-*/
|
||||
define symbol __ICFEDIT_intvec_start__ = 0x00000000;
|
||||
/*-Memory Regions-*/
|
||||
define symbol __ICFEDIT_region_ROM_start__ = 0x00000000;
|
||||
define symbol __ICFEDIT_region_ROM_end__ = 0x0000FFFF;
|
||||
define symbol __ICFEDIT_region_RAM_start__ = 0x10000000;
|
||||
define symbol __ICFEDIT_region_RAM_end__ = 0x10001FDF;
|
||||
/*-Sizes-*/
|
||||
define symbol __ICFEDIT_size_cstack__ = 0x800;
|
||||
define symbol __ICFEDIT_size_heap__ = 0x800;
|
||||
/**** End of ICF editor section. ###ICF###*/
|
||||
|
||||
define symbol __CRP_start__ = 0x000002FC;
|
||||
define symbol __CRP_end__ = 0x000002FF;
|
||||
|
||||
define symbol __region_USB_PKG_RAM_start__ = 0x20004000;
|
||||
define symbol __region_USB_PKG_RAM_end__ = 0x200047FF;
|
||||
|
||||
define symbol __RAM1_start__ = 0x20000000;
|
||||
define symbol __RAM1_end__ = 0x200007FF;
|
||||
|
||||
define memory mem with size = 4G;
|
||||
define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__] - mem:[from __CRP_start__ to __CRP_end__];
|
||||
define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__];
|
||||
define region CRP_region = mem:[from __CRP_start__ to __CRP_end__];
|
||||
define region USB_PKG_RAM_region = mem:[from __region_USB_PKG_RAM_start__ to __region_USB_PKG_RAM_end__];
|
||||
define region RAM1_region = mem:[from __RAM1_start__ to __RAM1_end__];
|
||||
|
||||
define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
|
||||
define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
|
||||
|
||||
initialize by copy { readwrite };
|
||||
do not initialize { section .noinit };
|
||||
|
||||
place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
|
||||
place in ROM_region { readonly };
|
||||
place in RAM_region { readwrite,
|
||||
block CSTACK, block HEAP };
|
||||
place in CRP_region { section .crp };
|
||||
place in USB_PKG_RAM_region
|
||||
{ readwrite data section USB_PACKET_MEMORY };
|
||||
place in RAM1_region { section .sram };
|
|
@ -0,0 +1,168 @@
|
|||
/**************************************************
|
||||
*
|
||||
* Part one of the system initialization code, contains low-level
|
||||
* initialization, plain thumb variant.
|
||||
*
|
||||
* Copyright 2012 IAR Systems. All rights reserved.
|
||||
*
|
||||
* $Revision: 1106 $
|
||||
*
|
||||
**************************************************/
|
||||
|
||||
;
|
||||
; The modules in this file are included in the libraries, and may be replaced
|
||||
; by any user-defined modules that define the PUBLIC symbol _program_start or
|
||||
; a user defined start symbol.
|
||||
; To override the cstartup defined in the library, simply add your modified
|
||||
; version to the workbench project.
|
||||
;
|
||||
; The vector table is normally located at address 0.
|
||||
; When debugging in RAM, it can be located in RAM, aligned to at least 2^6.
|
||||
; The name "__vector_table" has special meaning for C-SPY:
|
||||
; it is where the SP start value is found, and the NVIC vector
|
||||
; table register (VTOR) is initialized to this address if != 0.
|
||||
;
|
||||
; Cortex-M version
|
||||
;
|
||||
|
||||
MODULE ?cstartup
|
||||
|
||||
;; Forward declaration of sections.
|
||||
SECTION CSTACK:DATA:NOROOT(3)
|
||||
|
||||
SECTION .intvec:CODE:NOROOT(2)
|
||||
|
||||
EXTERN __iar_program_start
|
||||
PUBLIC __vector_table
|
||||
PUBLIC __vector_table_0x1c
|
||||
|
||||
DATA
|
||||
__vector_table
|
||||
DCD sfe(CSTACK) ; Top of Stack
|
||||
DCD __iar_program_start ; Reset Handler
|
||||
DCD NMI_Handler ; NMI Handler
|
||||
DCD HardFault_Handler ; Hard Fault Handler
|
||||
DCD MemManage_Handler ; MPU Fault Handler
|
||||
DCD BusFault_Handler ; Bus Fault Handler
|
||||
DCD UsageFault_Handler ; Usage Fault Handler
|
||||
__vector_table_0x1c
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD SVC_Handler ; SVCall Handler
|
||||
DCD DebugMon_Handler ; Debug Monitor Handler
|
||||
DCD 0 ; Reserved
|
||||
DCD PendSV_Handler ; PendSV Handler
|
||||
DCD SysTick_Handler ; SysTick Handler
|
||||
DCD FLEX_INT0_IRQHandler ; GPIO pin interrupt 0
|
||||
DCD FLEX_INT1_IRQHandler ; GPIO pin interrupt 1
|
||||
DCD FLEX_INT2_IRQHandler ; GPIO pin interrupt 2
|
||||
DCD FLEX_INT3_IRQHandler ; GPIO pin interrupt 3
|
||||
DCD FLEX_INT4_IRQHandler ; GPIO pin interrupt 4
|
||||
DCD FLEX_INT5_IRQHandler ; GPIO pin interrupt 5
|
||||
DCD FLEX_INT6_IRQHandler ; GPIO pin interrupt 6
|
||||
DCD FLEX_INT7_IRQHandler ; GPIO pin interrupt 7
|
||||
DCD GINT0_IRQHandler ; GPIO GROUP0 interrupt
|
||||
DCD GINT1_IRQHandler ; GPIO GROUP1 interrupt
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD SSP1_IRQHandler ; SSP1 interrupt
|
||||
DCD I2C_IRQHandler ; I2C interrupt
|
||||
DCD CT16B0_IRQHandler ; CT16B0 Match 0-3, Capture 0
|
||||
DCD CT16B1_IRQHandler ; CT16B1 Match 0-3, Capture 0
|
||||
DCD CT32B0_IRQHandler ; CT32B0 Match 0-3, Capture 0
|
||||
DCD CT32B1_IRQHandler ; CT32B1 Match 0-3, Capture 0
|
||||
DCD SSP0_IRQHandler ; SSP0 interrupt
|
||||
DCD USART_IRQHandler ; USART interrupt
|
||||
DCD USB_IRQHandler ; USB_IRQ interrupt
|
||||
DCD USB_FIQHandler ; USB_FIQ interrupt
|
||||
DCD ADC_IRQHandler ; ADC interrupt
|
||||
DCD WWDT_IRQHandler ; WWDT interrupt
|
||||
DCD BOD_IRQHandler ; BOD interrupt
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD 0 ; Reserved
|
||||
DCD USBWakeup_IRQHandler ; USB_WAKEUP interrupt
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;;
|
||||
;; Default interrupt handlers.
|
||||
;;
|
||||
|
||||
PUBWEAK NMI_Handler
|
||||
PUBWEAK HardFault_Handler
|
||||
PUBWEAK MemManage_Handler
|
||||
PUBWEAK BusFault_Handler
|
||||
PUBWEAK UsageFault_Handler
|
||||
PUBWEAK SVC_Handler
|
||||
PUBWEAK DebugMon_Handler
|
||||
PUBWEAK PendSV_Handler
|
||||
PUBWEAK SysTick_Handler
|
||||
PUBWEAK FLEX_INT0_IRQHandler
|
||||
PUBWEAK FLEX_INT1_IRQHandler
|
||||
PUBWEAK FLEX_INT2_IRQHandler
|
||||
PUBWEAK FLEX_INT3_IRQHandler
|
||||
PUBWEAK FLEX_INT4_IRQHandler
|
||||
PUBWEAK FLEX_INT5_IRQHandler
|
||||
PUBWEAK FLEX_INT6_IRQHandler
|
||||
PUBWEAK FLEX_INT7_IRQHandler
|
||||
PUBWEAK GINT0_IRQHandler
|
||||
PUBWEAK GINT1_IRQHandler
|
||||
PUBWEAK SSP1_IRQHandler
|
||||
PUBWEAK I2C_IRQHandler
|
||||
PUBWEAK CT16B0_IRQHandler
|
||||
PUBWEAK CT16B1_IRQHandler
|
||||
PUBWEAK CT32B0_IRQHandler
|
||||
PUBWEAK CT32B1_IRQHandler
|
||||
PUBWEAK SSP0_IRQHandler
|
||||
PUBWEAK USART_IRQHandler
|
||||
PUBWEAK USB_IRQHandler
|
||||
PUBWEAK USB_FIQHandler
|
||||
PUBWEAK ADC_IRQHandler
|
||||
PUBWEAK WWDT_IRQHandler
|
||||
PUBWEAK BOD_IRQHandler
|
||||
PUBWEAK USBWakeup_IRQHandler
|
||||
|
||||
SECTION .text:CODE:REORDER:NOROOT(1)
|
||||
THUMB
|
||||
|
||||
NMI_Handler
|
||||
HardFault_Handler
|
||||
MemManage_Handler
|
||||
BusFault_Handler
|
||||
UsageFault_Handler
|
||||
SVC_Handler
|
||||
DebugMon_Handler
|
||||
PendSV_Handler
|
||||
SysTick_Handler
|
||||
FLEX_INT0_IRQHandler
|
||||
FLEX_INT1_IRQHandler
|
||||
FLEX_INT2_IRQHandler
|
||||
FLEX_INT3_IRQHandler
|
||||
FLEX_INT4_IRQHandler
|
||||
FLEX_INT5_IRQHandler
|
||||
FLEX_INT6_IRQHandler
|
||||
FLEX_INT7_IRQHandler
|
||||
GINT0_IRQHandler
|
||||
GINT1_IRQHandler
|
||||
SSP1_IRQHandler
|
||||
I2C_IRQHandler
|
||||
CT16B0_IRQHandler
|
||||
CT16B1_IRQHandler
|
||||
CT32B0_IRQHandler
|
||||
CT32B1_IRQHandler
|
||||
SSP0_IRQHandler
|
||||
USART_IRQHandler
|
||||
USB_IRQHandler
|
||||
USB_FIQHandler
|
||||
ADC_IRQHandler
|
||||
WWDT_IRQHandler
|
||||
BOD_IRQHandler
|
||||
USBWakeup_IRQHandler
|
||||
Default_Handler
|
||||
B Default_Handler
|
||||
|
||||
END
|
Loading…
Reference in New Issue