【沁恒蓝牙开发】IAP升级流程

沁恒官方提供的下载方式都是需要冷启动(拉低BOOT后上再电),但是在带电池的或者不方便下电的整机内,无法实现冷启动,就可以使用 OTA 或 IAP demo,IAP可以实现串口 或 USB的固件升级。

IAP 工程,通常在IAP文件内,有APP代码、USB/串口 IAP代码、升级的上位机工具。

IAP 组成

完整的IAP 工程是由2个部分组成的

APP:用户应用功能代码区域,主要开发

IAP:在升级的时候跳转到此区域,接收上位机下发代码,擦写flash,完成后复位、跳转。

烧录的时候,需要同时烧录才可以正常运行。下图是ISP工具烧录2个HEX

IAP流程

①在isp工具里面同时烧录UART_IAP.hex和APP.hex

②接上PA8 PA9, 可以看到串口在不停地打印,这时候你把PP4拉低,就可以看到串口不再打印,说明跳转到IAP去了

③上位机下载代码。才可以正常下载(可以导入hex就不同填写地址,如果是bin就需要在编译器内勾选、生成)

④下载后PB4悬空即可

上操作逻辑对应的代码如下(以CH592 IAP与APP举例):

APP:

IAP:

上位机:

相关推荐
威嵌神州1 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
another heaven6 小时前
【C/C++ Ranges 是零开销抽象吗?拆开管道、惰性求值和编译期膨胀】
c语言·开发语言·c++
Code_Solitude6 小时前
C语言动态内存 + 柔性数组 + 数组名退化
c语言·算法·柔性数组
少司府7 小时前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
shimly1234568 小时前
(done) 嵌入式硬件电路图 (8) 获取芯片手册信息
嵌入式硬件
Zwawa10 小时前
让屏幕动起来:OLED动画效果,丝滑光标、帧动画和一只贪吃蛇
c语言·单片机·嵌入式
简单电磁炮11 小时前
FWD八位单片机调试问题
单片机·嵌入式硬件
꧁细听勿语情꧂12 小时前
直接选择排序,堆排序,冒泡排序,递归快速排序、hoare版本、挖坑法、lomuto前后指针,非递归快速排序
c语言·开发语言·数据结构·算法
shimly12345613 小时前
(done) 嵌入式硬件电路图 (6) 重要的元器件特性之MOS管
嵌入式硬件
菥蓂寻生1 天前
STM32移植到GD32中以105为例
stm32·单片机·嵌入式硬件