JFFS2文件系统的配置
1. 在CONFIG_COMMANDS中增加CFG_CMD_JFFS2.
增加了CFG_CMD_JFFS2后会将JFFS2相关的文件编译到工程中。
2. 关于CFG_JFFS_CUSTOM_PART
Uboot提供了默认的jffs文件系统的part读取信息,如果用户定义该宏,则用户需要自己定制jffs的part信息,此时需要用户自己实现函数:
struct part_info* jffs2_part_info(int part_num);
一般情况下不需要用户自己来实现,使用uboot提供的就不会有什么问题了。
3. 关于CFG_JFFS_SINGLE_PART
如果用户不定义CFG_JFFS_CUSTOM_PART,那么编译器会定义CFG_JFFS_SINGLE_PART
#define CFG_JFFS_SINGLE_PART 1
这就意味着用户不可以改变jffs的part参数, 不提供chpart命令更改part_num. 否则用户可以通过chpart命令更改part_num(当前使用的part), 同时设定partition环境变量的值.
4. 建议操作
a. 在CONFIG_COMMANDS中增加CFG_CMD_JFFS2.
b. 定义CFG_JFFS2_NUM_BANKS为1, 一般情况下我们就设定1个bank为jffs文件系统.
=> #define CFG_JFFS2_NUM_BANKS 1
c. 不要定义 CFG_JFFS_CUSTOM_PART, 使用默认的数据.
=> #undef CFG_JFFS_CUSTOM_PART
d. 定义 CFG_JFFS2_FIRST_BANK, 确定flash_info中存放jffs文件系统的bank.
如: => #define CFG_JFFS2_FIRST_BANK 2
e. 一般情况下不要设置CFG_JFFS2_FIRST_SECTOR宏, 默认从该bank的第0个sector开始.
=> #undef CFG_JFFS2_FIRST_SECTOR 或者
=> #define CFG_JFFS2_FIRST_SECTOR 0
如果文件系统在该bank内部还是有偏移, 则设置 CFG_JFFS2_FIRST_SECTOR宏.
如: => #define CFG_JFFS2_FIRST_SECTOR 1
f. 配置结果
#define CONFIG_COMMANDS (... | CFG_CMD_JFFS2)
#define CFG_JFFS2_NUM_BANKS 1
#undef CFG_JFFS_CUSTOM_PART
#define CFG_JFFS2_FIRST_SECTOR 0
//#undef CFG_JFFS2_FIRST_SECTOR
#define CFG_JFFS2_FIRST_BANK 2
本系统使用flash的BANK2做为JFFS2文件系统,故定义宏CFG_JFFS2_FIRST_BANK为2。
(本文章发表于psbec的个人blog,未经本人许可,不得用于商业用途。任何个人、媒体、其他网站不得私自抄袭;网络媒体转载请注明出处,增加原文链接,否则属于侵权行为。如有任何问题,请留言或者发邮件给psbec,地址han.psbec@gmail.com)
文章出处:DIY部落(http://www.diybl.com/course/6_system/linux/Linuxjs/200888/135100.html)