最近项目需要用msp430f149整IAP升级,涉及到了bootloader的设计。目前遇到一个比较棘手的问题就是中断向量地址重映射问题。我目前的方法是在boot程序中通过asm("br &0xxxxx");指令来跳转到app的中断向量地址,但是这种方法有个局限性,只能开辟一个app空间,对于开辟两个app空间,这种方法有问题。我之前也采用网上的方法用一个全局变量去判断跳转到A还是B的虚拟中断向量地址,但是我发现一个问题,就是全局变量可能会被app区域的全局变量改写导致app程序运行不正常,我看网上有网友说将中断向量地址映射到ram中,不知道这个具体怎么做?还有一个问题,目前我遇到的boot,基本都是不使用串口中断接收更新固件,除非app中不使用串口中断,不知道有没更好的解决办法?
#pragma vector=PORT1_VECTOR
__interrupt void PORT1_ISR(void)
{
if(AddrFlag==0)
{
asm("br &0xF7E8");
}
else
{
asm("br &0x84E8");
}
}
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
那你先试试标志位放在rom,const unsigned char AddrFlag;
这个不行,我之前也这样修改过,但是你的变量就不能修改了
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
那你就申请内存吧, 把这个标志位的内存地址指向最后的地址试试吧。我不信覆盖了 本帖最后由 weizhongc 于 2015-7-21 14:19 编辑
msp430f149的ram才2k,现在我的app ram就快到2k了很可能被覆盖掉,以后更新下固件就更不用说了,这个方法不太可行。
本帖最后由 wateras1 于 2015-7-21 14:22 编辑
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
不是所有的系列都能够把vector放到RAM中的,f5是支持的,ti官方有例子,找个看看吧
- /*
- * 将中断向量表移动到RAM中
- * 注意只有部分系列芯片才会有这个寄存器
- */
- SYSCTL |= SYSRIVECT;
我曾经尝试的一些记录,may help you
官方的代码包好像是这个名字,我没有备份,自己的boot不能上传,抱歉
尝试找找这种名字的官方包吧,ti的工程师维护的代码,MSP430F5438A_RAM_INT_VECT_IAR
兄弟,我已经说了是msp430f149,没有硬件寄存器将中断向量表搞到ram中
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
帮顶一下,看了两遍还是不太明白,为什么要重映射中断向量,是因为 APP里会用到中断吗?
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
可以像51单片机那样,将这个常量固定在某个地址上,然后要更改的时候就进行擦除再写,这个方法可不可行?
楼主是在探讨新的方法解决 双APP区的切换问题,以及bootloader 中不使用中断的问题。 我在一篇文章里看到不使用中断,通过判断寄存器是否变化来解决中断问题。目前我是刚刚寻找这方面资料。帮不上你。
boot中段地址重映射有两种方法:一种就是跳转指令,另外一种就是寄存器来设置
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
"(boot 里不用中断,串口接收用判断寄存器的方法)" 出自的评论里http://www.deyisupport.com/quest ... 0/f/55/t/51847.aspx 串口接收中断要在BOOT里用 ,判断寄存器的方法。 本帖最后由 wanzsxit 于 2015-9-28 13:37 编辑
你好,想请问,你这个问题解决了么,我在做G2553的时候也碰到这个问题了,不知道怎样去映射中断到RAM中?
这个需要寄存器配合的,像ARM类都带了相关寄存器,msp430f149没带
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
对的,我发现msp430g2553也没有带类似的寄存器,那应该怎么处理这个中断的问题呢?想问问你是怎么解决的?
我做的是不带串口中断,使用的是循环等待来接受串口数据
淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目