目前nandflash可以格式话,可以加载,但在用ftp上传文件时出现问题,上传小于20k的文件没有问题,但上传大一点的文件就会出现异常:异常如下
Data abort
Exception address: 0x300a1964
Current Processor Status Register: 0x20000013
Task: 0x33df7c8c "tFtpdServ1"
trcStack aborted: error in top frame
由于问题一直存在所以我更换了ftpdlib.c,ftplib.c ,则list目录的问题解决了,但异常还是出现!
我的开发环境是5.5,芯片是2410,nandflash是k9f1208 定义的是norflash的ftlsystffs.c和tffsconfig.c都用的是norflash的,写了read函数
请问这会是哪里出现的问题呢?
考虑如下:
1.有时后会出现
0x33dfce20 (tDcacheUpd): disk cache error: device 33ffc08c block 249 errno c0006, disk removed while writing data, possible data loss ,此情况只出现过一两次
问:是cache的原因吗?
2.有是会出现
Exception number 16: Task: 0x33e22b58 (tFtpdServ1)
Data abort
Program Counter: 0x3009ce38
Status Register: 0x20000013
0 : logical2Physical ()
此函数是在ftllite.c中定义如下
/*----------------------------------------------------------------------*/
/* l o g i c a l 2 P h y s i c a l */
/* */
/* Returns the physical address of a logical sector no. */
/* */
/* Parameters: */
/* vol : Pointer identifying drive */
/* address : logical sector no. */
/* */
/* Returns: */
/* CardAddress : physical address of sector */
/*----------------------------------------------------------------------*/
static CardAddress logical2Physical(Flare vol, LogicalSectorNo address)
{
return physicalBase(&vol,vol.logicalUnits[address >> (vol.unitSizeBits - SECTOR_SIZE_BITS)]) |
(((CardAddress) address << SECTOR_SIZE_BITS) & vol.unitOffsetMask);
}
问题如下:
1:有可能是ftpsever的问题,如果是:请问可能是哪些方面的?
2:TFFS驱动的问题,有时候会提示到findFreeSector这个函数有问题
3:还是要用nandflash的翻译层?但用上就只能辨识到,调用不到其他函数