"本文档详细介绍了如何将U-Boot 1.1.6版本移植到TQ2440开发板上,涵盖了移植环境、源代码处理、编译测试、硬件支持添加等多个方面,旨在为没有官方移植文档的用户提供一份详实的操作指南。"
移植U-Boot到TQ2440的过程中,首先需要了解移植的背景和环境。TQ2440开发板基于S3C2440处理器,配备64MB SDRAM、2MB NorFlash和64MB NANDFlash,以及DM9000网卡。由于缺少官方移植文档,作者基于U-Boot 1.1.6的源代码进行移植工作,并修复了源代码中的错误。
在开始移植前,需要搭建交叉编译环境,这里使用的是crosstools_3.4.5_softfloat交叉编译器。接着,需要对U-Boot源代码进行适当的删减,包括删除与TQ2440不相关的板级支持、CPU类型、库文件和配置头文件等,以确保源代码简洁且专注于目标平台。
完成源代码准备后,可以进行编译测试。这包括解压源码包并将其放置在合适的目录下,然后创建针对TQ2440的定制板级支持,如将原有的smdk2410目录复制并重命名为dong2440,修改相应的源代码文件名和Makefile配置。
接下来,移植过程涉及到对S3C2440处理器的支持,配置NorFlash以实现启动,增加NANDFlash的读写驱动,这些对于从不同存储介质启动至关重要。同时,还需要支持DM9000网卡,以便进行网络功能的调试和更新。
为了使TQ2440能够从NANDFlash启动,需要对启动流程进行调整。这可能涉及修改启动脚本、初始化代码以及添加必要的硬件初始化函数。之后,需要配置U-Boot以引导Linux内核,确保内核映像能正确加载并运行。
在文件系统方面,文档提到了支持YAFFS2文件系统。YAFFS2是一种专门为NANDFlash设计的文件系统,具有良好的错误纠正能力。移植YAFFS2文件系统意味着U-Boot将能够读写这种文件系统,从而允许用户在NANDFlash上部署应用程序和数据。
最后一步是烧录YAFFS2文件系统到NANDFlash中。这通常涉及使用特定的工具和命令将构建好的文件系统映像写入NANDFlash,以便TQ2440在启动时能够识别和加载。
这个移植过程涉及到了U-Boot的编译、板级支持的定制、硬件驱动的添加、启动流程的调整以及文件系统的支持,是一项系统性的工作,需要对U-Boot的架构和嵌入式系统有深入理解。通过遵循这个文档,开发者应该能够成功地将U-Boot 1.1.6移植到TQ2440开发板上。