- 需要注意的点:一般情况下,_start是启动入口,在ld文件中进行声明
- 中断处理可以使用统一的中断处理入口,也可以使用中断向量表
.section .init,"ax",@progbits /* 声明section 为 .init */
.global _start /* 指明标签_start的属性为全局的 */
.align 1 /* 2^1地址对齐
_start: /* 标签_start处,一般是启动入口 */
j handle_reset /* 跳转至 handle_reset处 */
.word 0x00000013 /* 内核设计需要,用于兼容不同内核,不用关注 */
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00000013
.word 0x00100073
.section .vector,"ax",@progbits
.align 1
_vector_base: /* 中断向量表 */
.option norvc; /* .option rvc”伪操作表示接下来的汇编程序可以被汇编生成16位宽的压缩指令*/
j _start
.word 0
j NMI_Handler /* NMI Handler */
j HardFault_Handler /* Hard Fault Handler */
.word 0
.word 0
.word 0