bootloader有很多种,其中包括uboot。
uboot从flash读出内核,放入SDRAM,然后启动内核。
uboot要达到该目的需要实现的功能:1能够读Flash,2能写SDRAM,所以要能初始化SDRAM,3启动内核。
其中,第2步还要初始化时钟,因为开发板启动后晶振频率为12M,而开发板运行频率为400M。
如果想要通过串口查看启动信息,需要初始化串口。第2步统称硬件相关初始化,或者单板相关初始化。
还需要写flash功能,因为最初被读出来的内核需要提前写入flash,可能是通过网线下载,可能通过usb下载,可能通过命令操作,
因此需要支持网卡,支持usb功能,还要支持串口操作。
虽然uboot功能就是启动内核,但是要完成此功能需要实现其他许多功能。尽管如此,我们可以将uboot视为比较复杂的单片机程序。
elf文件???