【沁恒蓝牙开发】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 小时前
C语言-指针函数与函数指针及回调函数的使用
c语言·开发语言
杨丰玮4181 小时前
C语言基础知识(一)————各类符号的含义与输入输出库(stdio)
c语言·开发语言
水饺编程2 小时前
第1章,了解乌班图环境,使用浏览器和邮箱
c语言·汇编·ubuntu
木白CPP4 小时前
SELinux 介绍和基本使用
嵌入式硬件·安卓·安全架构
Escalating_xu4 小时前
【C 语言】操作符详解(下):逗号、下标、结构体、类型转换与表达式求值
c语言
女神下凡5 小时前
芯参谋(30):EMMC eMCP 软件设计规范
arm开发·单片机·嵌入式硬件·设计规范
晓蛋6 小时前
C语言条件编译精讲
c语言·条件编译·宏定义·代码移植·预处理程序
ggaofeng6 小时前
Ctrl+C结束进程是如何实现的
服务器·c语言·网络
xingzhemengyou17 小时前
STM32F427将函数设定在固定位置
stm32·单片机·嵌入式硬件
水饺编程7 小时前
第1章:开发环境搭建,在 Windows 中安装 QEMU
c语言·汇编