U-boot中mtdparts命令添加

在自己开发板的配置头文件下面添加如下几条语句就可以用kernel代替你的具体分区表,下面语句没有其他的作用,就是为了方便你不用记那些地址范围,省去了不少事情。


在在arch/arm/lib/board.c   中for(;;) 前面添加run_command("mtdparts default", 0);

#define CONFIG_CMD_MTDPARTS

#define CONFIG_MTD_DEVICE
#define MTDIDS_DEFAULT          "nand0=fl2440-0"  
#define MTDPARTS_DEFAULT        "mtdparts=fl2440-0:256k(u-boot),"       \
                                                "128k(params),"         \
                                                "2m(kernel),"   \

                                               "-(rootfs)"             \

例子如下:

tftp 30000000 uImage
nand erase.part kernel
nand write 30000000 kernel


注意:这里添加mtdparts命令后可以正常使用,(我的u-boot版本没有yaffs2下载功能)但是后面会添加yaffs2下载功能的时候出现了bug,解决办法就是去掉mtdparts命令的支持,具体为什么我没有去研究过,反正我分析源代码没有找出原因。

出现bug的情况如下:

NAND: U-Boot BUG at mtdcore.c:20

你可能感兴趣的:(U-boot中mtdparts命令添加)