起因:最近做一个板子的linux移植工作,板子上面的WINCE系统已经开发好了,只不过开发WINCE的人和我不在一个城市,所以我就向他要WINCE的源码和image,他给我开了个ftp,然后把用户名和密码告诉了我。我就用我的ubuntu上面的fileftp工作下载。一切都进行的挺好的。等到我烧写了Eboot,然后由烧写WINCE image的时候,就出问题了。因为提示烧写完成后,我重新启动系统,可是我等了半天,也没有进入WINCE的系统。经过和开发CE的人联系,他认为我的ftp下载工具有问题,他就问我用什么模式下载,我查看了一下fileftp,默认使用auto模式,他建议我改用二进制模式,我按照他说的修改了,果然这次就好了。看来ftp传输模式直接导致了系统传输能否正确!
以下是从网上找到的一个介绍两种传输模式的介绍。由于来源于网络,作者已经不详。如有冒犯,还请作者谅解。
大多数系统只有两种模式:文本模式和二进制模式。文本传输器使用ASCII字符,并由回车键和换行符分开,而二进制不用转换或格式化就可传字符,二进制模式比文本模式更快,并且可以传输所有ASCII值,所以系统管理员一般将FTP设置成二进制模式。
二进制模式用来传送可执行文件,压缩文件,和图片文件。如果你用ASCII模式传,会显示一堆乱码,你必须重新用BINARY模式传。用HTML和文本编写的文件必须用ASCII模式上传,用BINARY模式上传会破坏文件,导致文件执行出错。
你用flashFTP传输文件一般不需要考虑这个模式转换,或者你就选自动,我平日用就没见出过错。
有时候,从FTP服务器上下载文件,发现部分文件下载后大小有出入,可能是使用不同的下载模式造成的。
参考文章http://blog.chinaunix.net/u1/56521/showart_1183437.html