U-Boot 2010.06 移植到 TQ2440 指南

5星 · 超过95%的资源 需积分: 3 11 下载量 95 浏览量 更新于2024-09-18 收藏 256KB PDF 举报
"Uboot移植到TQ2440平台涉及的关键步骤与注意事项" 在本文中,我们将讨论如何将U-Boot版本U-BOOT-2010.06移植到基于S3C2440处理器的TQ2440开发板上。这个过程包括了对不同存储设备(如NAND和NOR Flash)的支持,以及DM9000网络接口的集成。以下是移植的详细步骤和关键知识点: 1. **移植背景与环境** - 移植目标是将U-Boot从通用版本适配到特定硬件TQ2440。 - 使用的交叉编译器是crosstools_3.4.5_softfloat,适合于ARM架构。 - 开发板配置:S3C2440 CPU,64MB SDRAM,2MB NOR Flash,256MB NAND Flash,以及DM9000以太网控制器。 2. **源代码准备** - 使用的U-Boot源代码版本是u-boot-2010.06-rc1。 - 需要根据TQ2440的硬件特性,删除或保留相应的源代码文件。主要涉及`arch`目录下的非ARM部分,`arch/arm/cpu`下的非arm920tmulu目录,以及`arch/arm/cpu/arm920t`下的非s3c24x0文件。同样,也需处理`board`目录下的三星(samsung)之外的部分,以及`smdk2410`目录内的文件。 3. **编译测试任务** - 创建目标板系统:将`board/samsung/smdk2410`目录复制并重命名为`tang2440`,修改相关文件以适应新的板型。 - 修改`smdk2410.c`为`tang2440.c`,这是针对TQ2440的启动代码。 - 更新Makefile,将COBJS变量更改为`tang2440.oflash.o`,指定编译的目标对象文件。 - 创建目标板配置文件:在`include/configs`下复制`smdk2410.h`为`tang2440.h`,并进行相应的配置修改。 - 修改顶层Makefile,添加`tang2440_config`配置选项,指定交叉编译器路径。 4. **配置交叉编译器** - 在顶层Makefile中,调整159行以设置正确的CROSS_COMPILE变量,这确保编译器指向crosstools_3.4.5_softfloat环境。 5. **NAND和NOR Flash支持** - U-Boot需要对TQ2440上的NAND和NOR Flash提供启动支持。这通常涉及驱动的编写或调整,以便正确识别和初始化这些存储设备。 6. **DM9000网络支持** - DM9000是一个常见的以太网控制器,需要在U-Boot中实现其驱动,以便开发板能通过网络进行通信。这可能涉及到驱动代码的编写,以及网络配置的设定。 7. **编译与测试** - 完成上述步骤后,执行`make tang2440_config`进行配置,然后运行`make`进行编译。最后,通过烧录生成的U-Boot映像到开发板的存储设备,验证移植是否成功。 在这个过程中,理解U-Boot的构建系统,熟悉ARM体系结构,以及掌握特定硬件驱动的编写是至关重要的。每个步骤都需要细致操作,确保U-Boot能正确识别和控制TQ2440的各个组件,从而实现系统的顺利启动和网络功能。