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

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扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版