下面是当前开发基于的版本
名称 | 说明 |
---|---|
SDK | 6.0.18.1182.1 |
读者对象
本文档主要适用以下工程师:
嵌入式系统工程师
单片机软件工程师
IOT固件工程师
BLE固件工程师
1.DA14531外挂Flash烧录
1.1.外挂Flash硬件连接
SPI FLASH接口一般定义为CLK:P0_4 MISO:P0_3 MOSI:P0_0 SC:P0_1。
图1
Flash供电电源:
降压型 :VCC(2.0-3.3V), 一般直接选择VCC供电;
升压型 :VCC(1.1-1.5V),不能直接选择Vhigh供电,因为Vhigh在上电时不能大于50uA,所以如上图选择P07管脚来做电源管脚。
芯片的选择:通过secondary_bootloader项目代码中,可以看出选择了这几款芯片:W25X10CL 、W25X20CL 、AT25DX011、MX25V1006E、MX25R1035F、MX25R2035F、P25Q10U 、P25D22L 、GD25WD20 、AT25DF021A、AT25EU0021A、AT25XE041D这些芯片一般是可用。且市场上的大部分Flash都是可以使用的,SPI通信协议都是可以兼容。
注意:若需要支持OTA功能的,Flash大小至少要大于等于2Mbit。
1.2.外挂Flash工作原理
降压型
由于Flash的供电为VCC,这样就不需要二次BootLoader、不需要占用OTP区域,直接烧录Flash就可以使用。若需要做OTA功能,需要需要二次BootLoader和制作镜像文件后烧录Flash。
升压型
需要做二次BootLoader、需要占用OTP区域,需要做镜像文件,工作流程如下图:
图2
工作原理:芯片自带ROM基础的bootloader程序,OTP区域烧录二次bootloader代码,外挂FLASH区域烧录APP应用代码。当芯片上电或者硬件复位时,自带ROM基础的bootloader拷贝二次bootloader代码运行程序,二次bootloader再次拷贝APP应用代码运行程序。
1.3.外挂Flash存储MAP
下图为Flash内部存储结构:
图3
0x04000:1st Image载入的地址
0x1F000:2st Image载入的地址
0x38000:头信息载入的地址
0x40000:存储区的总长度
总结
DA14531外挂Flash,首先需要先看产品的供电方式,是升压型还是降压型,升压型:需要做P07口供电,二次Bootloader需要将PO7拉高,需要烧录OTP区域。降压型:就不需要P07空供电,相对简单了,不需要烧录OTP区域。那么如何开发二次Bootloader程序呢?请看后续更新…