QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1102|回复: 1

关于tffs文件系统的一些总结 zz

[复制链接]
发表于 2004-12-9 09:07:42 | 显示全部楼层 |阅读模式
关于tffs文件系统的一些经验总结-hongwind
关于tffs文件系统的一些总结:

感谢各位朋友的努力,前段时间完成了trueffs文件系统,使用的是sst39vf160,2Mbytes空间,
现在系统运行良好。
使用的是torando2.2 for arm!

下面就一些问题作说明:
首先要做的就是搞清楚自己的flash配置在什么位置,需要修改你的bsp!
这是很多人犯的错误,不修改你那里可以找得到呀。
wrsbcarm7.h

/***********************************************************
*
* -> EXTDBWTH : Memory Bus Width register 
*/
/*fixed*/
#define DSR0 (1<<0)   /* ROM0, 0 : Disable, 1 : Byte etc.*/
#define DSR1 (2<<2)   /* ROM1 */ 2--16bits
#define DSR2 (1<<4)   /* ROM2 */

/***************************************************************************
* -> ROMCON1 : ROM Bank1 Control register, Mailbox Interface
*/
#define ROMBasePtr1   (0x210<<10)         /*=0x02100000 noncacheable area fixed*/
#define ROMEndPtr1   (((0x200000>>16)+0x210)<<20)    /*=0x02300000*/
#define PMC1      0x0       /* 0x0=Normal ROM, 0x1=4Word Page etc.*/
#define rTpa1      (0x0<<2)    /* 0x0=5Cycle, 0x1=2Cycle etc.*/
#define rTacc1     (0x6<<4)    /* 0x0=Disable, 0x1=2Cycle etc.*/
#define rROMCON1    (ROMEndPtr1+ROMBasePtr1+rTacc1+rTpa1+PMC1)
说明,这里配置在0x02100000,那么文件中使用的flash_address应该是 0x2100000+4000000=6100000
这样访问的地址就放在了noncache区域。

C:\Tornado2.2\target\config\bootffs\sysTffs.c
#define FLASH_BASE_ADRS 0x06100000    /*33M, 2100000+4000000=6100000 no cache */
#define FLASH_SIZE 0x00200000  /*2M bytes*/

还有需要添加的一个定义,修改这个文件。
C:\Tornado2.2\target\h\tffs\stdcomp.h
/* MTD Identify Routines */
FLStatus sstMTDIdentify (FLFlash vol);/*fixed by shine*/
FLStatus amdMTDIdentify (FLFlash vol);
FLStatus i28f008Identify (FLFlash vol);
FLStatus i28f008BajaIdentify (FLFlash vol);
FLStatus i28f016Identify (FLFlash vol);
FLStatus cdsnIdentify (FLFlash vol);
FLStatus doc2Identify (FLFlash vol);
FLStatus cfiscsIdentify (FLFlash vol);
FLStatus cfiAmdIdentify (FLFlash vol);
FLStatus flwAmdMTDIdentify (FLFlash vol);

关于编译时候的错误:会有很多的重定义错误,那就是注意在你的makefile中只要添加

C:\Tornado2.2\target\config\bootffs\Makefile
MACH_EXTRA   = sngks32cEnd.o sst39vf160mtd.o
在C:\Tornado2.2\target\config\bootffs\sysTffs.c中有如下定义。
#ifndef DOC
#include "tffs/tffsConfig.c"
#endif /* DOC */
如果你的硬件配置没有问题的话,编译通过后启动应该有这样的信息,
Debug: entering SST MTD identification routine.

unlockAddr1 = 0x610aaaa, unlockAddr1 = 0x6105554

flashPtr = 0x6100000

offSet = 0x6100002

vol.type = 0x2782  /这里错误通常是由于硬件问题,检查你的器件引脚

Debug: begin operation function.

Debug: Identified sst39vf160 media. 说明找到了设备。

下面可以执行格式化配置操作。
然后-〉devs可以可以看到你的设备。
执行copy命令的时候注意你的格式
copy "****","*****"
否则容易出错呀。
发表于 2004-12-9 09:23:36 | 显示全部楼层
用的vxworks吧?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 12:08 , Processed in 0.033662 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表