.section .text .global Reset_Handler Reset_Handler: mv x1, x0 mv x2, x1 mv x3, x1 mv x4, x1 mv x5, x1 mv x6, x1 mv x7, x1 mv x8, x1 mv x9, x1 mv x10, x1 mv x11, x1 mv x12, x1 mv x13, x1 mv x14, x1 mv x15, x1 mv x16, x1 mv x17, x1 mv x18, x1 mv x19, x1 mv x20, x1 mv x21, x1 mv x22, x1 mv x23, x1 mv x24, x1 mv x25, x1 mv x26, x1 mv x27, x1 mv x28, x1 mv x29, x1 mv x30, x1 mv x31, x1 .option push .option norelax la gp, __global_pointer$ .option pop la sp, _estack la x25, _sidata la x26, _sdata la x27, _edata bge x26, x27, copy_data_end copy_data: lw x24, 0(x25) sw x24, 0(x26) addi x25, x25, 4 addi x26, x26, 4 blt x26, x27, copy_data copy_data_end: /* Zero .bss section */ la x26, _sbss la x27, _ebss bge x26, x27, zero_bss_end zero_bss: sw x0, 0(x26) addi x26, x26, 4 blt x26, x27, zero_bss zero_bss_end: jal x1, System_Init addi x10, x0, 0 addi x11, x0, 0 jal x1, main inf_loop: jal x0, inf_loop Default_IRQHandler: jal x0, Generic_ExceptionCallback Timer_IRQHandler: jal x0, Generic_TimerCallback Trap_Handler: jal x0, Generic_TrapCallback /* ISR vector table */ .section .isr_vectors, "ax" .option norvc; .org 0x00 jal x0, Trap_Handler /* Trap IRQ (IRQ 0) */ jal x0, Default_IRQHandler /* IRQ 1 */ jal x0, Default_IRQHandler /* IRQ 2 */ jal x0, Default_IRQHandler /* IRQ 3 */ jal x0, Default_IRQHandler /* IRQ 4 */ jal x0, Default_IRQHandler /* IRQ 5 */ jal x0, Default_IRQHandler /* IRQ 6 */ jal x0, Timer_IRQHandler /* Timer IRQ (IRQ 7) */ jal x0, Default_IRQHandler /* IRQ 8 */ jal x0, Default_IRQHandler /* IRQ 9 */ jal x0, Default_IRQHandler /* IRQ 10 */ jal x0, Default_IRQHandler /* External IRQ (IRQ 11) */ jal x0, Default_IRQHandler /* IRQ 12 */ jal x0, Default_IRQHandler /* IRQ 13 */ jal x0, Default_IRQHandler /* IRQ 14 */ jal x0, Default_IRQHandler /* IRQ 15 */ jal x0, Default_IRQHandler /* Fast IRQ 0 (IRQ 16) */ jal x0, Default_IRQHandler /* Fast IRQ 1 (IRQ 17) */ jal x0, Default_IRQHandler /* Fast IRQ 2 (IRQ 18) */ jal x0, Default_IRQHandler /* Fast IRQ 3 (IRQ 19) */ jal x0, Default_IRQHandler /* Fast IRQ 4 (IRQ 20) */ jal x0, Default_IRQHandler /* Fast IRQ 5 (IRQ 21) */ jal x0, Default_IRQHandler /* Fast IRQ 6 (IRQ 22) */ jal x0, Default_IRQHandler /* Fast IRQ 7 (IRQ 23) */ jal x0, Default_IRQHandler /* Fast IRQ 8 (IRQ 24) */ jal x0, Default_IRQHandler /* Fast IRQ 9 (IRQ 25) */ jal x0, Default_IRQHandler /* Fast IRQ 10 (IRQ 26) */ jal x0, Default_IRQHandler /* Fast IRQ 11 (IRQ 27) */ jal x0, Default_IRQHandler /* Fast IRQ 12 (IRQ 28) */ jal x0, Default_IRQHandler /* Fast IRQ 13 (IRQ 29) */ jal x0, Default_IRQHandler /* Fast IRQ 14 (IRQ 30) */ jal x0, NMI_Handler /* Non-Maskable IRQ (IRQ 31) */ jal x0, Reset_Handler