您好!你这个问题我略有涉猎过,关于IMX6的启动流程,你理解的前半部分没错,CPU一上电首先执行rom中固化程序,从配置选择中确定Uboot的获取设备,即确定启动设备,然后从启动设备(比如SD卡)中读取头几K程序(长度不同的设备不同)到片上RAM,然后从这几K程序的IVT中获取uBoot的程序信息(程序入口点、程序长度等),而确定这些信息后,CPU就会自动将uBoot复制到你自己定义的地址位置,注意,是你自己定义的地址位置,这要根据你程序设定,如果要将程序放在SDRAM运行,则将程序的运行地址定义在SDRAM的地址范围内。至于你说的1M的L2缓存,在ARM平台中是没有地址的,因此,代码无法加载到缓存运行。这是我个人见解,如果有错,请纠正!!!
|