📄 init.s
字号:
#*********************************************************************************************
# File: init.s *
# Author: embest *
# Desc: C start up codes.Configure memory, Initialize ISR ,stacks, *
# initialize C-variables *
# Fill zeros into zero-initialized C-variables *
# History: *
#*********************************************************************************************
/*------------------------------------------------------------------------------------------*/
/* global symbol define */
/*------------------------------------------------------------------------------------------*/
.global _start
.global __gccmain
/*------------------------------------------------------------------------------------------*/
/* code */
/*------------------------------------------------------------------------------------------*/
.text
_start:
# Set interrupt / exception vectors
b Reset_Handler
Undefined_Handler:
b Undefined_Handler
SWI_Handler:
b SWI_Handler
Prefetch_Handler:
b Prefetch_Handler
Abort_Handler:
b Abort_Handler
nop /* Reserved vector */
IRQ_Handler:
b IRQ_Handler
FIQ_Handler:
b FIQ_Handler
Reset_Handler:
ldr sp, =0x00002000
# *****************************************************************************
# Branch on C code Main function (with interworking) *
# Branch must be performed by an interworking call as either an ARM or Thumb *
# main C function must be supported. This makes the code not position- *
# independant. A Branch with link would generate errors *
# *****************************************************************************
.extern Main
ldr r0, = Main
mov lr, pc
bx r0
# *****************************************************************************
# Loop for ever *
# End of application. Normally, never occur. *
# Could jump on Software Reset ( B 0x0 ). *
# *****************************************************************************
End:
b End
__gccmain:
mov pc, lr
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -