一、bootloader 部分 1、打开CUBEMX,选择F103RCT6,配置外部时钟,如图 2、配置串口如图 3、配置io口...
3 BootLoader的制作 BootLoader的制作需要根据实际的需求来做,不同的运行方式或者升级方式在做法上都是有区别的,包括BootLoader所需要的内存空间也不尽相同。 不过不管是用什么方式,Bootloader都应该尽可能做的更小更简洁,这样的话内存的开销就更小,对于内存较小的MCU来说压力就没那么大了。 我下面要做的这个bootloade...
在微控制器(MCU)中,Bootloader(引导加载程序)是一个非常重要的组成部分,它负责在系统启动时执行一系列初始化操作,并为后续的应用程序提供一个合适的运行环境。1. Bootloader介绍 Bootloader是微控制器启动时运行的第一个程序,它位于存储器的特定位置,通常是Flash存储器的开始部分。Bootloader的设计目的是在没有操作系统...
上次发过SD卡的Bootloader离线升级后,应大家的要求,这次就讲一下 STM32的OTA远程升级。 会变身的火娃:基于STM32F103的SD卡Bootloader离线升级对于不了解bootloader的小伙伴可以看我系列文章: 深入浅出讲解单片…
1.准备一个BootLoader工程 设置下载地址 主程序如下: LED led0('C',13); void (*jump2app)(); //跳转到应用程序段 //appxaddr:用户代码起始地址. void iap_load_app(u32 appxaddr) { if(((*(vu32*)appxaddr)&0x2FFE0000)==0x20000000) //检查栈顶地址是否合法. ...
或者你也可以下载完整的源码自己去跑一下,下面的源码我把BootLoader和APP都上传了。 APP部分讲解:STM32 IAP应用开发——通过USB实现固件升级 完整代码下载地址:https://download.csdn.net/download/ShenZhen_zixian/87462312 如果你有什么问题或者有更好的方法,欢迎在评论区留言。
STM32的启动文件与BootLoader 1 启动设置 BOOT1:x BOOT0:0 使用JTAG下载程序;(不需要使用BootLoader) BOOT1:0 BOOT0:1 使用串口下载程序;(需要使用BootLoader引导从串口过来的数据) BOOT1:1 BOOT0:1 从内部SRAM中启动。 2 start_stm32fxxxxx.s文件分析...
烧录代码 运行, 通过串口1打印输出, 会看到以下打印消息 说明BootLoader已经成功跳转到版本号为0.0.1的App1生成App2的.bin文件 Keil如何生成.bin文件, 请参考这篇博文 Keil如何生成.bin文件 blog.csdn.net/weixin_41 修改代码, 把版本号改为0.0.2, 并且编译并且生成.bin文件 生成好之后你会得到一个.bin结尾的...
1.1 bootloader 升级模式 bootloader的升级模式常见有以下两种: bootloader 分区 + app1 分区 + app2 分区模式该模式下, bootloader 启动后,检查 app1 和 app2 分区,哪个固件版本最新就运行哪个分区的固件。当有新版本的升级固件时,固件下载程序会将新的固件下载到另外的一个没有运行的 app 分区,下次启动的时候重...