功能介绍
DA14531中,有一种情况下必须实施二次引导代码开发,那就是:电源采用1.1V-1.5V供电且要外挂Flash时,因为Flash的供电范围是一般为1.65V-3.6V,二次引导代码需将升压到FLASH工作电压,再读取Flash中的应用程序。二次引导代码支持生产支持单总线串口烧录,重复烧录FLASH程序应用代码,支持OTA升级,SDK中工程名为secondary_bootloader。本文讲述修改二次引导代码工程的重要细项。
其包括内部组件:
- 双线串口烧录模块
- 单线串口烧录模块
- 外挂SPI Flash模块
- 外挂I2C Eeprom模块
- OTP后Jlink仿真通讯
支持用户配置列表
烧录OTP后可否仿真 syscntl_load_debugger_cfg | 可配置 |
---|---|
单总线烧录管脚配置 GPIO_PIN_5 | 可配置 |
SPI 总线 EN GPIO_PIN_1 | 可配置 |
SPI 总线 CLK GPIO_PIN_4 | 可配置 |
SPI 总线 DI GPIO_PIN_0 | 可配置 |
SPI 总线 D0 GPIO_PIN_3 | 可配置 |
GPIO输出电源 Vcc或者1.8-3.0V | 可配置 |
镜像文件头配置 0x38000 | 可配置 |
1.支持在线仿真
初始时加入syscntl_load_debugger_cfg();
表示可以重复Jlink连接调试仿真
2.支持串口烧录,和支持单线线写
utilities\secondary_bootloader\includes\bootloader.h
/************** 2-wire UART support **************/
#define UART_SUPPORTED
/************** 1-wire UART support ************/
#if defined (DA14531)
#define ONE_WIRE_UART_SUPPORTED
#endif
3.使用外部FLASH
utilities\secondary_bootloader\includes\da1458x_config_basic.h打开以下定义宏
#define CFG_SPI_FLASH_EXTENSIONS
#undef CFG_SPI_DMA_SUPPORT
4.设置烧录串口
utilities\secondary_bootloader\includes\user_periph_setup.h设置TX和RX的管脚定义
#define UART_TX_PIN GPIO_PIN_5
#define UART_RX_PIN GPIO_PIN_5
5.设置供电电源
\utilities\secondary_bootloader\src\user_periph_setup.c设置GPIO输出打电压,根据flash电源范围设定,如设置1.8V、3.0V等
syscntl_dcdc_turn_on_in_boost(SYSCNTL_DCDC_LEVEL_1V8);