- Debugged UART - Firmware support for SPI, UART - Work on SD/MMC support in firmware - Debugged mblite core/WB interface
62 lines
838 B
ArmAsm
62 lines
838 B
ArmAsm
.text
|
|
|
|
.org 0x0
|
|
_vec_reset:
|
|
bri _start
|
|
|
|
|
|
.org 0x8
|
|
_vec_user_ex:
|
|
bri _start
|
|
|
|
|
|
.org 0x10
|
|
_vec_int:
|
|
bri _start
|
|
|
|
|
|
.org 0x18
|
|
_vec_break:
|
|
bri _start
|
|
|
|
|
|
.org 0x20
|
|
_vec_hw_ex:
|
|
bri _start
|
|
|
|
|
|
.org 0x50
|
|
.global _start
|
|
_start:
|
|
# Set stack pointer
|
|
addi r1, r0, _stack
|
|
|
|
# Copy data to RAM
|
|
addi r3, r0, _datald # Start of data in ROM
|
|
addi r4, r0, _data_start # Start of data in RAM
|
|
rsubi r5, r4, _data_end # Length of data
|
|
_start_data_loop:
|
|
beqi r5, _start_data_done
|
|
addi r5, r5, -4
|
|
lw r6, r3, r5
|
|
sw r6, r4, r5
|
|
bri _start_data_loop
|
|
_start_data_done:
|
|
|
|
# Clear BSS
|
|
addi r3, r0, _bss_start # Start of BSS
|
|
rsubi r4, r3, _bss_end # Length of BSS
|
|
_start_bss_loop:
|
|
beqi r4, _start_bss_done
|
|
addi r4, r4, -4
|
|
sw r0, r3, r4
|
|
bri _start_bss_loop
|
|
_start_bss_done:
|
|
|
|
# Jump to firmware start
|
|
brlid r15, main
|
|
nop
|
|
|
|
halt:
|
|
bri halt
|