ARM芯片上跑Linux,那么启动流程为:
ROM >> u-boot-SPL >> u-boot >> kernel >> file system >> application
ROM是固化在芯片内的程序固件,芯片上电最开始读取的程序,多用于引导boot介质,例如SD卡,二MMC,NAND等等。
SPL是Secondary Program Loader的简称,第二阶段程序加载器,是相对ROM来排行的,所以叫第二阶段。原厂在设计芯片时,上电后ROM都会读取一个4K/8K/16K的初始化程序,用于初始化外部DDR等外设,对软件来说4K/8K/16K的初始化程序就是SPL。