大页 NAND FLASH 挂载 TFFS

一、获取 tffs 源代码

1、 请获取到最新的 tffs 源代码或者库文件,如果从其它地方获取的,不保证后面能够正常使用该库。

├─h

      backgrnd.h

      dosformt.h

      fatlite.h

      flbase.h

      flbuffer.h

      flcustom.h

      flflash.h

      flsocket.h

      flsysfun.h

      flsystem.h

      fltl.h

      pcic.h

      reedsol.h

      stdcomp.h

      tffsDrv.h

└─src

   └─tffs

            backgrnd.c

            dosformt.c

            fatlite.c

            flbase.c

            flflash.c

            flparse.c

            flsocket.c

            fltl.c

            ftllite.c

            Makefile

            reedsol.c

            ssfdc.c

            tffsDrv.c

            tffsLib.c

            nftllite.c

2、 修改头文件

进入到 h 文件夹下,打开 flcustom.h, 将其中的宏定义修改:

    #defineSECTOR_SIZE_BITS 11

二、编译tffs组件库

1、 进入到target\lib\arm\ARMARCH5\common 文件夹下,删除 libtffs.a 以及文件夹 objtffs

2、 进入到 target\src\drv 路径下,将原始的 tffs 文件夹改名为 back, 然后将获取到的 tffs 文件夹拷贝到该路径下。

3、 进入到 target\h 路径下,将原始的 tffs 文件夹改名为 back, 然后将获取到的 h 文件夹拷贝到该路径下,并改名为 tffs

4、 进入到 Windows 系统下的命令行,执行 Tornado2.2.1 所在的安装路径下的 torvas.bat 文件,设置环境变量,这里需要在该命令行下执行编译 tffs 组件库的动作。
   D:\Tornado2.2ARM\host\x86-win32\bin>torVars.bat
   D:\Tornado2.2ARM\target\src\drv\tffs 的目录

2012-11-19  23:29    <DIR>          .

2012-11-19  23:29    <DIR>          ..

2000-11-18  19:50             3,730 backgrnd.c

2000-11-18  19:50            16,089 dosformt.c

2012-11-19  23:35           109,802 fatlite.c

2001-12-08  09:09             2,746 flbase.c

2011-12-25  15:18            14,722 flflash.c

2000-11-18  19:50             2,705 flparse.c

2001-10-01  22:45            20,218 flsocket.c

2000-11-18  19:51             2,817 fltl.c

2001-10-25  02:28            73,426 ftllite.c

2012-11-19  22:57             1,018 Makefile

2000-11-18  19:51            25,211 reedsol.c

2001-10-01  22:45            66,028 ssfdc.c

2012-11-19  23:08            29,191 tffsDrv.c

2000-11-18  19:52             9,340 tffsLib.c

2013-04-13  21:55            69,866 nftllite.c

              15 个文件        411,048 字节

               2 个目录46,717,214,720 可用字节

 

D:\Tornado2.2ARM\target\src\drv\tffs>

  假设,在 ARM 926ejs 平台上进行该组件的编译,则执行如下的命令:

D:\Tornado2.2ARM\target\src\drv\tffs>make CPU=ARMARCH5TOOL=gnu 

  编译完毕,如下:

  D:\Tornado2.2ARM\target\src\drv\tffs 的目录

2012-11-19 23:29    <DIR>          .

2012-11-19 23:29    <DIR>          ..

2000-11-18 19:50             3,730 backgrnd.c

2012-11-19 23:30            34,005depend.ARMARCH5gnu

2000-11-18 19:50            16,089 dosformt.c

2012-11-19 23:35           109,802 fatlite.c

2001-12-08 09:09             2,746 flbase.c

2011-12-25 15:18            14,722 flflash.c

2000-11-18 19:50             2,705 flparse.c

2001-10-01 22:45            20,218 flsocket.c

2000-11-18 19:51             2,817 fltl.c

2001-10-25 02:28            73,426 ftllite.c

2012-11-19 22:57             1,018 Makefile

2000-11-18 19:51            25,211 reedsol.c

2001-10-01 22:45            66,028 ssfdc.c

2012-11-19 23:08            29,191 tffsDrv.c

2000-11-18 19:52             9,340 tffsLib.c

2013-04-13 21:55            69,866 nftllite.c

             15 个文件        411,048 字节

              2 个目录 46,717,214,720 可用字节

 

D:\Tornado2.2ARM\target\src\drv\tffs>

上述多了一个 depend.ARMARCH5gnu 文件,同时在target\lib\arm\ARMARCH5\common 文件夹下重新更新了 libtffs.a 库文件。

三、获取 NAND FLASH 驱动源代码

获取到 NAND FLASH 驱动源代码,然后集成到你的开发 BSP 包中。确保当前的驱动源代码是经过测试发布的。

四、修改 BSP

修改你的 BSP 文件,如下:

1、 打开 config.h 文件,如果之前没有定义 INCLUDE_TFFS,则你需要打开该宏,否则,确保该宏是打开的状态。

2、 打开 sysLib.c 文件,在里面增加对以下几个文件的包含:

#ifdef  INCLUDE_TFFS

# include "nandMtd.c"   /* NAND FLASH 驱动源代码 */

#endif  /* INCLUDE_TFFS */

五、编译系统

1、 如果是使用建立工程来编译系统映像,则需要在内核配置中打开INCLUDE_TFFS 组件,然后保存,重新编译,最终的系统映像将会自动加载 tffs 驱动,并且以“/tffs0”为设备名挂载文件系统。

2、 如果是在命令行下编译系统映像,则需要等系统启动后,手动执行如下的操作:

-> tffsDrv

-> usrTffsConfig 0,0,/tffs0

在执行上述第一步之前,建议使用如下的命令测试驱动挂载成功与否:

-> tffsShow

如果打印显示 NAND FLASH 设备的信息,则表明驱动加载成功,否则失败,请查找原因。

在执行上述第二步后,如果提示失败,建议执行格式化的操作,只需要操作一次即可。

-> sysTffsFormat

执行成功后,建议重新启动单板,然后执行开始的挂载动作。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值