瑞萨RL78执行顺序

本文解析了设备断电或复位后的程序运行流程,包括复位向量、启动函数_start的作用及流程,并讨论了带boot程序的情况。阐述了boot程序只能使用查询法响应中断的原因。

断电后或者复位后,程序去哪里了?

先去到复位向量那里地址为0x0000,然后跳转到对应的启动函数_start:完成一些堆栈,ROM的初始化。然后跳转到main函数执行逻辑。当有硬件中断时,会查看是配置为可屏蔽中断,通过后,跳转到向量表对应的中断函数。

那么带boot的程序又是否一样呢?

其实是一样的

先去到复位向量那里地址为0x0000,然后跳转到boot的启动函数_start,无需求时在跳转到app程序的_start启动函数。在app程序需要用.CSEG指令指示汇编器一个段的起始,手动将_start的地址改为romflash中app的首地址。

唯一需要注意的是在boot程序中只能用查询法响应中断,每个中断向量只能绑定一个入口地址,因此boot函数不能用中断。要留给app程序。

原因:

FSL_ChangeInterruptTable瑞萨flash自编程库T01说可以将中断向量偏移到ram中但是手册里有Therefore, if there are multiple interrupt sources for which you want to execute

different processing, the interrupt sources need to be identified中断类型需要识别,也就是需要查询,不能自动跳转到对应的中断函数入口。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值