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号