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

stm32在线升级功能!!!挑战大神的智慧!

[复制链接]
Power123 提问时间:2016-9-14 17:22 /
stm32外挂一块flash,当前板子运行内部flash的固件,通过iic接受新固件并将它放到外部flash内,然后切换,开始运行外部flash的代码?这个怎么实现,各位大神,求指导!
收藏 1 评论7 发布时间:2016-9-14 17:22

举报

7个回答
moyanming2013 回答时间:2016-9-14 18:44:47
使用“中断向量表重映射”功能(一般Cortex-M0+及以上都支持)可以实现你说的功能。
只需要转换一个向量表并把程序地址指向新地址即可。
你可以参考下通用的IAP程序。
Power123 回答时间:2016-9-14 21:12:13
非常感谢您的回复!我看了您提到的IAP程序,但是它复位后是从原固件的中断向量表开始跑的。
moyanming2013 回答时间:2016-9-14 21:21:40
Power123 发表于 2016-9-14 21:12
非常感谢您的回复!我看了您提到的IAP程序,但是它复位后是从原固件的中断向量表开始跑的。 ...

你需要在IAP代码断中做一些标记,然后根据标记跳转向量表即可。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

高二毛 回答时间:2016-9-16 22:40:33
楼上说的对,你的单片机FLASH分为两个区,一个放bootloader,另外一个是你的应用。外部的FLASH可以随便更换应用,bootloader直接进行加载应用就行了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

shuolang 回答时间:2016-9-17 08:31:35
楼上都是老手啊,你可以参考这个https://www.stmcu.org.cn/document/detail/index/id-213123,使用USART接口实现STM32F10xxx的在线升级,虽然升级方式有区别,但是如何加载应用程序、如何运行的原理是一样的!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

Power123 回答时间:2016-9-17 17:19:27
高二毛 发表于 2016-9-16 22:40
楼上说的对,你的单片机FLASH分为两个区,一个放bootloader,另外一个是你的应用。外部的FLASH可以随便更换 ...

前辈之前这样做过吗?是否可靠?
高二毛 回答时间:2016-9-17 20:41:13
非常可靠,目前已经开始正式使用了。放心大胆的做吧。

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版