s3c2440下vxworks的tffs文件系统调试

发布时间:2024-07-25  

使用BCNG2440开发板,该板配置了AM29LV160DB的FLASH。
目标:实现vxworks下的tffs文件系统。

1、使用最新的bsp,构建一个新的工程,然后在vxworks配置选项中增加tffs的支持,以及tffs show的支持,重新编译内核,发现bsp目录下自动拷贝了一个新的systffs.c文件,然后报告编译错误,
E:Tornado2.2targetconfigbcng2440sysTffs.c:116:69: #error "sysTffs : Verify system mac
ros and function before first use"
不知道error宏是干什么用的,只好把这句话删掉。
哦,让第一次编译一定出现出错,提醒你进行各种宏定义,
先不管这么多的东西,把修改地址
#define FLASH_BASE_ADRS  0x00000000
重新编译,能够成功,下载,结果如下:
-> tffsShow
0: **** communication failed with error -1 ****
value = 48 = 0x30 = '0'
-> tffsShowAll
TFFS Version 2.2
0: **** communication failed with error -1 ****
value = 48 = 0x30 = '0'
把原始代码下的wamdmtd.c程序拷贝到BSP目录,在工程中添加改文件,重新编译内核,显示找不到.h文件,后来修改:
#include "tffs/flflash.h"
#include "tffs/backgrnd.h"
才能编译通过,同时修改代码,增加对我们的flash的支持,
#define Am29LV160_FLASH      0x0149  /*added by xiyong*/
vol.type == Am29LV160_FLASH )
重新编译,下载,错误一样,在
进一步跟踪,发现根本没有进入flwAmdMTDIdentify函数:

更换wamdmtd.c文件名为ximtd.c
修改flwAmdMTDIdentify为xyflwAmdMTDIdentify,并且修改
MTDidentifyRoutine mtdTable[] =
#ifdef INCLUDE_MTD_WAMD
    xyflwAmdMTDIdentify,
#endif
即使是这样,也没有调用xyflwAmdMTDIdentify
如何才能让tffs去调用自己的flash读写函数呢,是不是默认中已经有了一个库,去调用默认的库了。
 
后来,发现在vxworks内核配置中不能配置支持WAMD,并且在systffs中不能定义支持WAMD,否则会死机。
进一步证实,如果名字不改变为xyflwAmdMTDIdentify,也会死机,看来ximtd.c中的所有的接口函数都需要重新命名。

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>