你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

Stm8单片机bootloader中iap和app都要用中断

[复制链接]
jianguo 提问时间:2015-3-26 21:27 /
    stm8的bootloader是这样设计的,第一区自然是bootloader即iap地址0x8000---0x9000,第二区程序运行区即app1地址0x9000---0xC800,第三区程序运行2区,(用于在升级断电情况下恢复)例如:老版本固件程序在app1区运行,需要升级即进入bootloader接受数据进行升级,擦写的是zone2区,这时如果断电就继续跳转运行zone1,如果升级成功跳转zone2.地址0xC800---0xFFFF

    现在问题来了,zone1和zone2都是正常程序,都需要中断向量表,之前的实现方式是bootloader不要中断向量,做个中断向量映射直接到zone1区。可是zone2区就没法用了,好纠结。
   也做过另一种尝试zone1中的程序有中断时跳到bootloader的中断向量中执行bootloader的中断处理函数,然后在中断处理函数中做分支跳转,检测EEPROM中的标志,看是跳转到ZONE1还是ZONE2,这个方法能正常跳转,但是每次跳转都会执行一遍bootloader的程序,不知道怎么回事。
    请大牛们帮帮忙。互相进步,希望有同样困然的童鞋能得到帮助。分享是种美德,谢谢。
收藏 评论11 发布时间:2015-3-26 21:27

举报

11个回答
拼命三郎 回答时间:2015-3-26 22:06:47
stm32.jpg
拼命三郎 回答时间:2015-3-26 22:07:11
顶顶顶顶顶顶顶顶顶大大大.jpg
kqh1120 回答时间:2015-3-27 00:06:53
3.gif 不懂帮顶了
wu1169668869 回答时间:2015-3-27 00:16:46
略高深的样子…没弄过
木木鱼 回答时间:2015-3-27 08:18:39
帮忙顶一下
dwwzl 回答时间:2015-3-27 08:33:36
stm8内部资源太少,没有必要吧
zhangdaijin 回答时间:2015-3-27 13:24:11
幻梦 回答时间:2015-8-9 17:24:37
楼主找到解决方案没
爱哭的热带鱼 回答时间:2015-8-28 19:59:51
最近也得弄这个还在婴儿阶段=========
ssssss 回答时间:2018-7-18 11:59:41
楼主搞定了吗
tryfly 回答时间:2019-2-2 08:20:52
不懂中断向量地址的设置,来学习

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版