2010年(49)
分类: 嵌入式
2010-09-07 14:31:36
Uboot可以从jffs2中使用fsload命令加载linux内核,但是其对jffs2文件系统只能读不能写。
#define CONFIG_CMD_JFFS2
#define CONFIG_JFFS2_CMDLINE
#define MTDIDS_DEFAULT "nor0=norflash-0"
#define MTDPARTS_DEFAULT "mtdparts=norflash-0:512k(u-boot)," \
"3584k(data)"
Uboot利用MTD管理flash,可以将flash划分为多个mtd区。在上述MTDPARTS_DEFAULT中,将flash划分为两个mdt区。在uboot下,运行mtdparts命令可以看到分区信息。这类似于硬盘划分为c盘、d盘等。
在common/main.c中的main_loop()中添加代码,红色部分:
#ifdef CONFIG_AUTO_COMPLETE
install_auto_complete();
#endif
#ifdef
CONFIG_JFFS2_CMDLINE && TAICOM_TC505_HHY
run_command("mtdparts
default", 0);
#endif
#ifdef CONFIG_PREBOOT
if ((p = getenv ("preboot")) != NULL) {
# ifdef CONFIG_AUTOBOOT_KEYED
int prev = disable_ctrlc(1); /* disable Control C checking */
# endif
Mtdparts default命令用来根据宏定义MTDPARTS_DEFAULT设置系统mtd相关的环境变量。
将做好的jffs文件系统烧写到flash的第二个区data。
显示分区信息
改变当前分区
chpart data
同linux
从jffs2文件系统中加载文件