Import Mbed OS hard-float snapshot

This commit is contained in:
Beslan
2026-06-01 20:15:04 +03:00
commit d3738e2f89
16278 changed files with 10628036 additions and 0 deletions

View File

@@ -0,0 +1,33 @@
/* [ROM] */
define symbol __intvec_start__ = 0x0;
define symbol __region_ROM_start__ = 0x0;
define symbol __region_ROM_end__ = 0x001FFFFF;
/* [RAM] Vector table dynamic copy: 65 vectors * 4 bytes = 260 (0x104) bytes + 4 for 8 byte align */
define symbol __NVIC_start__ = 0x00000000;
define symbol __NVIC_end__ = 0x00000108; /* to be aligned on 8 bytes */
define symbol __region_RAM_start__ = 0x20000000;
define symbol __region_RAM_end__ = 0x2003FFFF;
/* Memory regions */
define memory mem with size = 4G;
define region ROM_region = mem:[from __region_ROM_start__ to __region_ROM_end__];
define region RAM_region = mem:[from __region_RAM_start__ to __region_RAM_end__];
/* Stack and Heap */
if (!isdefinedsymbol(MBED_BOOT_STACK_SIZE)) {
define symbol MBED_BOOT_STACK_SIZE = 0x400;
}
define symbol __size_cstack__ = MBED_BOOT_STACK_SIZE;
define symbol __size_heap__ = 0xF000;
define block CSTACK with alignment = 8, size = __size_cstack__ { };
define block HEAP with alignment = 8, size = __size_heap__ { };
initialize by copy { readwrite };
do not initialize { section .noinit };
place at address mem:__intvec_start__ { readonly section .intvec };
place in ROM_region { readonly };
place in RAM_region { readwrite,
block CSTACK, block HEAP };

View File

