U-BOOT JFFS2文件系统的配置

来源:互联网 发布:js遍历数组赋值 编辑:程序博客网 时间:2024/06/06 05:29

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)

原创粉丝点击