一、概述
1、MTD
MTD是Flash的一种管理方法,将Flash划分成几个分区,便于管理。
u-boot的MTD功能是在文件cmd_jffs2.c中实现的,由此我们可以知道怎样打开u-boot的MTD功能。
2、MTD的作用
(1)对Flash构建了分区表,从而能够启动linux系统
(2)nand命令可以使用宏参数,例如“nand read.jffs2 0x30007FC0 kernel;”命令中的kernel,kernel参数
代表了内核分区的加载地址和大小。
二、移植
整个操作都是对TQ2440.h的修改。
1、使能MTD功能、定义MTD分区表
/* * config mtd settings */ #define CONFIG_JFFS2_CMDLINE 1 #define CONFIG_JFFS2_NAND 1 #define MTDIDS_DEFAULT "nand0=nandflash0" #define MTDPARTS_DEFAULT "mtdparts=nandflash0:256k@0(bios)," "128k(params)," "128k(toc)," "512k(eboot)," "1024k(logo)," "3m(kernel)," "-(root)" #define CONFIG_EXTRA_ENV_SETTINGS "mtdids=" MTDIDS_DEFAULT "