Files
TencentOS-tiny/board/QEMU_Spike/eclipse/demo/start.S

41 lines
688 B
ArmAsm

.extern rv32_exception_entry
.align 2
.section .text.entry
.globl _start
.type _start,@function
_start:
csrc mstatus, 0x00000008
csrw mie, 0
la t0, rv32_exception_entry
csrw mtvec, t0
la sp, _stack_top
/* Load data section */
la a0, _load_data
la a1, _data
la a2, _edata
bgeu a1, a2, begin_clear_bss
clear_data:
lw t0, (a0)
sw t0, (a1)
addi a0, a0, 4
addi a1, a1, 4
bltu a1, a2, clear_data
begin_clear_bss:
// clear bss section
la a0, _bss
la a1, _ebss
bgeu a0, a1, init_finish
clear_bss:
sw zero, (a0)
addi a0, a0, 4
bltu a0, a1, clear_bss
init_finish:
call main
__die:
j __die