Renesas:配置中断的常规流程——使用C语言方式配置中断向量表(二)

Renesas:配置中断的常规流程_不吃鱼的猫丿的博客-CSDN博客

在前面的文章讲到了Renesas的常规中断配置流程,当需要添加新的中断时,每次都需要到boot.asm中添加中断服务的函数名中断服务函数的向量偏移,会十分麻烦,使用C语言方式配置的中断向量表,则不需要如此麻烦,在使用SmartConfig配置的时候,会顺带生成C语言的中断向量表。

一、启动文件boot.asm中的修改

1.首先将使用查表方式的注释打开

2.选择使用SmartConfig生成的r_cg_intvector.c中的向量表,根据r_cg_intvector.c中的中断服务函数名写对应中断服务函数(不然会编译不通过),将中断向量表处无关部分注释 ,并修改使用r_cg_intvector.c的中断向量表

  • r_cg_intvector.c中的中断向量表

  • r_cg_intvector.c相对应的中断服务函数

  • 将boot.asm中跟中断向量表相关部分内容注释 

  •  将boot.asm中修改使用r_cg_intvector.c中的中断向量表
mov	#__sEIINTTBL, r6
;修改成
mov	#__sEIINTTBL.const, r6

 

 二、修改CS+ Section设置

在CS+编译器的Link Options -> Section 段中,添加EIINTTBL.const段

 

以上方式配置完成后,后续使用SmartConfig生成的外设驱动,在使用中断的时候,就不需要在boot.asm中更新内容了。

  • 6
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Renesas中断是指由Renesas Electronics开发的一种处理器中断机制。中断是指在程序运行过程中,当某个特定事件发生时,CPU将暂停当前正在执行的任务,转而去处理其他事务。Renesas中断机制的设计旨在提高处理器的性能和效率。 Renesas中断可以分为外部中断和内部中断两种类型。外部中断是通过外部设备或输入信号触发的,如用户按下某个按键或外部传感器检测到特定事件。内部中断是由处理器内部的特定情况触发的,比如运算溢出或除以零等错误。 Renesas中断机制通过中断控制器(Interrupt Controller)来管理和处理中断中断控制器会根据中断的优先级和处理器的状态,决定哪个中断优先被处理。一旦中断被触发,中断控制器会将CPU的执行流程转向中断服务程序(Interrupt Service Routine,ISR),完成对该中断的处理。 在Renesas中,中断服务程序由开发者编写,并通过程序中断向量表(Interrupt Vector Table)进行注册。程序中断向量表是一个存储中断处理程序地址的表格,当一个中断信号被触发时,CPU会根据中断信号的编号,在中断向量表中查找相应的中断处理程序地址,并跳转至该地址执行相应的处理代码。 通过使用Renesas中断机制,开发者可以优化系统的响应时间,并实现对实时任务的及时处理。同时,合理地管理中断优先级和中断服务程序的设计,可以提高系统的稳定性和可靠性。Renesas中断机制是实现高效、可靠系统设计的重要手段之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃鱼的猫丿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值