超级版主好、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工具命令窗口中的输出信息联合调试效率比较高,推荐!
说明:我把自己的经历(很愚笨)帖出来给大家看,希望不要见笑,祝各位细心好运!
谢谢高手们的鼓励~~~过奖了!成果分享,欢迎提意见。
vxworks下ftp功能完善升级方法
在论坛各位高手的指导下,参考以前坛子留下的相关宝贵资源(特别感谢Amine yaopg),经过小弟的努力,通过以下方式实现了vxWorks下ftp 功能的升级和完善,帖出来欢迎各位分享提意见。
环境介绍: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]
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |