2440开发板移植u-boot-2009.08详解

版权申诉
0 下载量 94 浏览量 更新于2024-07-02 收藏 849KB DOC 举报
"u-boot 2009.08在2440上的移植详解" 本文档详细介绍了如何将u-boot 2009.08版本移植到基于Samsung S3C2440微处理器的Mini2440开发板上。作者黄刚分享了他在嵌入式Linux领域的学习和移植经验,旨在为其他初学者提供参考。移植过程中,作者使用了VMware上的Fedora9作为主机环境,配备了arm-linux-gcc-4.3.2编译器,并且目标系统是内核版本为2.6.30.4的64MB NAND Flash的Mini2440开发板。 移植的主要功能包括对NandFlash的读写支持、从Nor/NandFlash启动、对CS8900或DM9000网卡的支持、Yaffs文件系统以及计划但尚未实现的USB下载功能。 移植过程分为多个步骤: 1. 首先,理解u-boot的启动流程至关重要。u-boot的启动分为两个阶段,stage1通常由汇编语言编写,位于`cpu/xxxx/start.S`,而stage2则是用C语言编写的,位于`lib_xxxx/board.c`。作者提供了流程图来帮助读者理解这两个阶段。 2. 在board/samsung/目录下创建新的开发板项目"my2440"。由于S3C2440和S3C2410的硬件资源相似,因此可以借鉴2410的配置。这涉及到复制和修改现有配置文件以适应S3C2440的具体需求。 3. 修改Makefile以包含新开发板的配置,例如设置CPU类型、内存大小、外设接口等。 4. 根据开发板的硬件特性,编写或修改相应的驱动程序,例如NandFlash、NorFlash、网卡驱动等。这些驱动通常位于`drivers/mmc`、`drivers/nand`和`drivers/net`目录下。 5. 为了支持从NandFlash启动,需要配置bootloader加载地址、内核映像位置和设备树(Device Tree)信息。 6. 对于Yaffs文件系统的支持,需要确保内核和u-boot都正确配置了相关的文件系统支持。 7. 测试编译新创建的u-boot项目,通过交叉编译生成适合目标系统的可执行文件,然后将其烧录到开发板的NandFlash中。 8. 最后,通过串口或网络连接调试u-boot的运行,确保所有预期功能正常工作。 通过这个移植过程,开发者能够深入理解u-boot的工作原理,同时掌握针对特定硬件平台进行Bootloader移植的方法。这对于嵌入式Linux开发人员来说是一项基础且重要的技能。