@@ -0,0 +1,447 @@
;*******************************************************************************
;* Copyright (C) 2016 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.
;*
;* Description : MAX32620 device vector table for IAR EWARM toolchain.
;* - Sets the initial SP
;* - Sets the initial PC == _iar_program_start,
;* - Set the vector table entries with the exceptions ISR
;* address, all set as PUBWEAK. User may override any ISR
;* defined as PUBWEAK.
;* - Branches to main in the C library (which eventually
;* calls main()).
;* After Reset the Cortex-M4 processor is in Thread mode,
;* priority is Privileged, and the Stack is set to Main.
;*******************************************************************************
MODULE ?cstartup
;; Forward declaration of sections.
SECTION CSTACK:DATA:NOROOT(3)
SECTION .intvec:CODE:NOROOT(2)
EXTERN __iar_program_start
EXTERN PreInit
EXTERN SystemInit
PUBLIC __vector_table
PUBLIC __vector_table_modify
PUBLIC __Vectors
PUBLIC __Vectors_End
PUBLIC __Vectors_Size
DATA
__vector_table
DCD sfe(CSTACK)
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
__vector_table_modify
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
; MAX32620C Specific 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 SPI Master 0 */
DCD SPIM1_IRQHandler ; 60:44 SPI Master 1 */
DCD SPIM2_IRQHandler ; 61:45 SPI Master 2 */
DCD SPIB_IRQHandler ; 62:46 SPI Bridge */
DCD OWM_IRQHandler ; 63:47 One-wire Master */
DCD AFE_IRQHandler ; 64:48 AFE */
DCD SPIS_IRQHandler ; 65:49 SPI Slave
__Vectors_End
__Vectors EQU __vector_table
__Vectors_Size EQU __Vectors_End - __Vectors
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Default interrupt handlers.
;;
THUMB
PUBWEAK Reset_Handler
SECTION .text:CODE:REORDER:NOROOT(2)
Reset_Handler
LDR R0, =PreInit
BLX R0
LDR R0, =SystemInit
BLX R0
LDR R0, =__iar_program_start
BX R0
PUBWEAK NMI_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
NMI_Handler
B NMI_Handler
PUBWEAK HardFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
HardFault_Handler
B HardFault_Handler
PUBWEAK MemManage_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
MemManage_Handler
B MemManage_Handler
PUBWEAK BusFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
BusFault_Handler
B BusFault_Handler
PUBWEAK UsageFault_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
UsageFault_Handler
B UsageFault_Handler
PUBWEAK SVC_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
SVC_Handler
B SVC_Handler
PUBWEAK DebugMon_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
DebugMon_Handler
B DebugMon_Handler
PUBWEAK PendSV_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
PendSV_Handler
B PendSV_Handler
PUBWEAK SysTick_Handler
SECTION .text:CODE:REORDER:NOROOT(1)
SysTick_Handler
B SysTick_Handler
PUBWEAK CLKMAN_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
CLKMAN_IRQHandler
B CLKMAN_IRQHandler
PUBWEAK PWRMAN_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
PWRMAN_IRQHandler
B PWRMAN_IRQHandler
PUBWEAK FLC_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
FLC_IRQHandler
B FLC_IRQHandler
PUBWEAK RTC0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RTC0_IRQHandler
B RTC0_IRQHandler
PUBWEAK RTC1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RTC1_IRQHandler
B RTC1_IRQHandler
PUBWEAK RTC2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RTC2_IRQHandler
B RTC2_IRQHandler
PUBWEAK RTC3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
RTC3_IRQHandler
B RTC3_IRQHandler
PUBWEAK PMU_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
PMU_IRQHandler
B PMU_IRQHandler
PUBWEAK USB_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
USB_IRQHandler
B USB_IRQHandler
PUBWEAK AES_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
AES_IRQHandler
B AES_IRQHandler
PUBWEAK MAA_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
MAA_IRQHandler
B MAA_IRQHandler
PUBWEAK WDT0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
WDT0_IRQHandler
B WDT0_IRQHandler
PUBWEAK WDT0_P_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
WDT0_P_IRQHandler
B WDT0_P_IRQHandler
PUBWEAK WDT1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
WDT1_IRQHandler
B WDT1_IRQHandler
PUBWEAK WDT1_P_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
WDT1_P_IRQHandler
B WDT1_P_IRQHandler
PUBWEAK GPIO_P0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P0_IRQHandler
B GPIO_P0_IRQHandler
PUBWEAK GPIO_P1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P1_IRQHandler
B GPIO_P1_IRQHandler
PUBWEAK GPIO_P2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P2_IRQHandler
B GPIO_P2_IRQHandler
PUBWEAK GPIO_P3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P3_IRQHandler
B GPIO_P3_IRQHandler
PUBWEAK GPIO_P4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P4_IRQHandler
B GPIO_P4_IRQHandler
PUBWEAK GPIO_P5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P5_IRQHandler
B GPIO_P5_IRQHandler
PUBWEAK GPIO_P6_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
GPIO_P6_IRQHandler
B GPIO_P6_IRQHandler
PUBWEAK TMR0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR0_IRQHandler
B TMR0_IRQHandler
PUBWEAK TMR16_0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR16_0_IRQHandler
B TMR16_0_IRQHandler
PUBWEAK TMR1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR1_IRQHandler
B TMR1_IRQHandler
PUBWEAK TMR16_1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR16_1_IRQHandler
B TMR16_1_IRQHandler
PUBWEAK TMR2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR2_IRQHandler
B TMR2_IRQHandler
PUBWEAK TMR16_2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR16_2_IRQHandler
B TMR16_2_IRQHandler
PUBWEAK TMR3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR3_IRQHandler
B TMR3_IRQHandler
PUBWEAK TMR16_3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR16_3_IRQHandler
B TMR16_3_IRQHandler
PUBWEAK TMR4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR4_IRQHandler
B TMR4_IRQHandler
PUBWEAK TMR16_4_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR16_4_IRQHandler
B TMR16_4_IRQHandler
PUBWEAK TMR5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR5_IRQHandler
B TMR5_IRQHandler
PUBWEAK TMR16_5_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
TMR16_5_IRQHandler
B TMR16_5_IRQHandler
PUBWEAK UART0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
UART0_IRQHandler
B UART0_IRQHandler
PUBWEAK UART1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
UART1_IRQHandler
B UART1_IRQHandler
PUBWEAK UART2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
UART2_IRQHandler
B UART2_IRQHandler
PUBWEAK UART3_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
UART3_IRQHandler
B UART3_IRQHandler
PUBWEAK PT_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
PT_IRQHandler
B PT_IRQHandler
PUBWEAK I2CM0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
I2CM0_IRQHandler
B I2CM0_IRQHandler
PUBWEAK I2CM1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
I2CM1_IRQHandler
B I2CM1_IRQHandler
PUBWEAK I2CM2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
I2CM2_IRQHandler
B I2CM2_IRQHandler
PUBWEAK I2CS_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
I2CS_IRQHandler
B I2CS_IRQHandler
PUBWEAK SPIM0_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPIM0_IRQHandler
B SPIM0_IRQHandler
PUBWEAK SPIM1_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPIM1_IRQHandler
B SPIM1_IRQHandler
PUBWEAK SPIM2_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPIM2_IRQHandler
B SPIM2_IRQHandler
PUBWEAK SPIB_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPIB_IRQHandler
B SPIB_IRQHandler
PUBWEAK OWM_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
OWM_IRQHandler
B OWM_IRQHandler
PUBWEAK AFE_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
AFE_IRQHandler
B AFE_IRQHandler
PUBWEAK SPIS_IRQHandler
SECTION .text:CODE:REORDER:NOROOT(1)
SPIS_IRQHandler
B SPIS_IRQHandler
END