DA14531-高级应用篇-外挂Flash应用介绍

下面是当前开发基于的版本

名称 说明
SDK 6.0.18.1182.1

# 本教程主要适用于低功耗产品,DA14531它体积小,非常适用于对体积敏感的设备,如无线可穿戴、传感器、助听器等设备。本文经过作者发大量时间来记录开发项目的调试方法,里面有许多笔者开发心得体会,旨在让读者工程师快速上手,减少摸索时间,提高软件质量。

读者对象
本文档主要适用以下工程师:
嵌入式系统工程师
单片机软件工程师
IOT固件工程师
BLE固件工程师

文章目录

  • 1.DA14531外挂Flash烧录
    • 1.1.外挂Flash硬件连接
    • 1.2.外挂Flash工作原理
    • 1.3.外挂Flash存储MAP
  • 总结

1.DA14531外挂Flash烧录

1.1.外挂Flash硬件连接

SPI FLASH接口一般定义为CLK:P0_4 MISO:P0_3 MOSI:P0_0 SC:P0_1。
DA14531-高级应用篇-外挂Flash应用介绍_第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区域,需要做镜像文件,工作流程如下图:
DA14531-高级应用篇-外挂Flash应用介绍_第2张图片

图2
工作原理:芯片自带ROM基础的bootloader程序,OTP区域烧录二次bootloader代码,外挂FLASH区域烧录APP应用代码。当芯片上电或者硬件复位时,自带ROM基础的bootloader拷贝二次bootloader代码运行程序,二次bootloader再次拷贝APP应用代码运行程序。

1.3.外挂Flash存储MAP

下图为Flash内部存储结构:
DA14531-高级应用篇-外挂Flash应用介绍_第3张图片
图3
0x04000:1st Image载入的地址
0x1F000:2st Image载入的地址
0x38000:头信息载入的地址
0x40000:存储区的总长度

总结

DA14531外挂Flash,首先需要先看产品的供电方式,是升压型还是降压型,升压型:需要做P07口供电,二次Bootloader需要将PO7拉高,需要烧录OTP区域。降压型:就不需要P07空供电,相对简单了,不需要烧录OTP区域。那么如何开发二次Bootloader程序呢?请看后续更新…

你可能感兴趣的:(单片机,物联网,c语言)