Import Mbed OS hard-float snapshot
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#! armcc -E
|
||||
; MAX32620
|
||||
; 2MB FLASH (0x200000) @ 0x000000000
|
||||
; 256KB RAM (0x40000) @ 0x20000000
|
||||
|
||||
|
||||
|
||||
; MAX32620: 2MB FLASH (0x200000) + 256KB RAM (0x40000)
|
||||
|
||||
#if !defined(MBED_BOOT_STACK_SIZE)
|
||||
#define MBED_BOOT_STACK_SIZE 0x800
|
||||
#endif
|
||||
|
||||
#define Stack_Size MBED_BOOT_STACK_SIZE
|
||||
|
||||
LR_IROM1 0x00000000 0x200000 { ; load region size_region
|
||||
ER_IROM1 0x00000000 0x200000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
}
|
||||
|
||||
; [RAM] Vector table dynamic copy: 65 vectors * 4 bytes = 260 (0x104) + 4
|
||||
; for 8 byte alignment
|
||||
RW_IRAM1 (0x20000000+0x108) (0x40000-0x108-Stack_Size) { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
ARM_LIB_STACK (0x20000000+0x40000) EMPTY -Stack_Size { ; stack
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,305 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
; Copyright (C) 2017 Maxim Integrated Products, Inc., All Rights Reserved.
|
||||
;
|
||||
; 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 MAXIM INTEGRATED 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.
|
||||
;
|
||||
; Except as contained in this notice, the name of Maxim Integrated
|
||||
; Products, Inc. shall not be used except as stated in the Maxim Integrated
|
||||
; Products, Inc. Branding Policy.
|
||||
;
|
||||
; The mere transfer of this software does not imply any licenses
|
||||
; of trade secrets, proprietary technology, copyrights, patents,
|
||||
; trademarks, maskwork rights, or any other form of intellectual
|
||||
; property whatsoever. Maxim Integrated Products, Inc. retains all
|
||||
; ownership rights.
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
; To map FreeRTOS function names to their CMSIS equivalents add following lines to FreeRTOSConfig.h
|
||||
; #define vPortSVCHandler SVC_Handler
|
||||
; #define xPortPendSVHandler PendSV_Handler
|
||||
; #define xPortSysTickHandler SysTick_Handler
|
||||
|
||||
PRESERVE8
|
||||
THUMB
|
||||
|
||||
|
||||
; Vector Table Mapped to Address 0 at Reset
|
||||
AREA RESET, DATA, READONLY
|
||||
EXPORT __Vectors
|
||||
EXPORT __Vectors_End
|
||||
EXPORT __Vectors_Size
|
||||
EXPORT __isr_vector
|
||||
IMPORT |Image$$ARM_LIB_STACK$$ZI$$Limit|
|
||||
|
||||
; Core Level - CM4 ; Most names are to help the FreeRTOS port.
|
||||
__isr_vector
|
||||
__Vectors DCD |Image$$ARM_LIB_STACK$$ZI$$Limit| ; Top of Stack
|
||||
DCD Reset_Handler ; 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
|
||||
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
|
||||
|
||||
; Maxim MAX32620 external interrupts
|
||||
DCD CLKMAN_IRQHandler ; 16:00 CLKMAN
|
||||
DCD PWRMAN_IRQHandler ; 17:01 PWRMAN
|
||||
DCD FLC_IRQHandler ; 18:02 Flash Controller
|
||||
DCD RTC0_IRQHandler ; 19:03 RTC INT0
|
||||
DCD RTC1_IRQHandler ; 20:04 RTC INT1
|
||||
DCD RTC2_IRQHandler ; 21:05 RTC INT2
|
||||
DCD RTC3_IRQHandler ; 22:06 RTC INT3
|
||||
DCD PMU_IRQHandler ; 23:07 PMU
|
||||
DCD USB_IRQHandler ; 24:08 USB
|
||||
DCD AES_IRQHandler ; 25:09 AES
|
||||
DCD MAA_IRQHandler ; 26:10 MAA
|
||||
DCD WDT0_IRQHandler ; 27:11 WATCHDOG0
|
||||
DCD WDT0_P_IRQHandler ; 28:12 WATCHDOG0 PRE-WINDOW
|
||||
DCD WDT1_IRQHandler ; 29:13 WATCHDOG1
|
||||
DCD WDT1_P_IRQHandler ; 30:14 WATCHDOG1 PRE-WINDOW
|
||||
DCD GPIO_P0_IRQHandler ; 31:15 GPIO Port 0
|
||||
DCD GPIO_P1_IRQHandler ; 32:16 GPIO Port 1
|
||||
DCD GPIO_P2_IRQHandler ; 33:17 GPIO Port 2
|
||||
DCD GPIO_P3_IRQHandler ; 34:18 GPIO Port 3
|
||||
DCD GPIO_P4_IRQHandler ; 35:19 GPIO Port 4
|
||||
DCD GPIO_P5_IRQHandler ; 36:20 GPIO Port 5
|
||||
DCD GPIO_P6_IRQHandler ; 37:21 GPIO Port 6
|
||||
DCD TMR0_IRQHandler ; 38:22 Timer32-0
|
||||
DCD TMR16_0_IRQHandler ; 39:23 Timer16-s0
|
||||
DCD TMR1_IRQHandler ; 40:24 Timer32-1
|
||||
DCD TMR16_1_IRQHandler ; 41:25 Timer16-s1
|
||||
DCD TMR2_IRQHandler ; 42:26 Timer32-2
|
||||
DCD TMR16_2_IRQHandler ; 43:27 Timer16-s2
|
||||
DCD TMR3_IRQHandler ; 44:28 Timer32-3
|
||||
DCD TMR16_3_IRQHandler ; 45:29 Timer16-s3
|
||||
DCD TMR4_IRQHandler ; 46:30 Timer32-4
|
||||
DCD TMR16_4_IRQHandler ; 47:31 Timer16-s4
|
||||
DCD TMR5_IRQHandler ; 48:32 Timer32-5
|
||||
DCD TMR16_5_IRQHandler ; 49:33 Timer16-s5
|
||||
DCD UART0_IRQHandler ; 50:34 UART0
|
||||
DCD UART1_IRQHandler ; 51:35 UART1
|
||||
DCD UART2_IRQHandler ; 52:36 UART2
|
||||
DCD UART3_IRQHandler ; 53:37 UART3
|
||||
DCD PT_IRQHandler ; 54:38 PT
|
||||
DCD I2CM0_IRQHandler ; 55:39 I2C Master 0
|
||||
DCD I2CM1_IRQHandler ; 56:40 I2C Master 1
|
||||
DCD I2CM2_IRQHandler ; 57:41 I2C Master 2
|
||||
DCD I2CS_IRQHandler ; 58:42 I2C Slave
|
||||
DCD SPIM0_IRQHandler ; 59:43 SPIM0
|
||||
DCD SPIM1_IRQHandler ; 60:44 SPIM1
|
||||
DCD SPIM2_IRQHandler ; 61:45 SPIM2
|
||||
DCD SPIB_IRQHandler ; 62:46 SPI Bridge
|
||||
DCD OWM_IRQHandler ; 63:47 SPI Bridge
|
||||
DCD AFE_IRQHandler ; 64:48 AFE
|
||||
DCD SPIS_IRQHandler ; 65:49 SPI Slave
|
||||
__Vectors_End
|
||||
|
||||
__Vectors_Size EQU __Vectors_End - __Vectors
|
||||
|
||||
AREA |.text|, CODE, READONLY
|
||||
|
||||
Reset_Handler PROC
|
||||
EXPORT Reset_Handler [WEAK]
|
||||
IMPORT PreInit
|
||||
IMPORT SystemInit
|
||||
IMPORT __main
|
||||
|
||||
LDR R0, =PreInit
|
||||
BLX R0
|
||||
LDR R0, =SystemInit
|
||||
BLX R0
|
||||
LDR R0, =__main
|
||||
BX R0
|
||||
__SPIN
|
||||
WFI
|
||||
BL __SPIN
|
||||
ENDP
|
||||
|
||||
; Dummy Exception Handlers (infinite loops which can be modified)
|
||||
|
||||
NMI_Handler PROC
|
||||
EXPORT NMI_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
HardFault_Handler\
|
||||
PROC
|
||||
EXPORT HardFault_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
MemManage_Handler\
|
||||
PROC
|
||||
EXPORT MemManage_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
BusFault_Handler\
|
||||
PROC
|
||||
EXPORT BusFault_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
UsageFault_Handler\
|
||||
PROC
|
||||
EXPORT UsageFault_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
SVC_Handler\
|
||||
PROC
|
||||
EXPORT SVC_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
DebugMon_Handler\
|
||||
PROC
|
||||
EXPORT DebugMon_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
PendSV_Handler\
|
||||
PROC
|
||||
EXPORT PendSV_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
SysTick_Handler\
|
||||
PROC
|
||||
EXPORT SysTick_Handler [WEAK]
|
||||
B .
|
||||
ENDP
|
||||
|
||||
Default_Handler\
|
||||
PROC
|
||||
; MAX32620 Interrupts
|
||||
EXPORT CLKMAN_IRQHandler [WEAK] ; 16:00 CLKMAN
|
||||
EXPORT PWRMAN_IRQHandler [WEAK] ; 17:01 PWRMAN
|
||||
EXPORT FLC_IRQHandler [WEAK] ; 18:02 Flash Controller
|
||||
EXPORT RTC0_IRQHandler [WEAK] ; 19:03 RTC INT0
|
||||
EXPORT RTC1_IRQHandler [WEAK] ; 20:04 RTC INT1
|
||||
EXPORT RTC2_IRQHandler [WEAK] ; 21:05 RTC INT2
|
||||
EXPORT RTC3_IRQHandler [WEAK] ; 22:06 RTC INT3
|
||||
EXPORT PMU_IRQHandler [WEAK] ; 23:07 PMU
|
||||
EXPORT USB_IRQHandler [WEAK] ; 24:08 USB
|
||||
EXPORT AES_IRQHandler [WEAK] ; 25:09 AES
|
||||
EXPORT MAA_IRQHandler [WEAK] ; 26:10 MAA
|
||||
EXPORT WDT0_IRQHandler [WEAK] ; 27:11 WATCHDOG0
|
||||
EXPORT WDT0_P_IRQHandler [WEAK] ; 28:12 WATCHDOG0 PRE-WINDOW
|
||||
EXPORT WDT1_IRQHandler [WEAK] ; 29:13 WATCHDOG1
|
||||
EXPORT WDT1_P_IRQHandler [WEAK] ; 30:14 WATCHDOG1 PRE-WINDOW
|
||||
EXPORT GPIO_P0_IRQHandler [WEAK] ; 31:15 GPIO Port 0
|
||||
EXPORT GPIO_P1_IRQHandler [WEAK] ; 32:16 GPIO Port 1
|
||||
EXPORT GPIO_P2_IRQHandler [WEAK] ; 33:17 GPIO Port 2
|
||||
EXPORT GPIO_P3_IRQHandler [WEAK] ; 34:18 GPIO Port 3
|
||||
EXPORT GPIO_P4_IRQHandler [WEAK] ; 35:19 GPIO Port 4
|
||||
EXPORT GPIO_P5_IRQHandler [WEAK] ; 36:20 GPIO Port 5
|
||||
EXPORT GPIO_P6_IRQHandler [WEAK] ; 37:21 GPIO Port 6
|
||||
EXPORT TMR0_IRQHandler [WEAK] ; 38:22 Timer32-0
|
||||
EXPORT TMR16_0_IRQHandler [WEAK] ; 39:23 Timer16-s0
|
||||
EXPORT TMR1_IRQHandler [WEAK] ; 40:24 Timer32-1
|
||||
EXPORT TMR16_1_IRQHandler [WEAK] ; 41:25 Timer16-s1
|
||||
EXPORT TMR2_IRQHandler [WEAK] ; 42:26 Timer32-2
|
||||
EXPORT TMR16_2_IRQHandler [WEAK] ; 43:27 Timer16-s2
|
||||
EXPORT TMR3_IRQHandler [WEAK] ; 44:28 Timer32-3
|
||||
EXPORT TMR16_3_IRQHandler [WEAK] ; 45:29 Timer16-s3
|
||||
EXPORT TMR4_IRQHandler [WEAK] ; 46:30 Timer32-4
|
||||
EXPORT TMR16_4_IRQHandler [WEAK] ; 47:31 Timer16-s4
|
||||
EXPORT TMR5_IRQHandler [WEAK] ; 48:32 Timer32-5
|
||||
EXPORT TMR16_5_IRQHandler [WEAK] ; 49:33 Timer16-s5
|
||||
EXPORT UART0_IRQHandler [WEAK] ; 50:34 UART0
|
||||
EXPORT UART1_IRQHandler [WEAK] ; 51:35 UART1
|
||||
EXPORT UART2_IRQHandler [WEAK] ; 52:36 UART2
|
||||
EXPORT UART3_IRQHandler [WEAK] ; 53:37 UART3
|
||||
EXPORT PT_IRQHandler [WEAK] ; 54:38 PT
|
||||
EXPORT I2CM0_IRQHandler [WEAK] ; 55:39 I2C Master 0
|
||||
EXPORT I2CM1_IRQHandler [WEAK] ; 56:40 I2C Master 1
|
||||
EXPORT I2CM2_IRQHandler [WEAK] ; 57:41 I2C Master 2
|
||||
EXPORT I2CS_IRQHandler [WEAK] ; 58:42 I2C Slave
|
||||
EXPORT SPIM0_IRQHandler [WEAK] ; 59:43 SPIM0
|
||||
EXPORT SPIM1_IRQHandler [WEAK] ; 60:44 SPIM1
|
||||
EXPORT SPIM2_IRQHandler [WEAK] ; 61:45 SPIM2
|
||||
EXPORT SPIB_IRQHandler [WEAK] ; 62:46 SPI Bridge
|
||||
EXPORT OWM_IRQHandler [WEAK] ; 63:47 SPI Bridge
|
||||
EXPORT AFE_IRQHandler [WEAK] ; 64:48 AFE
|
||||
EXPORT SPIS_IRQHandler [WEAK] ; 65:49 SPI Slave
|
||||
|
||||
CLKMAN_IRQHandler
|
||||
PWRMAN_IRQHandler
|
||||
FLC_IRQHandler
|
||||
RTC0_IRQHandler
|
||||
RTC1_IRQHandler
|
||||
RTC2_IRQHandler
|
||||
RTC3_IRQHandler
|
||||
PMU_IRQHandler
|
||||
USB_IRQHandler
|
||||
AES_IRQHandler
|
||||
MAA_IRQHandler
|
||||
WDT0_IRQHandler
|
||||
WDT0_P_IRQHandler
|
||||
WDT1_IRQHandler
|
||||
WDT1_P_IRQHandler
|
||||
GPIO_P0_IRQHandler
|
||||
GPIO_P1_IRQHandler
|
||||
GPIO_P2_IRQHandler
|
||||
GPIO_P3_IRQHandler
|
||||
GPIO_P4_IRQHandler
|
||||
GPIO_P5_IRQHandler
|
||||
GPIO_P6_IRQHandler
|
||||
TMR0_IRQHandler
|
||||
TMR16_0_IRQHandler
|
||||
TMR1_IRQHandler
|
||||
TMR16_1_IRQHandler
|
||||
TMR2_IRQHandler
|
||||
TMR16_2_IRQHandler
|
||||
TMR3_IRQHandler
|
||||
TMR16_3_IRQHandler
|
||||
TMR4_IRQHandler
|
||||
TMR16_4_IRQHandler
|
||||
TMR5_IRQHandler
|
||||
TMR16_5_IRQHandler
|
||||
UART0_IRQHandler
|
||||
UART1_IRQHandler
|
||||
UART2_IRQHandler
|
||||
UART3_IRQHandler
|
||||
PT_IRQHandler
|
||||
I2CM0_IRQHandler
|
||||
I2CM1_IRQHandler
|
||||
I2CM2_IRQHandler
|
||||
I2CS_IRQHandler
|
||||
SPIM0_IRQHandler
|
||||
SPIM1_IRQHandler
|
||||
SPIM2_IRQHandler
|
||||
SPIB_IRQHandler
|
||||
OWM_IRQHandler
|
||||
AFE_IRQHandler
|
||||
SPIS_IRQHandler
|
||||
|
||||
B .
|
||||
ENDP
|
||||
ALIGN
|
||||
END
|
||||
Reference in New Issue
Block a user