本文档详细介绍了如何将U-BOOT 2010.06-rc1版本移植到TQ2440开发板上,包括了移植的背景、环境、源代码选择以及编译测试的过程。
移植背景与环境:
在进行U-BOOT移植时,首要了解的是移植的背景和环境。本案例中,移植的目标平台是基于S3C2440处理器的TQ2440开发板,该板子具有64MB的SDRAM,2MB的NorFlash和256MB的NANDFlash,同时集成了DM9000网卡。使用的交叉编译器是crosstools_3.4.5_softfloat版本。
移植源代码:
移植的U-BOOT版本为2010.06-rc1,可以从ftp.denx.de/pub/u-boot/下载。在开始移植前,需要对源代码进行适当的裁剪,以适应TQ2440的硬件配置。
文件删减:
为了适配TQ2440,需要删除不相关的源代码目录和文件。具体操作包括:
1. 删除非ARM架构的目录,以及arm\cpu下非arm920tmulu的目录,但保留arm920t下的s3c24x0目录及其文件。
2. 删除非samsung的board目录,以及board\samsung下非smdk2410的目录。
3. 在include\configs目录下,只保留smdk2410.h头文件。
编译测试任务:
1. 创建目标板系统:将board\samsung\smdk2410目录复制并重命名为tang2440,然后修改相关文件名和配置,如将smdk2410.c改名为tang2440.c,Makefile中的COBJS改为tang2440.oflash.o。
2. 创建目标板配置文件:复制smdk2410.h为tang2440.h,并在include\configs目录下进行修改。
3. 修改顶层Makefile,添加tang2440_config配置,指定交叉编译器路径。
配置交叉编译器:
最后,需要更新顶层Makefile,设置正确的交叉编译器路径。在Makefile的159行,将ifeq($(HOSTARCH),$(ARCH))块中的CROSS_COMPILE变量指向实际的交叉编译器路径。
通过以上步骤,用户可以成功地将U-BOOT移植到TQ2440开发板上,并进行编译测试。这个过程不仅涉及源代码的裁剪,还涉及到配置文件的修改,以及针对特定硬件的定制,是嵌入式系统开发中常见的工作流程。在实际操作中,还需要根据开发板的具体硬件特性进行相应的调整,例如网络驱动、设备树等。完成移植后,U-BOOT将能够引导TQ2440板子启动,并支持其各种外设和功能。