制作boot时,需要将APP程序的中断向量表重定义。其中需要理解两个重要的指令:.org和.equ。
在RL78系列中,.org x y 表示将y分配到x地址上,如果y为函数,则x作为y的入口地址。比如可以.org 0x0008 INTWDTI_isr。
.equ 用于符号和数字的绑定,类似于宏定义。 用法为:base_addr.equ 0x3000
结合上面两条指令便可以将中断向量偏移到任意的一个地址。如:
.org (base_addr+INTWDTI*2) INTWDTI_isr。
本文详细介绍了在RL78系列微控制器中如何使用.org和.equ指令来重定义中断向量表。.org指令用于指定内存地址,而.equ用于符号赋值,两者结合能够灵活地将中断服务例程定位到任意地址。通过示例代码,读者将学会如何进行中断向量的偏移操作,这对于嵌入式系统的bootloader制作至关重要。
制作boot时,需要将APP程序的中断向量表重定义。其中需要理解两个重要的指令:.org和.equ。
在RL78系列中,.org x y 表示将y分配到x地址上,如果y为函数,则x作为y的入口地址。比如可以.org 0x0008 INTWDTI_isr。
.equ 用于符号和数字的绑定,类似于宏定义。 用法为:base_addr.equ 0x3000
结合上面两条指令便可以将中断向量偏移到任意的一个地址。如:
.org (base_addr+INTWDTI*2) INTWDTI_isr。
1562
1万+

被折叠的 条评论
为什么被折叠?