引言
32位ARM(Advanced RISC Machines)嵌入式处理器具有高性能、低功耗、高性价比的特性,已被广泛应用于消费电子产品、无线通信、控制和网络通信等领域。嵌入式系统的功能通常比较单一和固定,没有像PC机的BIOS那样的固件程序,因此必须有专门的启动程序来引导硬件系统进入操作系统或应用程序,整个系统的启动加载任务就由Bootloader来完成。Bootloader是严重的依赖于硬件而实现的,所以,建立一个通用的Bootloader几乎是不可能的,于是出现了多种引导加载程序,如Blob、Redboot、Vivi和U-boot等。其中U-boot是当前比较流行,功能比较强大的Bootloader,可以支持多种体系结构,对于产品开发来说,是一种比较好的选择。
本文所用的硬件平台是S3C2440开发板,该平台采用ARM920T内核的三星S3C2440芯片。整体设计融合了MMU、AMBA、BUS和Harvard结构。具有独立的16KB