如何使用STM32通用Bootloader让OTA更加Easy

发布时间:2023-09-01  

随着物联网时代到来,越来越多的智能设备拥有了在线升级的能力,无论是系统更新,产品功能迭代还是漏洞修复都能在第一时间抵达用户手中的智能设备。


在线升级功能需要使用 OTA (Over-the-Air) 技术 ,OTA 技术简单地说就是通过网络来升级手中的智能设备,进而使用设备最新版本的功能。而 OTA 技术中必不可少的一环就是通过 Bootloader 来管理、升级设备固件。


由于 OTA 功能由多种复杂技术组成,因此添加 OTA 功能有一定的技术门槛。很多开发者遇到莫名其妙的问题,进而导致 OTA 升级失败,常见问题如下:

升级过程缺少专业的安全机制

APP 无法正常启动

程序莫名跑飞,出现 hardfault

固件搬运失败

固件解密解压错误

升级不稳定等

为了解决广大开发者在添加 OTA 功能时遇到的种种困难,RT-Thread 开发团队凭借在该领域深厚的技术积累,为开发者提供了 STM32 系列的通用 Bootloader ,开发者通过该 Bootloader 即可直接使用 RT-Thread OTA 功能。

通用 Bootloader 的功能特点

下图展示了 RT-Thread 通用 Bootloader 的软件框架:

RT-Thread 通用 Bootloader 有如下特点:

以 bin 文件的形式提供,无需修改即可使用

资源占用小,ROM 最小只需要 16KB,最大 32KB

适用于多系列 STM32 芯片(目前支持 F1 和 F4 系列 )

支持各种 SPI Flash 存储固件

支持固件加解密功能

支持多种固件压缩方式

支持恢复出厂固件功能

以上功能均可自由配置

获取方式及使用方法

在线生成 Bootloader

Bootloader 可以通过网页端在线生成的方式来获取。开发者根据自己使用的芯片,填写相关参数,然后点击生成按钮,即可在线生成 Bootloader,在线获取地址: http://iot.rt-thread.com。

Bootloader 生成页面如下所示:

填写板卡硬件配置

2. 配置分区表

3. 加密压缩配置

4. 配置 logo 和邮箱

点击生成按钮即可获取定制的 Bootloader。

制作 app 固件

可以通过阅读文档中心提供的 《STM32 通用 Bootloader 应用笔记》(https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/)来详细了解如何制作可以被用作升级的 app 固件。

开始 OTA 升级

准备好适合板卡使用的 BootLoader,然后制作好可以用作升级的 app 固件,就可以开始体验 OTA 升级功能了。下图展示了 HTTP OTA 升级方式的过程:


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    处下载两者: https://www.st.com/zh-CN/development-tools/flasher-stm32.html 这是用于安装引导程序的程序。 (页面底部)您需要注册到该页面,然后......
    式软件开发平台上,用C语言直接调用IAP程序代码实现IAP编程。IAP的命令码、状态码和命令详解以及IAP功能的详细应用见参考文献。 4 远程升级在用电现场监控终端的应用 终端软件系统的设计包括用户引导程序......
    引用地址: 一级引导程序:当 上电或复位后,PRO CPU 会立即开始运行,执行复位向量代码,而 APP CPU 仍然保持复位状态。 复位向量代码会检查 GPIO_STRAP_REG 寄存器的值,确定 ESP32......
    每个开发板生产商不同而不同,比如MINI2440开发板将2M的Norflash焊接在了Bank0上,用于存放系统引导程序Bootloader,将两片32M,16Bit位宽SDRAM内存焊接在Bank6和......
    分享一种STM32F407的锁相环PLL重新配置方法;老农最近搞基于STM32F407的IAP升级固件升级功能,遇到了这样一个问题:IAP引导程序和APP程序都是基于STM32CUBEMX的程序......
    多嵌入式操作系统中,Linux目前发展最快、应用最为广泛。性能优良、源码开放的Linux具有体积小、内核可裁减、网络功能完善、可移植性强等诸多优点,非常适合作为嵌入式操作系统。一个最基本的Linux操作系统应该包括:引导程序......
    成,BootROM只为配置PL做好准备。 FSBL1、 FSBL是在BootROM之后启动的引导程序。由BootROM加载到OCM或者直接在线性Flash上运行。FSBL主要完成以下工作: 1) 根据......
    的通信接口并借助用户之前写进芯片的启动代码来完成。比方,用户通过UART接口借助于内部引导程序来完成应用程序的更新。这里可能会有人会问,那用户准备的启动程序如何写进芯片呢?显然,我们可以通过ICP方式或ISP......
    Program)一般情况下优先使用ISP方式,更方便、更快捷。 关于BOOT ROM区 存储介质:Flash Memory 容 量:8K字节 存储内容:ISP引导程序和IAP函数 这些程序......
    嵌入式以太网控制器软件设计   系统软件平台设计主要使用C语言和ARM汇编语言。系统软件平台设计主要包括3个方面:启动引导程序Bootloader;建立μCLinux操作系统的开发环境;以太网模块驱动程序......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>