前言
本文主要记录移植当前最新版u-boot(u-boot-2019.10)到jz2440的过程。做这个移植主要是为了从这个过程中学习移植u-boot的一般流程、u-boot的使用以及u-boot的实现。本文主要参考的内容是韦东山老师的二期视频教程,以及网上的相关博文,这些都会在参考文献中列出。
1 u-boot简介
u-boot是一种bootloader,用于引导操作系统内核的启动。字母u表示“通用”的意思,正如其名所说,u-boot目前已经支持arm、x86、mips、riscv等多种体系结构,支持引导linux、VxWorks、Solaris等多种操作系统。如何使用u-boot(主要是使用它提供的命令)来做开发,这个有很多资料讲解,u-boot自身也提供了命令的使用说明,因此使用u-boot本身并不困难,这里不再赘述。
2 第一步——根据自己的硬件初步修改u-boot
2.1 移植的不同硬件层次
我们要在不同的硬件平台之间移植u-boot,必然需要搞清楚不同硬件平台之间的差别。而硬件的差别体现在多个层次上,比如说,我们的目标开发板
是jz2440,使用的SoC
是三星公司的s3c2440,该SoC使用的内核(CPU)是ARM设计的ARM920T
,该内核基于armv4t
架构。
从一种硬件平台向另一种硬件平台移植时,需要知道两者之间在哪个硬件层次上开始有区别:
-
<