下载后可任意编辑u-boot-2024.08 在 2440 上的移植详解(黄刚)u-boot-2024.08 在 2440 上的移植详解(一)嵌入式 Linux 之我行,主要讲述和总结了本人在学习嵌入式 linux 中的每个步骤。一为总结经验,二希望能给想入门嵌入式Linux 的朋友提供方便。如有错误之处,谢请指正。共享资源,欢迎转载:http://hbhuanggang.cublog.cn 一、移植环境主 机:VMWare--Fedora 9 开发板:Mini2440--64MB Nand,Kernel:2.6.30.4 编译器:arm-linux-gcc-4.3.2.tgz u-boot:u-boot-2024.08.tar.bz2二、移植步骤本次移植的功能特点包括:支持 Nand Flash 读写 支持从 Nor/Nand Flash 启动 支持 CS8900 或者 DM9000 网卡 支持 Yaffs 文件系统 支持 USB 下载(还未实现) 1. 了解 u-boot 主要的目录结构和启动流程,如下图。 u-boot 的 stage1 代码通常放在 cpu/xxxx/start.S 文件中,他用汇编语言写成; u-boot 的 stage2 代码通常放在 lib_xxxx/board.c 文件中,他用 C 语言写成。 各个部分的流程图如下: 下载后可任意编辑 2. 建立自己的开发板项目并测试编译。 目前 u-boot 对很多 CPU 直接支持,可以查看 board 目录的一些子目录,如:board/samsung/目录下就是对三星一些 ARM 处理器的支持,有 smdk2400、smdk2410 和 smdk6400,但没有 2440,所以我们就在这里建立自己的开发板项目。 1)因 2440 和 2410 的资源差不多,主频和外设有点差别,所以我们就在 board/samsung/下建立自己开发板的项目,取名叫 my2440 #tar -jxvf u-boot-2024.08.tar.bz2 //解压源码#cd u-boot-2024.08/board/samsung/ //进入目录#mkdir my2440 //创建 my2440 文件夹 2)因 2440 和 2410 的资源差不多,所以就以 2410 项目的代码作为模板,以后再修改#cp -rf smdk2410/* my2440/ //将 2410 下所有的代码复制到 2440 下#cd my2440 //进入 my2440 目录#mv smdk2410.c my2440.c //将 my2440 下的 smdk2410.c 改名为 my2440.c下载后可任意编辑#cd ../../../ //回到 u-boot 根目录#cp include/configs/smdk2410.h include/configs/my2440.h //建立 2440 头文件#gedit board/samsung/my2440/Makefile //修改 my2440 下 Makefile 的编译项,如下:COBJS := my2440.o flash.o //因在 my2440 下我们将 smdk2410.c 改名为 my2440.c3)修改 u-boot...