张传凯,马少飞
(北京万集科技股份有限公司,北京100085)
嵌入式设备与通用计算机相比,一般不具备像硬盘那样大容量的存储介质,大多使用闪存(NAND Flash)作为存储介质。对于采用Linux操作系统的嵌入式设备,64 MB的NAND Flash可以满足Bootloader、内核和文件系统的存放,如果使用过程中涉及大容量的数据读写,则多采用SD卡作为扩展存储介质。这里的SD卡是指普通SD卡、MiniSD卡和MicroSD卡三种类型的存储卡。对SD卡上的数据进行访问一般有两种解决方法:(1)将SD卡从嵌入式设备中取出,使用特定的读卡器连接到PC上进行操作。这种方法需要用户购买特定的读卡器,使用不方便,用户也不愿意接受;(2)在嵌入式设备上增加一个USB从设备接口,为嵌入式设备开发USB从设备驱动(USB gadget driver),将SD卡模拟成U盘设备进行访问。这种方法涉及到硬件的改动和驱动的开发,开发难度大,耗费时间长。本文提供了一种方便快捷的方法,可以满足用户对SD卡上文件的访问。
vsftp是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,具有非常安全且快速稳定的特点,目前已经被许多大型站点所采用。vsftp可以方便地移植到嵌入式Linux操作系统中,如果将嵌入式设备作为FTP服务器,以PC作为客户端,用户即可通过FTP客户端软件实现PC与嵌入式设备之间的文件传输。如果再将SD卡挂载到文件系统的某个目录下,用户就可通过FTP服务来访问SD卡。
要移植vsftp,首先到vsftpd官方网站下载程序源码,本文使用的是vsftpd-2.3.4.tar.gz。解压vsftpd-2.3.4.tar.gz,然后进入vsftpd-2.3.4目录,修改 Makefile文件,将“CC=gcc”修 改 为 “CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc”,即使用交叉编译器进行编译。……