这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 请教使用tffs文件问题

共4条 1/1 1 跳转至

请教使用tffs文件问题

菜鸟
2004-08-25 18:37:30     打赏
使用tffs文件问题
flash为at49bv160a,(1M*16),写了自己的MTD文件。
512k用作BOOTrom,512k*3用作tffs文件。

in config.h
#define INCLUDE_TFFS
#define INCLUDE_DOSFS
#define INCLUDE_SHOW_ROUTINES

复制mv177-sysTffs.c到BSP目录,并更名为为sysTffs.c,复制tffsConfig.c到BSP目录
sysTffs.c中添加自己的MTD宏定义,设置Flash存储器基址和大小,
in sysTffs.c
#define INCLUDE_MTD_AT49BV160
#define FLASH_BASE_ADRS 0x1000000
#define FLASH_SIZE 0x00180000

增加at49bv1604Mtd.c
FLStatus at49bvMTDIdentify( FLFlash* pVol );
LOCAL FLStatus at49bvSectorRangeErase(FLFlash* pVol, int, int);
LOCAL FLStatus at49bvProgram(FLFlash*, CardAddress, const void FAR1*, int, FLBoolean);
LOCAL void FAR0* at49bvMap(FLFlash*, CardAddress, int);

tffsConfig.c中向mtdTable[]表注册自己的MTD。
in tffsConfig.c
#ifdef INCLUDE_MTD_AT49BV160
at49bvMTDIdentify,
#endif /* INCLUDE_MTD_AT49BV160*/

下载下去了后,在shell中
->tffDev
value = 0 = 0x0
就是出现以下的情况了,有一个任务tTffsPTask 好像是等待什么信号量没有等到,
debug全部是汇编不好看。
不知道为什么?
-> i
NAME ENTRY TID PRI STATUS PC SP ERRNO DELAY
---------- ------------ -------- --- ---------- -------- -------- ------- -----
tExcTask excTask 20fac7c 0 PEND 20687e4 20fab84 0 0
tLogTask logTask 20f8300 0 PEND 20687e4 20f8218 0 0
tShell shell 20f41e4 1 PEND 200ac6c 20f3e78 0 0
tWdbTask wdbTask 20f63f4 3 READY 200ac6c 20f6328 0 0
tTffsPTask flPollTask 20fe8dc 100 DELAY 205e708 20fe858 0 1
tTick tTick 20e3d3c 255 DELAY 205e708 20e3cc0 0 4
value = 0 = 0x0

在at49bvMTDIdentify中加入了调试信息,没有执行到这儿。



关键词: 请教     使用     文件     问题    

菜鸟
2004-08-26 17:34:00     打赏
2楼
期待。。。

菜鸟
2004-08-26 15:21:00     打赏
3楼
今天,终于调试通了,是个小错误,在 sysTffs.c中没有
#ifndef dos
#include "tffs/tffsConfig.c"
#endif
改为
#ifndef dos
#include "tffsConfig.c"
#endif
呵呵,丢死人了


菜鸟
2004-08-26 15:30:00     打赏
4楼
新的问题,执行了tffsDrv,
执行sysTffsFormat的时候,格式化是对了,但是
在格式化后,好像不停的以0x200的增量从FLASH_BASE_ADRS+3000开始
不停的擦写,强行停下来后,查看每个64k的区是对的

01080000: 0313 4943 4653 00ff 5446 314c 3030 0100 *..CISF..FTL100..*
01080010: 001c 0000 0012 1009 0000 0018 3a00 0016 *.............:..*
01080020: 0000 0001 0017 ff00 0000 0000 0000 0000 *................*
01080030: 0044 0000 ffff ffff ffff ffff ffff ffff *D...............*
01080040: ffff ffff 0030 0000 0030 0000 0000 0000 *....0...0.......*
01080050: 0000 0000 0000 0000 0000 0000 0000 0000 *................*
01080060: 0000 0000 0000 0000 0000 0000 0000 0000 *................*
01080070: 0000 0000 0000 0000 0000 0000 0000 0000 *................*

从1090000---1100000都是这样的

就是一开始写东西就是不停的以0x200的增量反复擦写,希望大虾们能帮忙一下。
顶一下。

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]