这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于TFFS文件系统

共49条 5/5 |‹ 1 2 3 4 5 跳转至
菜鸟
2007-04-26 23:13:00     打赏
41楼

超级版主好、yaopg版主您好!感谢~~ 终于可以达到预期效果了。
没有什么经验可言,都是yaopg高手的指导,只是小弟愚笨,到现在才成功。
把愚笨的尝试在此留给大家,希望有所启示。
1、yaopg高手的代码一点问题都没有,从昨天一开始都是我的愚笨经历让我头疼
2、输入符号太重要了,我在输入
******输入:ftp://192.168.0.145/后**********显示:
……
Sending the FEAT command is optional. You can disable it in the site options of the profile.
PWD
257 Current directory is "/data/"/*为什么是当前文件夹但又显示不出*/
CWD /
250 Changed directory to "/"/*反倒又要修改回去,我找不到代码的设置处*/
PWD
257 Current directory is "/"
TYPE A
……/*这样后显示出的两个文件夹也是打不开的*/
而我设置的默认目录就是/data/这就是我近两天的时间徘徊要解决的问题。
接下来我通过以下方式尝试成功的:
(1)当我用CMD-DOS命令行访问时,则是如下结果(稍熟悉的就可看出FTP没错,我不行)
ftp> dir
200 Port set okay
150 Opening BINARY mode data connection
total 0
-rwxrwxrwx 1 myName wrs 391680 Jan 01 1980 S3C44B0X移植笔记.doc
-rwxrwxrwx 1 myName wrs 9456 Jan 01 1980 FAQ.htm
drwxrwxrwx 1 myName wrs 2048 Jan 01 1980 webs
226 Transfer complete
ftp: 收到 220 字节,用时 0.02Seconds 11.00Kbytes/sec.
ftp>
以上三个文件是我/ data/中存放的文件,不知道为什么用FTP查看工具就不可以,我看了一天代码了都没效果,接着看FTP工具命令窗口中的输出信息,应该默认目录刚开始是对的,于是怀疑代码的问题,但无论怎么修改都不可以成功,前三分钟准备发求助帖时,突然觉得是输入符号的问题:输入:ftp://192.168.0.145后完全正确达到了目的。
3、CMD-DOS命令行+FTP工具命令窗口中的输出信息联合调试效率比较高,推荐!
说明:我把自己的经历(很愚笨)帖出来给大家看,希望不要见笑,祝各位细心好运!


院士
2007-04-26 23:41:00     打赏
42楼

终于盼来了好的结果~

欣慰呀


菜鸟
2007-04-27 04:59:00     打赏
43楼
多谢超级斑竹鼓励,
正在尝试前几天提到的通过修改BSP库来达到完善FTP功能的方法,已经看到希望了,过两天发布以供各位提意见分享!

院士
2007-04-27 06:36:00     打赏
44楼

好~~~~


菜鸟
2007-04-27 06:48:00     打赏
45楼
真的值得鼓励!!!!勤奋,肯钻,灵感都令人佩服。。。期望不断将你的经验共享给大家,在自己搞成后也帮助曾经为我们提供了帮助的论坛兄弟们。。

菜鸟
2007-04-28 19:02:00     打赏
46楼

谢谢高手们的鼓励~~~过奖了!成果分享,欢迎提意见。

vxworks下ftp功能完善升级方法

在论坛各位高手的指导下,参考以前坛子留下的相关宝贵资源(特别感谢Amine yaopg),经过小弟的努力,通过以下方式实现了vxWorksftp 功能的升级和完善,帖出来欢迎各位分享提意见。

环境介绍:ARMS3C4510B+vxWorks5.5+Tornado2.2

在此环境下,ftpdLib支持的功能有限,跟正常Windows下访问相比有一定的缺陷,比如不能LIST目录等,更新完善FTP功能成为了升级vxWorks及应用程序的必要。

通过以下几种方法实现了FTP功能的完善,各有优劣,请根据自己条件择优而选。

一、更新ftpdLib.o的包含库libnet.a

ARMS3C4510B的包含库位于root$dir\Tornado2.2\target\lib\arm\ARMARCH4\common下,在CMD-DOS命令行下执行如下语句:

*1*root$dir\Tornado2.2\host\x86-win32\bin>ararm –d root$dir\Tornado2.2\target\lib\arm\ARMARCH4\common\libnet.a ftpdLib.o

/*卸掉ftpdLib.o */

*2*root$dir\Tornado2.2\host\x86-win32\bin>ararm –r root$dir\Tornado2.2\target\lib\arm\ARMARCH4\common\libnet.a root$dir\Tornado2.2\target\lib\arm\ARMARCH4\common\ftpdLib.o

/*重新加载ftpdLib.o */

说明:libnet.a有没有变化可以查看修改日期知道,当然得保证自己有源码ftpdLib.c编译成的ftpdLib.o简单来说要想达到升级的目的,只需要用包含了FTP完善功能的libnet.a替换原文件就好了~

二、修改自己的BSP文件makefile

升级FTP功能都是要在文件系统作好之后,需要FTP访问时才用到FTP功能,所以在做文件系统的基础上运用这种方法简直太简单了

*1* 在文件 makefile 添加MACH_EXTRA = ftpdLib.o

*2* 添加源码ftpdLib.c ftpdLib.h到自己的BSP目录下

*3* 修改config.h文件

#ifndef INCLUDE_FTP_SERVER
#define INCLUDE_FTP_SERVER
#endif /*INCLUDE_FTP_SERVER*/

好了,成功了!基于此BSP建立工程,build bootrom&vxworks就OK!

说明:代码是运用amine高手的

三、Exclude FTP_SERVER在工程应用程序添加自己的FTP代码

为了不冲突于VXWORKS自带的任何库,可以尝试自己编写FTP代码,然后在usrAppInit()添加初始化代码同样可以实现,这不仅达到升级FTP的效果,更可以熟练FTP代码的功能。

*1*在工程中(Exclude FTP_SERVER)添加代码ftl00mai.c ft01ildr.c vxft.h

*2*usrAppInit()添加 usrVxftStart("/your_default_dir/");

*3*build vxworks

细心调试,CMD-DOS命令行+FTP工具命令窗口中的输出信息联合调试效率比较高,推荐!

说明:代码是运用yaopg高手的

总结:所有的成果都得益于论坛各位大哥的热心指导,在真正实现的过程中还是走了很多不必要的步骤,论坛上也有记录,不要见笑,只是想提早分享。以上总结的是我调试完后觉得简单的方法,还请各位高手指点,谢谢!我比较喜欢第二种修改方法,既不会增加应用程序的代码大小也不能影响到VXWORKS库,当然其他也有好处啊,第一种可以了解更多的关于VXWORKS库的知识,第三种可以更多的了解FTP功能代码。呵呵,学习嘛,就该多多尝试!


http://blog.21ic.com/user1/3162/index.html [align=right][color=#000066][此贴子已经被作者于2007-4-28 12:47:58编辑过][/color][/align]

院士
2007-04-28 19:12:00     打赏
47楼

精华

鼓励!

[align=right][color=#000066][此贴子已经被作者于2007-4-28 11:13:46编辑过][/color][/align]

菜鸟
2007-04-28 19:23:00     打赏
48楼

超级版主过奖,继续努力!


菜鸟
2007-05-09 23:28:00     打赏
49楼
世界真美好,还是好银多了

共49条 5/5 |‹ 1 2 3 4 5 跳转至

回复

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