Linux / 嵌入式 · 2021-12-03

Hi3516A开发–烧写/启动模式

在烧写程序之前先看看,板子是什么启动模式是比较重要的。
一、启动模式
Hi3516A 支持以下三种启动方式:
从片外 NAND Flash 存储空间启动
从片外 SPI Flash 存储空间启动
从 BOOT ROM 存储空间启动
当芯片上电复位时,启动模式由 BOOTROM_SEL/BOOT_SEL 信号的值决定,具体情况如表 1-1 所示。


说明:
BOOTROM_SEL 信号与芯片外部管脚 VO_DAT1 复用;
BOOT_SEL 信号与芯片外部管脚 VO_DAT0 复用。

1、从 BOOTROM 启动

当启动模式为从 BOOTROM 启动时,将会启动串口通信机制,通过串口与 PC 端相应的软件建立通信,下载 boot 程序后完成启动(请参考《 Fastboot 工具使用说明》);如果在 BOOTROM 启动时与串口通信超时未响应,将会转向判断 BOOT_SEL 上下拉电平,当 BOOT_SEL=0 时转向从 SPI Flash 启动;当 BOOT_SEL=1 时转向从 NAND
Flash 启动。
2、从 NAND Flash 启动

从 NAND Flash 启动时,外部连接的存储器为 NAND Flash,此时需要设置BOOTROM_SEL(与芯片外部管脚 VO_DAT1 复用)和 BOOT_SEL(与芯片外部管脚VO_DAT0 复用)的上下拉电平,用于选择 Boot 存储器:当 BOOTROM_SEL=0、BOOT_SEL=1 时,芯片支持从 NANDC 接口挂接的 NAND Flash 启动。

3、从 SPI Flash 启动

从 SPI Flash 启动时,外部连接的存储器为 SPI Flash, BOOTROM_SEL(与芯片外部管脚 VO_DAT1 复用)和 BOOT_SEL(与芯片外部管脚 VO_DAT0 复用)的上下拉电平,用于选择 Boot 存储器:当 BOOTROM_SEL=0、 BOOT_SEL=0 时,芯片支持从SFC 接口挂接的 SPI Flash 启动。
当芯片上电复位时, SPI Flash 启动模式由 SFC_DEVICE_MODE/SFC_BOOT_MODE 信号的值决定,具体情况如表 1-2 所示。


说明:
SFC_DEVICE_MODE 信号与芯片外部管脚 VO_DAT3 复用;
SFC_BOOT_MODE 信号与芯片外部管脚 SFC_CLK 复用。

二、烧写模式

1、向Nand Flash烧写

2、向SPI Flash烧写

三、SW1、SW2拨码开关讲解

总结:

SW1的Pin2引脚决定了是烧写模式还是启动模式。1 为烧写,0 为启动。

SW1的Pin3引脚决定了是选用SPI还是选用Nand。1 为Nand,0为SPI。