EMMC的使用比nand flash还是复杂一些,有其特有的分区和电器性能
1、启动过程介绍
跟普通nand或spi flash不同,uboot前面还有好几级
在vendor某些厂商的设计中,ATF并不是BOOTROM加载后的第一个启动镜像,可能是这样的:
BOOTROM—>PL—>ATF—>optee—>uboot…, 在PL阶段就已经将ATF/optee/uboot镜像的load到内存了.

ATF(ARM Trusted firmware)完成启动流程:https://blog.youkuaiyun.com/u014426028/article/details/117949006?spm=1001.2014.3001.5501
ATF(ARM Trusted firmware):https://blog.youkuaiyun.com/shuaifengyun/category_6919265.html
MTK系统启动流程:https://www.likecs.com/show-203730440.html
Bpi-r64 quick start (boot from eMMC):https://forum.banana-pi.org/t/bpi-r64-quick-start-boot-from-emmc/9809
2、BL1(ROM)启动检测
从启动流程可以看到BL1属于固化在芯片内部ROM里面的一小段代码,我们修改不到。
其作用比较简单,主要有
a.初始化ISRAM和EMMC
b.当系统全擦后 ,也会配置USB,用来仿真USB端口下载镜像。
c.从EMMC中加载preloader到ISRAM中执行。
比如MT7622支持EMMC、SD卡、SPI Nor/Nand Flash
在《MT7622A_Datasheet.pdf》里面的strapping Options章节,有定义启动顺序
Bit[1]:NREB和Bit[0]:NWEB两个引脚
- 00:SPI-NOR -> eMMC -> SDXC
- 01:SPI-NAND -> eMMC -> SDXC
- 10:SLC-NAND -> eMMC -> SDXC
- 11:SDXC -> eMMC -> SLC-NAND
BL1启动后,根据引脚的设备,会依次从上面的选项启动,哪个初始化成功就用哪个启动。
3、BL2(preloader)生成过程
BL2的代码属于ATF的一部分arm-trusted-firmware-mediatek-2021-05-08-d2c75b21,ATF的package编译后会生产bl2.bin
Built /

最低0.47元/天 解锁文章
359

被折叠的 条评论
为什么被折叠?



