- 最近做了个在线升级(并没有使用系统)
- 芯片:STM32F103C8T6
- 环境:Keil 5、STM32CubeMX 5.2.1
- 跳转和写FLASH在网上一搜其实不少,主要注意要重定向中断向量表和跳转前要关闭所有中断
- 在写好IAP和APP两个固件后,Keil5编译时要在设置中先设置好占用FLASH的地址
- 如图,这是我APP的设置,我的IAP占用的地址为0x8000000~0x8002FFF(SIZE:0x3000)
- 所以APP地址从0x8003000开始,SIZE为0xFFFF-0x3000
- STM32F103C8T6的FLASH大小为64K,即可写地址为0x8000000~0x800FFFF(听说这芯片其实有128K的FLASH 但是没验证过)
- 两边设置好编译之后,就可以用J-Flash来合并两hex然后烧写,再拿bin文件来升级验证功能是不是正常就好了
- 之前没有设置好地址直接编译,然后用J-Flash来偏移后再合并后烧写,导致在跳转APP时无限重启,我想问题可能在SIZE那里吧
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)