有些CPU在运行bootloader之前运行一段固化的程序,比如x86结构的CPU就是先运行BIOS中的固件,然后才运行硬盘的第一个分区中的bootloader,在大多数的嵌入式系统中并没有固件,bootloader是上电第一个执行的程序。
Bios有上电自检硬件是不是有问题,如果嵌入式系统跳过这个环节,那就是说嵌入式系统中没有上电自检。
在嵌入式上电之后,需要一段程序(bootloader)进行初始化:关闭watchdog,改变系统时钟,初始化存储控制器,将更多的代码复制到内存中,并将操作系统内核复制到内存中运行。没有一个bootloader完全支持所有的CPU,所以我们要想使用bootloader,一般情况下要自己修改,我们可以增强bootloader的功能,让它具有网络功能,可以通过nts远程下载linux内核和根文件系统,可以烧写linux内核和根文件系统到nandflash中。