/* * Copyright (C) 2017-2019 Alibaba Group Holding Limited * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2020-08-20 zx.chen startup file. Should use with * GCC for T-HEAD Embedded Processors */ #include .section .vectors, "aw", @progbits .align 6 .globl __Vectors .type __Vectors, @object __Vectors: .long Default_Handler .long Default_Handler .long Default_Handler .long PendSV_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long SysTick_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler /* External interrupts */ .long USART_IRQHandler .long Default_Handler .long TIM0_IRQHandler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .long Default_Handler .size __Vectors,.-__Vectors .text .align 2 _start: .text .align 2 .globl Reset_Handler .type Reset_Handler, %function Reset_Handler: .option push .option norelax la gp, __global_pointer$ .option pop la a0, Default_Handler ori a0, a0, 3 csrw mtvec, a0 la a0, __Vectors csrw mtvt, a0 la sp, __StackTop csrw mscratch, sp /* Load data section */ la a0, __erodata la a1, __data_start__ la a2, __data_end__ bgeu a1, a2, 2f 1: lw t0, (a0) sw t0, (a1) addi a0, a0, 4 addi a1, a1, 4 bltu a1, a2, 1b 2: /* Clear bss section */ la a0, __bss_start__ la a1, __bss_end__ bgeu a0, a1, 2f 1: sw zero, (a0) addi a0, a0, 4 bltu a0, a1, 1b 2: #ifndef __NO_SYSTEM_INIT jal SystemInit #endif jal entry .size Reset_Handler, . - Reset_Handler __exit: j __exit .section .bss .align 3 .global g_base_irqstack .global g_top_irqstack g_base_irqstack: .space CONFIG_ARCH_INTERRUPTSTACK g_top_irqstack: