D1-h 如何从SD启动
-
大家好,我想请教下 user manual v1.2 page 155(下图)中提到BOOT_MODE 0/1 来决定启动顺序是从GPIO还是efuse读取,我的问题是BOOT_MODE出厂默认值是什么? 如何修改BOOT_MODE的数值(工具、寄存器地址)。
我的目的想把开发板设置成从SD卡启动。
非常感谢你的回复
-
默认是 SD卡 启动的,BOOT_MODE 是BROM使用的,这一部分代码已经固化到芯片里了知道寄存器也没啥用,BOOT_MODE可以通过外部上下拉BOOT_SEL引脚设置启动顺序,也可以通过烧录eFuse熔丝设定
-
@yuzukitsuru 默认是sd卡启动的?意思是说现在哪吒的板子如果不插sd卡的话就是启动的spi nand,然后如果插入含有制作好的sd卡的话,就是默认从sd卡启动?两者是否使用的同一份固件呢?
-
@kelsey 在 D1-h 如何从SD启动 中说:
@yuzukitsuru 默认是sd卡启动的?意思是说现在哪吒的板子如果不插sd卡的话就是启动的spi nand,然后如果插入含有制作好的sd卡的话,就是默认从sd卡启动?两者是否使用的同一份固件呢?
Q1:是的
Q2:可以使用同一份固件,看放在哪种存储介质里而已 -
@xiaowenge 这里的使用同一份介质指的是完全一样的介质吗?启动介质的类型也不需要更改吗?(如果是spi nand切换到sd卡的话)
-
@kelsey 全志平台的固件只分为NOR固件和普通固件,NOR固件是高度裁剪压缩的,一般最大16MByte,只可以刷入SPI NOR储存器
而普通固件是通用的,可以刷入
- SPI NAND
- eMMC
- TF Card
- SD Nand
- MMC
- SDMMC
- EMCP
- SLC RAW NAND
- MLC RAW NAND
- TLC RAW NAND
- QLC RAW NAND
具体可以刷入怎样的储存介质需要芯片与驱动支持。
例如我给固件配置了MMC和SPI NAND的驱动,这个固件就可以刷入eMMC,MMC,TF Card,SD NAND, SPI NAND。因为eMMC,MMC,TF Card,SD NAND的驱动都是SDC的MMC驱动,所以共用我配置的eMMC驱动即可,而SPI NAND是SPI NAND的驱动,需要单独配置。
所以SD卡切换到SPI NAND需要打开SPI NAND的驱动,SPI NAND切换到SD卡需要打开MMC的驱动,具体参考帖子:Tina Linux 存储介质切换:eMMC,SPI NAND,SPI NOR,SD Card,SD NAND https://bbs.aw-ol.com/topic/1701/share/1
可以参考这个伪代码了解BROM的启动逻辑:
-
@yuzukitsuru 了解了,感谢大佬
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号