[应用相关] 如何通过雅特力AT32WB415的蓝牙模块来进行OTA升级

[复制链接]
100|3
OKAKAKO 发表于 2025-10-19 22:27 | 显示全部楼层 |阅读模式
OTA(Over-The-Air Technology)即空中下载技术,利用OTA技术可以在不接触(接线)的情况下对芯片程序进行升级。AT32WB415的OTA是通过蓝牙的方式实现的,利用芯片中的蓝牙模块(BLE)接收上位机发送的升级命令和程序代码。OTA分为两个部分,用户可以选择OTA升级BLE模块APP,也可以选择OTA升级MCU端。对于MCU端的升级参考了IAP功能的实现,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过串口接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。


 楼主| OKAKAKO 发表于 2025-10-19 22:28 | 显示全部楼层
一、 bootloader project设置
1) Keil设置

屏幕截图 2025-10-19 222748.png


2) bootloader源程序修改Iap.h文件中

屏幕截图 2025-10-19 222814.png


 楼主| OKAKAKO 发表于 2025-10-19 22:30 | 显示全部楼层
二、app project设置

IAP demo提供了2个app程序供测试用,皆以address 5(0x800 4000)为起始地址。app1 LED3闪烁,app2 LED4闪烁。以app2为例,设计步骤如下:

1) Keil工程设置

屏幕截图 2025-10-19 222748.png



2) app1源程序设置

屏幕截图 2025-10-19 222814.png



3) 编辑generate_app.bat批处理文件

文件中的“-v 0x8002”为app程序版本号,可配置为0x8000-0Xffff范围内的任意值。

4) 编译生成bin文件

通过User选项卡,设置编译后调用fromelf.exe,根据axf文件生成bin文件,然后设置调用encrypt_app.bat批处理文件,生成OTA升级所需的bin文件。

 楼主| OKAKAKO 发表于 2025-10-19 22:30 | 显示全部楼层
通过以上3个步骤,我们就可以得到一个APP程序,将bin文件添加到OTA上位机软件即可实现app程序的更新。

如果在设计app code过程中需要对app project进行单独调试,请按照以下操作

a) 先下载bootloader工程

b) 再调试app工程
您需要登录后才可以回帖 登录 | 注册

本版积分规则

264

主题

2144

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部