使用PC给开发板传文件的方式多种多样,比如nfs挂载、U盘传输等。今天分享一种可以直接将文件从PC机上拖拽到开发板上的方式,这个操作需要借助一款软件——vsftpd。vsftpd小巧灵便,是一个开源的FTP服务器软件,非常适合嵌入式应用。接下来讲解将该软件移植到启扬i.MX8M mini开发板的过程。
移植vsftpd软件到启扬i.MX8M mini开发板
先需要到官网上下载源码,笔者这里下载的是3.0.3版本的vsftpd,官网地址在这里给出https://security.appspot.com/vsftpd.html
(注意因为这个网站在国外,国内用户可能无法访问,所以可以去网上搜一个跟笔者相同的版本来编译安装。)
然后我们需要搭建i.MX8M mini开发板的交叉编译环境,可以查看启扬提供的编译手册,手册内详细讲述如何搭建交叉编译环境。我们将下载下来的源码解压,然后进入源码中,可以看到如下图所示的内容:

注意如果跟笔者不一样请检查一下下载文件的完整性以及是否跟笔者下载版本相同等。
检查正确无误后我们直接修改源码目录下的Makefile文件,修改里面的CC一行,将其声明为我们i.MX8M mini的交叉编译器,如图所示

声明完成后我们就可以使用make命令开始编译了。可能会遇到找不到相关文件的错误,这里我们只需要修改Makefile文件的LDFLAGS一行的属性,在后面添加-lcap编译属性即可。
编译所需时间不长,大概几分钟即可,就会在当前文件夹生成相对应的配置文件和二进制执行文件

然后将二进制执行文件拷贝的开发板上的/bin目录下,将配置文件拷贝到/etc目录下,继续我们下一步的配置。
将vsftpd.conf打开,并且将local_enable和write_enable的注释放开,允许使用本地账户登录以及读写,并且我们需要将匿名用户给禁止掉,否则会报相关错误,同时我们需要在开发板的/usr/share/目录下创建一个empty目录,这是vstfpd所必须的目录,完整的配置文件如下图所示:







<i
</i



配置完成后我们建立一个ftp用户和一个nobody用户,这都是vsftpd所必须的用户;然后用chown root:root /etc/vsftpd.conf命令给予配置文件相应用户和组,我们还需要在ftp用户下创建一个上传文件的文件夹,这样开发板环境配置算是完成了。
笔者这里用FileZilla来测试传输文件,我们用匿名用户登录,无需输入密码,然后将windows下的文件拖拽到开发板上,如下图所示:测试成功。

原文链接:http://www.qiytech.com/article/news/c23c0d01/20210806-025607-853.html
