STM8L远程升级

qq_32153927 2016-08-06 04:26:23

求各位高手赐教:本人现在通过STM8L152在做远程升级,bootloader区和app区都已划分好,app起始地址是0x9000,为什么下进去之后程序不执行,这两天一直找原因,是因为中断向量映射的问题吗?还是程序必须从flash转到ram才能执行?
...全文
622 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
玉怀一捧雪 2016-08-09
  • 打赏
  • 举报
回复
不要忘了中断向量表也要做偏移,否则程序是不会执行的
Stack_mz 2016-08-09
  • 打赏
  • 举报
回复
正好前段时间和现在都在做这个,前几天也遇到的了同样的疑惑,现在给你说一下我自己的见解: 1、APP中断向量表要进行偏移,虽然我没有用过STM的板子,但是我记得STM库函数里应该有一个偏移中断向量表的封装函数,楼主查一下应该一查就能查到。 但是光设置偏移还不够,还要在bootloader程序中最后跳转到偏移过后的中断向量表。具体的就说来话长啦。 2、关于flash的操作,没错,是要搬移到RAM中运行。我也遇到了这个问题,然后将含有flash操作的函数定义在RAM区后,就可以正常的erase和program flash啦 给你一个链接,里面的内容还不错: http://www.deyisupport.com/question_answer/microcontrollers/c2000/f/56/t/25905.aspx?pi2132219853=2

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