最近在研究IMX6Q的启动流程,BootLoader 只有Uboot,那CPU上电后把Uboot加载至哪里运行。
我的理解是上电后CPU执行固化的ROM程序,根据配置选择从哪里(比如SD卡)读取Uboot代码,将Uboot代码加载至1M的L2缓存。
之后在L2中运行Uboot,执行各种外设的初始化,比如DDR等。
但是又看到有人说是先读4K至片上RAM,然后根据flash_header 中的IVT(image vector table)结构体确定Uboot大小,初始化外设,再把Uboot Copy到DDR执行。
还是想请教大神,IMX6到底是怎么加载的Uboot?最关键的是DDR初始化在哪里执行的?
谢谢了!!!
|