新手不需要詳細掌握 uboot,只需要知道它是一個什么東西即可,工作中也只是改一些參數而已。
1、uboot 是什么
Linux 系統要啟動就必須需要一個 bootloader 程序,也就說芯片上電以后先運行一段 bootloader 程序。這段 bootloader 程序會先初始化 DDR 等外設,然后將 Linux 內核從 flash(NAND,NOR FLASH,SD,MMC 等)拷貝到 DDR 中,最后啟動 Linux 內核。bootloader 和 Linux 內核的關系就跟 PC 上的 BIOS 和 Windows 的關系一樣,bootloader 就相當于 BIOS。所以我們要先搞定 bootloader。有很多現成的 bootloader 軟件可以使用,比如 U-Boot、vivi、RedBoot 等等,其中以 U-Boot 使用最為廣泛。
uboot 的全稱是 Universal Boot Loader,uboot 是一個遵循 GPL 協議的開源軟件,uboot 是一個裸機代碼,可以看作是一個裸機綜合例程。現在的 uboot 已經支持液晶屏、網絡、USB 等高級功能。
uboot 官網為 http://www.denx.de/wiki/U-Boot/
我們一般不會直接用 uboot 官方的 U-Boot 源碼的。uboot 官方的 uboot 源碼是給半導體廠商準備的,半導體廠商會下載 uboot 官方的 uboot 源碼,然后將自家相應的芯片移植進去。也就是說半導體廠商會自己維護一個版本的 uboot,這個版本的 uboot 相當于是他們定制的。</