文章目录
简介
第一期都是 Ubuntu/Linux 的基础操作,没有涉及到开发,从本篇开始我们就开始实战操作。本篇讲解 ARM 的裸机开发,也就是不带操作系统开发,就和我们开发 STM32 一样,如果有 STM32 开发经验的话学起本篇会很容易。为什么我们要先学习裸机开发呢?
1、裸机开发是了解所使用的 CPU 最直接、最简单的方法,比如本教程使用的 I.MX6U,跟STM32 一样,裸机开发是直接操作 CPU 的寄存器。Linux 驱动开发最终也是操作的寄存器,但是在操作寄存器之前要先编写一个符合 Linux 驱动的框架。同样一个点灯驱动,裸机可能只需要十几行代码,但是 Linux 下的驱动就需要几十行代码。
2、大部分 Linux 驱动初学者都是从 STM32 转过来的,Linux 驱动开发和 STM32 开发区别很大,比如 Linux 没有 MDK、IAR 这样的集成开发环境,需要我们自己在 Ubuntu 下搭建交叉编译环境。直接上手 Linux 驱动开发可能会因为和 STM32 巨大的开发差异而打击学习信心。
3、裸机开发是连接 Cortex-M(如 STM32)单片机和 Cortex-A(如 I.MX6U)处理器的桥梁,通过学习ARM例程也可以反哺 STM32,掌握很多MDK、IAR 这种集成开发环境没有告诉你的“干货”
目标
学习FileZilla的安装和使用。
阅读基础
熟悉计算机。
环境说明
- windows10
参考资料
- 原子文档:I.MX6ULL开发指南 第四章
- NXP官方文档:I.MX6ULL参考手册、数据手册
开启 Ubuntu下的FTP服务
在开发的过程中会频繁的在 Windows 和 Ubuntu 下进行文件传输,比如在 Windwos 下进行代码编写,然后将编写好的代码拿到 Ubuntu 下进行编译。Windows 和 Ubuntu 下的文件互传我们需要使用 FTP 服务。
安装vsftpd
打开 Ubuntu 的终端窗口,然后执行如下命令来安装 FTP 服务
sudo apt-get install vsftpd
修改vsftpd.conf
安装完成以后使用 VI 命令打开/etc/vsftpd.conf
,命令如下:
sudo vi /etc/vsftpd.conf
打开 vsftpd.conf 文件以后找到如下两行:
local_enable=YES
write_enable=YES
确保上面两行前面没有“#”,有的话就取消掉,完成以后如图所示:
重启FTP服务
修改完 vsftpd.conf 以后保存退出,使用如下命令重启 FTP 服务:
sudo /etc/init.d/vsftpd restart
Windows下FTP客户端FileZilla使用
下载
Windows 下 FTP 客户端我们使用 FileZilla,这是个免费的 FTP 客户端软件,可以在 FileZilla官网下载,下载界面如图所示:
安装
双击安装包。如下图:
点击I Agree。如下图:
点击next。如下图:
点击next。如下图:
选择定义安装目录,点击next。如下图:
点击next。如下图:
点击Finish安装完成。
打开
安装完成以后找到安装目录,找到图标,然后发送图标快捷方式到桌面。如图所示:
完成以后如图所示:
双击图标打开FileZilla。
设置
连接设置
Ubuntu 作为 FTP 服务器,FileZilla 作为 FTP 客户端,客户端肯定要连接到服务器上,打开
站点管理器,点击:文件->站点管理器。如图所示:
点击图中的“新站点(N)”按钮来创建站点,新建站点以后就会在“我的站点”下出现新建的这个站点,站点的名称可以自行修改,比如我将新的站点命名为“Ubuntu”如图所示:
查询Ubuntu的IP地址,如图所示:
选中新创建的“Ubuntu”站点,然后对站点的“常规”进行设置,设置如图所示:
第一次连接可能会弹出提示是否保存密码的对话框,点击确定即可。连接成功以后如图所示:
连接成功以后如图所示,其中左边就是 Windows 文件目录,右边是 Ubuntu 文件目录,默认进入用户根目录下(比如我电脑的“/home/weixin”)。但是注意观察在图中Ubuntu 文件目录下的中文目录都是乱码的,这是因为编码方式没有选对。
设置编码方式
先断开连接,点击:服务器(S)->断开连接。
然后打开站点管理器,选中要设置的点“Ubuntu”–》选择“字符集”–》强制UTF-8–》连接,设置如图所示:
重新链接到 FTP 服务器以后Ubuntu 下的文件目录中文显示就正常了,如图所示:
使用
如果要将 Windows 下的文件或文件夹拷贝到 Ubuntu 中,只需要在图 中左侧的Windows 区域选中要拷贝的文件或者文件夹,然后直接拖到右侧的 Ubuntu 中指定的目录即可。
将 Ubuntu 中的文件或者文件夹拷贝到 Windows 中也是直接拖放。