U-Boot2010.09在S3C2440上的移植步骤

5星 · 超过95%的资源 需积分: 10 20 下载量 12 浏览量 更新于2024-07-31 收藏 131KB DOC 举报
"U-Boot 2010.09 移植到 S3C2440 完全手册" 本文档详细介绍了如何将 U-Boot 2010.09 版本移植到基于 S3C2440 CPU 的开发板上。S3C2440 是三星公司生产的一款高性能 ARM920T 内核的微处理器,常用于嵌入式系统设计。移植 U-Boot 的过程主要包括创建和修改配置文件、编译以及针对特定硬件的调整。 首先,移植工作从创建开发板配置文件开始。通过复制已存在的 SMDK2410 配置文件并重命名为 S3C2440,然后在 Makefile 和配置头文件中进行相应的修改,以适应 S3C2440 的硬件特性。这包括修改 COBJS 和 CBJS 变量以指定正确的闪存驱动,以及在 Makefile 中添加针对 S3C2440 的配置目标。 接下来,进行编译测试以确保版本的兼容性。通过执行 "make distclean" 清理旧的构建文件,然后运行 "make s3c2440_config" 来配置新的目标平台,并最后运行 "make all" 进行编译。如果编译成功且生成了 u-boot.bin 文件,那么基本的移植工作已完成。 然后,需要对源代码进行硬件相关的修改。这里提到了修改 `/arch/arm/cpu/arm920t/start.S` 文件,这是系统启动时加载的第一个汇编语言文件。在这个阶段,可能需要关闭看门狗定时器(Watchdog)并设置处理器的时钟值,以确保系统的正常初始化。具体操作是在适当位置添加条件编译指令,根据配置宏来执行特定的代码。 移植过程中可能还会涉及到其他文件的修改,例如设备树(Device Tree)的配置,以正确识别和初始化 S3C2440 上的外设,如内存控制器、中断控制器、串口、网络控制器等。对于本例中的 CS8900 网络控制器,可能需要更新网络驱动以适应 S3C2440 的接口。 此外,U-Boot 的启动脚本(bootcmd_script.S 或环境变量)也需要调整,以便加载正确的引导程序、内核映像和文件系统。这通常涉及到设置 NAND Flash 或 NOR Flash 的读取命令,以及网络 TFTP 协议的使用。 U-Boot 移植是一个涉及多个层次和组件的过程,包括硬件配置、驱动适配、启动流程优化等。完成这些步骤后,S3C2440 开发板就能使用 U-Boot 2010.09 版本来引导操作系统和应用程序,从而实现完整的系统启动。在整个移植过程中,开发者需要对 ARM 架构、汇编语言、嵌入式系统原理以及 U-Boot 源码有深入的理解。