使用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 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |