使用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中加入了调试信息,没有执行到这儿。
共4条 1/1
1
跳转至
页
3楼
今天,终于调试通了,是个小错误,在 sysTffs.c中没有
#ifndef dos
#include "tffs/tffsConfig.c"
#endif
改为
#ifndef dos
#include "tffsConfig.c"
#endif
呵呵,丢死人了
#ifndef dos
#include "tffs/tffsConfig.c"
#endif
改为
#ifndef dos
#include "tffsConfig.c"
#endif
呵呵,丢死人了
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的增量反复擦写,希望大虾们能帮忙一下。
顶一下。
执行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
跳转至
页
回复
有奖活动 | |
---|---|
5月直播——【探索边缘智能的未来——直播盛宴即将开启!】 | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 |