TQ2440上的u-boot1.1.6移植:NOR/NAND FLASH与DM9000配置

需积分: 9 6 下载量 121 浏览量 更新于2024-09-17 收藏 212KB DOC 举报
"u-boot1.1.6在TQ2440上的移植教程,主要涉及NOR FLASH、NAND FLASH以及DM9000网络控制器的配置" 在嵌入式系统开发中,u-boot是一个重要的引导加载程序,用于初始化硬件、加载操作系统内核等任务。本篇文章将详细介绍如何将u-boot1.1.6版本移植到TQ2440开发板上,主要分为NOR FLASH、NAND FLASH和DM9000网络控制器的配置。 首先,我们来看NOR FLASH的移植步骤。TQ2440开发板上使用的NOR FLASH型号为2MEN29LV160AB,这是一款16MB的存储设备,采用半字模式,总共有35个扇区。为了让u-boot能够正确识别并操作这款Flash,我们需要修改u-boot的配置文件。 在`include/configs/changer2440.h`中,原有的配置是针对AM29LV400的,所以我们需要注释掉与之相关的代码,并启用适合2MEN29LV160AB的配置。具体操作如下: 1. 将`#define CONFIG_AMD_LV4001`这一行用`#if 0`包裹,使其失效。 2. 同样,注释掉`#define CONFIG_AMD_LV8001`。 3. 之后,启用`#define PHYS_FLASH_SIZE 0x00200000`,表示物理Flash大小为2MB。 接着,我们需要更新NOR FLASH的信息。在`board/tq2440/flash.c`文件的`flash_print_info()`函数中,添加对EN29LV160AB的识别和支持。这里需要根据EN29LV160AB的特性,修改芯片类型判断,以便在打印信息时能准确显示Flash的型号。 完成以上步骤后,u-boot应该能够正确识别TQ2440上的NOR FLASH。接下来是NAND FLASH的移植。这部分通常涉及到配置NAND的地址映射、读写操作以及坏块管理。具体配置方法通常在`include/configs/changer2440.h`和`drivers/mtd/nand.c`等文件中,但具体内容未在提供的描述中给出,所以这部分需要参考u-boot的官方文档或相关教程来完成。 最后,对于DM9000网络控制器的移植,通常需要实现驱动程序,包括初始化、数据收发等功能。这涉及到`drivers/net/dm9000.c`中的代码编写和配置。在`include/configs/changer2440.h`中,可能需要定义如`#define CONFIG_DM9000`来启用DM9000支持,并配置相关寄存器地址、中断处理等。 u-boot在TQ2440上的移植涉及到硬件初始化、设备驱动编写和配置文件的修改。对于NOR FLASH和NAND FLASH,主要是修改配置以匹配开发板上的实际硬件;而对于网络控制器DM9000,则需要实现相应的驱动程序。移植过程中需要注意代码的兼容性、硬件接口的正确性,以及调试过程中可能出现的问题。通过这些步骤,可以确保u-boot成功地在TQ2440上运行,为后续的操作系统加载和应用开发打下基础。