1、支持多种模式可配置
(1)支持BootRom启动
(2)支持从 SPI NOR Flash 启动
(3)支持从 SPI NAND Flash 启动
(4)支持从 eMMC 启动
(5)支持 PCIe 从片启动
2、启动方式的选择
BOOT_SEL[1:0] | SFC_EMMC_BOOT_MODE | MODE |
---|---|---|
00 | 0 | SPI Nor Flash 3 Byte |
00 | 1 | SPI Nor Flash 4 Byte |
01 | 0 | SPI Nand Flash 1 write |
01 | 1 | SPI Nand Flash 4 write |
11 | 0 | eMMC 4bit |
11 | 1 | eMMC 8bit |
(1)SFC_EMMC_BOOT_MODE & BOOT_SEL1 & BOOT_SEL0是芯片的三个gpio引脚,可以通过外围电路来拉高拉低;
(2)SFC_EMMC_BOOT_MODE & BOOT_SEL1 & BOOT_SEL0 决定了启动或者烧
写的目标介质,需要根据当前板子接的启动介质来拉高拉低相应引脚,否则会启动失败;
3、烧写(升级)方式选择
FAST_BOOT_MODE | MODE |
---|---|
0 | Normal BOOT |
1 | Fast BOOT |
(1)当启动介质是空的时候,芯片可以通过串口向芯片进行烧写,这是因为内部额BootRom支持该功能;
(2)芯片可以通过外围电路对FAST_BOOT_MODE引脚进行拉高拉低,当低电平时是Normal BOOT模式,此时不支持串口来烧写启动介质;是高电平时,是Fast BOOT模式,支持串口烧写启动介质;
(3)当我们用HiTool工具进行串口烧写海思芯片时,如果不成功,可能是当前是Normal BOOT模式,此时需要修改FAST_BOOT_MODE引脚为高电平;
3、pcie启动方式选择
PCIE_SLV_BOOT_MODE | Function |
---|---|
0 | Disable boot from Pcie |
1 | Boot from pcie |
(1)PCIE_SLV_BOOT_MODE引脚的高低电平状态决定了当前是否采用pcie启动方式;
(2)使用pcie启动时,芯片本身是不需要nand flash或者eMMC等介质来存储uboot、kernel、rootfs,开机时主片会通过pcie接口把启动文件放到芯片的ddr中;
推荐
给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
链接:学习神器跳转