Chinaunix首页 | 论坛 | 博客
  • 博客访问: 227742
  • 博文数量: 49
  • 博客积分: 2101
  • 博客等级: 大尉
  • 技术积分: 525
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-07 10:38
文章分类

全部博文(49)

文章存档

2010年(49)

我的朋友

分类: 嵌入式

2010-09-07 11:17:04

1开启FTP server服务

tornado2.2.1中,和FTP有关的组件选项包括以下四个:

组件

对应的宏定义

FTP server

INCLUDE_FTP_SERVER

FTP client

INCLUDE_FTP

Anonymous FTP

INCLUDE_FTPD_ANONYMOUS_LOGIN

FTP server security

INCLUDE_FTPD_SECURITY

 

vxworks的组件配置树目录里,第一次当我想开启FTP server服务时,我发现FTP client组件已经被包含了。后来我在configAll.h文件中发现它定义了宏INCLUDE_FTP,所以默认的情况下FTP client组件总是被包含的。

然后我包含了FTP server后发现FTP server security组件会自动被包含进来。在包含了上述三个组件的情况下我编译生成vxworks下载到板子中后,用leapftp连接板子的ftp server,发现连接不上。后来我通过target server调试时,用launch borower查看任务发现并没有和FTP server的任务启动。

后来,我把FTP client组件去掉了,只包含FTP serverFTP server security两个组件,生成vxworks下载到板子后,用leapftp连接板子发现板子做出了回应但是登陆不上去。我查看了vxworks系统的任务,发现此时启动了tFtpdTask任务。此时我用匿名登陆以及用户登陆都不行。我用的用户是在config.h中定义在DEFAULT_BOOTLINE中的用户名和密码。当然我们可以添加用户名和密码。具体的查看loginLib

此后,我把FTP server security组件也去掉了,此时我仅仅包含了FTP server组件。生成vxworks下载到板子后,用leapftp连接板子发现使用用户名和密码是可以登陆的,并且可以复制文件到板子的TFFS文件系统。不过此时匿名登陆是不行的。同样,我查看了vxworks系统的任务,发现此时启动了tFtpdTask任务。

而后,我添加了Anonymous FTP组件,我就可以匿名登陆了,但是在匿名的情况下是不能复制文件到vxworks系统的文件系统里的,提示没有权限!。

最后,我把自己的工程文件(.c)添加到工程里面去,编译生成vxworks下载到板子中,运行发现tFtpdTask竟然没有启动!就谈不上leapftp对板子的连接了。相当奇怪。

注:对以上问题我没找到原因,不过我想了想解决的办法:找到TORNADOftp server的源码ftpdLib.c,自己启动这个任务。

2 FTP bug

由于组件FTP Server存在bugLeapFTPFTP软件不能显示文件列表,但是可以上传文件。但在torandotarget shell中可以使用DOS命令行。比如ls查看当前目录下的文件列表,cd到某个目录等等。(注:必须包含FTP server才能使用DOS命令)两者结合起来还是能够完成文件传输及查看的。

注:对于LeapFTPFTP软件不能显示文件列表问题网上也有讨论,我也下载了一篇解决该问题的文章。其主要思想就是找到tornado FTP的源码,对其读取列表的函数进行修改,然后使用修改后的程序。时间有限,未作尝试!

阅读(2437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~