使用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 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |