这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » Probelms about TFFS of VxWorks

共19条 1/2 1 2 跳转至

Probelms about TFFS of VxWorks

菜鸟
2002-08-07 02:13:04     打赏
Enviorment: Tornado2.1.1/VxWorks5.4.2 for ARM Flash:AM29F040B TFFS:Installed 我不知道建立TFFS的具体步骤,请各位大虾赐教! 谢谢!



关键词: Probelms     about     VxWorks    

菜鸟
2002-08-07 03:46:00     打赏
2楼
我的Bootrom里没有加TFFS,然后想在Bootable Project中添加这个组件,然后在Shell中执行初始化命令,但是没有成功。 这个步骤是不是有问题?

菜鸟
2002-08-07 06:41:00     打赏
3楼
这个步骤是没问题的,问题是FTL/Socket/MTD三层你是不是都配对了?

菜鸟
2002-08-07 16:00:00     打赏
4楼
1.我在User's Guide中看到这么一句:“For example, if the only flash device included on your target were a flash array implemented on AMD 29F040 flash, a NOR-based technology, you would define INCLUDE_TL_FTL and undefine INCLUDE_TL_SSFDC and INCLUDE_TL_NFTL. 所以,我定义了 INCLUDE_TL_FTL 。 2.我在User's Guide中看到这么一句:“For example, if the only flash device included on your target was an 8-bit flash array implemented on AMD 29F040 flash, you could safely undefine all the MTD defines other than INCLUDE_MTD_AMD.” 所以,我定义了 INCLUDE_MTD_AMD。 3.Socket层该怎么配置? 各位,请帮个忙吧!谢谢!

菜鸟
2002-08-07 16:51:00     打赏
5楼
我也是看着这份文档做的,但是还是没动起来! 唉!

菜鸟
2002-08-08 01:44:00     打赏
6楼
我在调用usrTffsConfig 0,0,"/tffs/"的时候出现错误提示: tffsDevCreate failed!

菜鸟
2002-08-08 02:23:00     打赏
7楼
对应文档, socket应该是最低一层, 控制flash芯片 对应\target\src\drv\tffs\sockets\下的systffs.c, 下面有对应各主板的systffs.c, 需要将适应自己硬件的systffs.c添加到工程, 里面的宏定义 INCLUDE_TL_FTL和INCLUDE_MTD_AMD确定是否包括库中对应的目标文件 bootconfig.c中的加载过程为 bootload -> tffsload -> tffsDrv:dosFsInit:usrTffsConfig -> pBootDev = tffsDevCreate (drive, removable) dosFsDevInit (bootDir, pBootDev, NULL) 你提到不是用bootrom, 而是创建bootable工程 也就是你不是用TFFS启动的, 而是用网络启动的 所以你可能没包括上面这样初始化过程 你在shell中需确保有初始化过程 tffsDrv dosFsInit pBootDev = tffsDevCreate (drive, 0) //?drive决定于socket注册的顺序 dosFsDevInit ("tffs", pBootDev, NULL) 关键要挂结上文件系统后才能用devs看见tffs设备 我没实际作过, 这只是理论经验:-)

菜鸟
2002-08-08 06:58:00     打赏
8楼
amine说的bootConfig.c中的加载过程只有在从TFFS设备中下载vxworks时才用, 我建议一开始先不要走这一步,可以先从别的途径把vxworks启动好,然后再把TFFS 配起来.AM29F040好像是vxworks直接支持的,不用自己编写MTD代码,好福气:-) 1. sysLib.c的sysPhysMemDesc[]中定义这块Flash的地址空间了没? 属性应该是 VM_STATE_WRITABLE和VM_STATE_CACHEABLE_NOT; 另外在sysTffs.c里还要定义相应的 FLASH_BASE_ADRS和FLASH_SIZE; 2. 在sysTffs.c里,除了你提到的那两个宏之外,还要: #define INCLUDE_SOCKET_SIMM /* Socket Layer */ #undef INCLUDE_TFFS_BOOT_IMAGE /* 整片Flash都用于Tffs,故不需要 */ #undef其它关于Translation Layer、MTD Layer和Socket Layer的宏定义. 将sysTffsFormat()函数中对params{}结构的初始化改为: tffsDevFormatParams params = { {0x0L, 99, 1, 0x10000L, NULL, {0,0,0,0}, NULL, 2, 0, NULL}, FTL_FORMAT_IF_NEEDED }; 这是因为整片Flash都用于Tffs,故不需要设置供Boot Image使用的offset。 3.在usrTffsConfig之前得先Format! sysTffsFormat或tffsDevFormat 0,0

菜鸟
2002-08-08 18:54:00     打赏
9楼
1.Build a Bootrom without TFFS support. 2.Boot the target from networks. 3.Modified: (1)Makefile Add the MACH_EXTRA=sysTffs.o (2)Config.h #define INCLUDE_TFFS #define INCLUDE_FLASH (3)sysTffs.c #defien INCLUDE_TL_FTL #define INCLUDE_MTD_AMD 4.Build a bootable project and result a vxworks image 5.Reboot the target and download the vxworks image 6.Shell command line: ->tffsDrv value = 0 = 0x0 -> dosFsInit(20) value = 0 = 0x0 -> pBootDev=tffsDevCreate(8,0) new symbol "pBootDev" added to symbol table. pBootDev = 0x194d34: value = 0 = 0x0 -> dosFsDevInit("tffs",pBootDev,NULL) undefined symbol: NULL -> dosFsDevInit("tffs",pBootDev,0) value = 0 = 0x0 串口显示 dosFsLibInit failed! ->devs 显示没有Tffs -> tffsDevFormat 0,0 value = -1 = 0xffffffff -> usrTffsConfig("/tffs/",0,0) value = -1 = 0xffffffff -> usrTffsConfig("/tffs/",8,0) value = -1 = 0xffffffff 是什么问题呢?

菜鸟
2002-08-09 00:22:00     打赏
10楼
I am so sorry! It is still failed!

共19条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]