RISC-V MCU CH32V103启动文件分析

本文主要介绍了嵌入式系统启动时如何使用_start作为入口,以及在ld文件中声明中断处理和使用中断向量表的方法。内容涵盖了初始化过程,中断向量表的结构和中断服务程序的弱定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 需要注意的点:一般情况下,_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
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值