### TX2440 U-Boot 移植详解 #### 一、移植背景与环境配置 **TX2440 ARM开发板U-Boot移植**是针对基于ARM920T核心的TX2440开发板进行的操作系统引导加载程序(U-Boot)的定制与优化工作。此过程主要涉及U-Boot的编译配置、开发板支持文件的编写与调试等环节。 **移植环境:** - **主机系统:** VMWare环境下运行的Ubuntu 10.04。 - **内核版本:** Linux Kernel 2.6.34。 - **开发板:** TX2440,内存256MB NAND Flash。 - **编译器:** arm-linux-gcc-4.3.2。 - **U-Boot版本:** u-boot-1.3.4。 #### 二、移植步骤详解 **移植的目标功能包括:** 1. **NAND Flash读写支持:** 实现对开发板上的NAND Flash存储设备的数据读写操作。 2. **Nor/NAND自动选择启动:** 根据硬件配置自动识别并选择合适的启动方式(Nor Flash或NAND Flash)。 3. **DM9000网卡支持:** 支持DM9000系列网络适配器,实现网络功能。 4. **Yaffs2文件系统支持:** 集成Yaffs2文件系统驱动,支持数据持久化存储。 5. **U-Boot启动菜单:** 提供用户友好的启动菜单界面,方便用户选择不同的启动项。 **具体移植步骤如下:** 1. **清除已编译的文件,配置编译选项:** - 运行`make distclean`命令,清除所有已有的编译文件。 - 修改`u-boot/cpu/arm920t/config.mk`文件: - 将`-msoft-float`注释掉,避免使用软浮点编译,以提高性能。 - 将`-march=armv4`修改为`-march=armv4t`,以避免编译过程中出现“目标CPU不支持inter-working”的错误。 2. **建立自己的开发板项目并测试编译:** - 由于U-Boot对很多开发板提供了直接支持,我们可以在`board`目录下查看各个子目录,例如`board/samsung/`目录下就有对三星ARM开发板的支持,如smdk2400、smdk2410和smdk6400等。 - 因为TX2440与smdk2410资源相似,因此可以选择以smdk2410为基础创建新的开发板项目——smdk2440。 - 在U-Boot的`board`目录下执行以下命令: - `tar jxvf u-boot` 解压源码。 - `cd u-boot/board` 进入U-Boot的board目录。 - `cp -rf smdk2410 smdk2440` 复制smdk2410的所有文件到smdk2440。 - `mv smdk2440/smdk2410.c smdk2440/smdk2440.c` 更改文件名。 - 修改`smdk2440/Makefile`中的编译项,将`smdk2410.o`改为`smdk2440.o`。 - 创建smdk2440的头文件: - `cp include/configs/smdk2410.h include/configs/smdk2440.h`。 - 删除不需要的文件夹: - 删除`board`目录下除`smdk2440`以外的其他文件夹。 - 删除`cpu`目录下除`arm920t`以外的其他文件夹。 - 删除`include/config`目录下除`smdk2440.h`以外的其他头文件。 - 在`include/configs/smdk2440.h`头文件中,删除与smdk2410相关的宏定义,并添加`CONFIG_S3C2440`和`CONFIG_SMDK2440`的宏定义: - `#define CONFIG_ARM920T 1` - `#define CONFIG_SMDK2440 1` - `#define CONFIG_S3C2440 1` - 修改`cpu/arm920t/s3c24x0/interrupt.c`文件中的`get_tcbclk`函数,添加`CONFIG_SMDK2440`的宏定义。 - 在`include`目录中,复制`s3c2410.h`文件为`s3c2440.h`文件,并将`#ifndef __S3C2410_H__`改为`#ifndef __S3C2440_H__`。 - 在U-Boot根目录下搜索所有包含`#include <s3c2410.h>`的内容的文件,并将其替换为`#include <s3c2440.h>`。 通过上述步骤,我们完成了TX2440开发板上U-Boot的基本移植工作,接下来可以进行编译测试和进一步的开发工作。移植完成后,U-Boot将能够支持TX2440开发板上的特定硬件特性,并具备启动Linux内核的能力。

























- linansan2012-03-05内容写的非常详细,内容也是跟天祥电子里面的差不多,值得学习学习。

- 粉丝: 20
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网站界面(UI)设计-期末考试复习题-电大-开放大学.docx
- CAD实验研究报告.doc
- 热工仪表自动化技术分析.docx
- 三维测头数据采集模板设计3.doc
- 经济领域中计算机数据处理技术的应用.docx
- 人工智能时代的后人类与身体美学.docx
- 软件开发项目管理系统.doc
- 自动化仪表安装调试方案.doc
- 禁止电脑安装软件插件.doc
- 互联网时代下小学科学教学创新策略.docx
- 计算机应用基础教案集共七章.doc
- 购物网站经营策略浅析.doc
- XX数据库有限公司品牌战略规划(PPT-66).pptx
- 【ppt可编辑模板】互联网商贸PPT模板.pptx
- 计算机等考试二VFP笔试.doc
- 图像压缩(JPEG)编码算法及压缩过程的实现.doc


