VXWORKS系统,SPI Flash做TFFS系统,之前做过一块板子,也遇到些问题,最后用了合适的命令行可以运行。
见https://ask.csdn.net/questions/7758053/53852260?spm=1001.2014.3001.5504
1、新板子上,又按同样的方式移植TFFS,结果初始化报错: tffsDevCreate failed 。
但是在tffsDrv.c 的tffsDevCreate() 里加的打印根本打印不出来,难道是用的库函数,不是用的此处的??
if ((pBlkDev = tffsDevCreate (drive, removable)) == NULL)
{
printErr ("err tffsDevCreate failed.\n");
return (ERROR);
}
2、在命令行格式化,明明格式化完成了,也报错:
-> sysTffsFormat
Flash Chip units:32
Formatted 32 of 32 units = 100.0 %
tffsDevFormat return status=0xffffffff
value = -1 = 0xffffffff
3、以下每个函数都经过单独测试,读写擦都是正确的,
vol.write = sysMtdWrite;
vol.erase = sysMtdErase;
vol.read = sysMtdRead;
vol.map = sysMtdMap;
4、总结:根据上次成功移植的经验,无法定位这次出现的问题。
flash差别:成功版本:读写都是操作控制器发命令读写;
本次版本:写是操作控制器发命令写。读是直接读取Flash基地址+片内偏移 .
这篇文章说的flIdentifyFlash不知道相关不,加打印也打印不出来。 https://blog.csdn.net/i_vxworks/article/details/50877915
求解答。