KeilC51平台 -关于interrput vectors at address设置注意事项

文章目录


【全文大纲】 : https://blog.youkuaiyun.com/Engineer_LU/article/details/135149485


1 . 注意

  1. 有Boot与App之分时,就要考虑中断偏移,而51核的中断偏移可以由C51设置里的interrput vectors at address设置偏移量;
    在这里插入图片描述

  2. 若上述 interrput vectors at address 偏移为0x0000, 而A51里又想手动定位跳转到App的中断地址,那么会造成一种地址冲突,上图的 interrput vectors at address 设置意思是把真实定义的interrupt中断服务函数定在前面固定的地址上进行跳转,而下图这里又希望强行固定指向跳转,那么编译器会以第一种作为最高优先级,从而形成最后一张图的结果

在这里插入图片描述

  1. 下图可看到0x001B处指令本该是02101B, 但实际变成 020DF8, 说明被图一设置优先设定,因此若是按这章做法设置中断偏移,那么需要A51 ORG手动偏移地址 和 interrput vectors at address 偏移量设成一样,那么前面固定部分会区分开,从而避免以上问题

在这里插入图片描述

2 . 总结

上图可看到0x001B处指令本该是02101B, 但实际变成 020DF8, 说明被图一设置优先设定,因此若是按这章做法设置中断偏移,那么需要A51 ORG手动偏移地址 和 interrput vectors at address 偏移量设成一样,那么前面固定部分会区分开,从而避免以上问题

interrput vectors at address : 将实际的中断服务函数入口地址映射到x地址上跳转
A51 里 ORG定位 : 重新改变跳转指向
例如当51核芯片产生中断,会自动跳到0x03,0x0B, 0x13等地址,然后执行该地址的数据时,首先考虑 interrput vectors at address 的设置,然后才是A51 里 ORG定位。


技术交流群 : 745662457
群内专注 - 问题答疑,技术研究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

极客 - L U

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

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

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

打赏作者

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

抵扣说明:

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

余额充值