cmake开发环境 linux qt_正点原子Linux第四章开发环境搭建

1)资料下载:点击资料即可下载
2)对正点原子Linux感兴趣的同学可以加群讨论:935446741

3)关注正点原子公众号,获取最新资料更新

2bb412949518c4dfda11c5f174249d37.png

第四章开发环境搭建

要进行裸机开发肯定要先搭建好开发环境,我们在开始学习STM32的时候肯定需要安装一堆的软件,比如MDK、IAR、串口调试助手等等,这个就是STM32的开发环境搭建。同样的,要想在Ubuntu下进行Cortex-A(I.MX6U)开发也需要安装一些软件,也就是网上说的开发环境搭建,环境搭建好以后我们就可以进行开发了。环境搭建分为Ubuntu和Windows,因为我们最熟悉Windows,所以代码编写、查找资料啥的肯定是在Windows下进行的。但是Linux开发又必须在Ubuntu下进行,所以还需要搭建Ubuntu下的开发环境,主要是交叉编译器的安装,本章我们就分为Ubuntu和Windows,讲解这两种操作系统下的环境搭建。

4.1Ubuntu和Windows文件互传

在开发的过程中会频繁的在Windows和Ubuntu下进行文件传输,比如在Windwos下进行代码编写,然后将编写好的代码拿到Ubuntu下进行编译。Windows和Ubuntu下的文件互传我们需要使用FTP服务,设置方法如下:

1、开启Ubuntu下的FTP服务

打开Ubuntu的终端窗口,然后执行如下命令来安装FTP服务:

sudo apt-get install vsftpd

等待软件自动安装,安装完成以后使用如下VI命令打开/etc/vsftpd.conf,命令如下:

sudo vi /etc/vsftpd.conf

打开以后vsftpd.conf文件以后找到如下两行:

local_enable=YES

write_enable=YES

确保上面两行前面没有“#”,有的话就取消掉,完成以后如图4.1.1所示:

d23fc0939cae2130811f9fb74ef09a05.png

图4.1.1vsftpd.conf修改

修改完vsftpd.conf以后保存退出,使用如下命令重启FTP服务:

sudo /etc/init.d/vsftpd restart

2、Windows下FTP客户端安装

Windows下FTP客户端我们使用FileZilla,这是个免费的FTP客户端软件,可以在FileZilla官网下载,下载地址如下:https://www.filezilla.cn/download,下载界面如图4.1.2所示:

774a734d6c3e47ed9bbaed6a1033519d.png

图4.1.2 FileZilla软件下载

我们已经下载好FileZilla并放到开发板光盘中了,路径为:3、软件->FileZilla_3.39.0_win64-setup_bundled.exe,双击安装即可。安装完成以后找到安装目录,找到图标,然后发送图标快捷方式到桌面,完成以后如图4.1.3所示:

d9c6ea89d521ce1e9255311323ecd5c0.png

图4.1.3 FileZilla图标

打开FileZilla软件,界面如图4.1.4所示:

902f6698329c7e142f499231b7887432.png

图4.1.4 FileZilla软件界面

3、FileZilla软件设置

Ubuntu作为FTP服务器,FileZilla作为FTP客户端,客户端肯定要连接到服务器上,打开站点管理器,点击:文件->站点管理器,打开以后如图4.1.5所示:

db703aaa254167df70396a5577af83dc.png

图4.1.5站点管理器

点击图4.1.5中的“新站点(N)”按钮来创建站点,新建站点以后就会在“我的站点”下出现新建的这个站点,站点的名称可以自行修改,比如我将新的站点命名为“Ubuntu”如图4.1.6所示:

07a678d12db99739e39beb472ed4a047.png

图4.1.6新建站点

选中新创建的“Ubuntu”站点,然后对站点的“常规”进行设置,设置如图4.1.7所示:

901fde1bed7c7984c2d612b22114d1a5.png

图4.1.7站点设置

按照图4.1.7中设置好以后,点击“连接”按钮,第一次连接可能会弹出提示是否保存密码的对话框,点击确定即可。连接成功以后如图4.1.8所示:

6bb952a07c53c9f744208eca05bc5833.png

图4.1.8连接成功

连接成功以后如图4.1.8所示,其中左边就是Windows文件目录,右边是Ubuntu文件目录,默认进入用户根目录下(比如我电脑的“/home/zuozhongkai”)。但是注意观察在图4.1.8中Ubuntu文件目录下的中文目录都是乱码的,这是因为编码方式没有选对,先断开连接,点击:服务器(S)->断开连接,然后打开站点管理器,选中要设置的站点“Ubuntu”,选择“字符集”,设置如图4.1.9所示:

3fdd468e6e1dfa9955a3c41f4478fe14.png

图4.1.9设置字符集

按照图4.1.9设置好字符集以后重新连接到FTP服务器上,重新链接到FTP服务器以后Ubuntu下的文件目录中文显示就正常了,如图4.1.10所示:

d9b84c77e6eb778f33065c8683aa60d3.png

图4.1.10 Ubuntu下文件目录中文显示正常

如果要将Windows下的文件或文件夹拷贝到Ubuntu中,只需要在图4.1.10中左侧的Windows区域选中要拷贝的文件或者文件夹,然后直接拖到右侧的Ubuntu中指定的目录即可。将Ubuntu中的文件或者文件夹拷贝到Windows中也是直接拖放。

4.2 Ubuntu下NFS和SSH服务开启

4.2.1 NFS服务开启

后面进行Linux驱动开发的时候需要NFS启动,因此要先安装并开启Ubuntu中的NFS服务,使用如下命令安装NFS服务:

sudo apt-get install nfs-kernel-server rpcbind

等待安装完成,安装完成以后在用户根目录下创建一个名为“linux”的文件夹,以后所有的东西都放到这个“linux”文件夹里面,在“linux”文件夹里面新建一个名为“nfs”的文件夹,如图4.2.1所示:

fbd0de7ae14f15570ddfb003b7ed4410.png

图4.2.1创建linux工作目录

图4.2.1中创建的nfs文件夹供nfs服务器使用,以后我们可以在开发板上通过网络文件系统来访问nfs文件夹,要先配置nfs,使用如下命令打开nfs配置文件/etc/exports:

sudo vi /etc/exports

打开/etc/exports以后在后面添加如下所示内容:

/home/zuozhongkai/linux/nfs *(rw,sync,no_root_squash)

添加完成以后的/etc/exports如图4.2.2所示:

92fcb1aa08dc3f7d324ffe289c37dd5f.png

图4.2.2修改文件/etc/exports

重启NFS服务,使用命令如下:

sudo /etc/init.d/nfs-kernel-server restart

4.2.2 SSH服务开启

开启Ubuntu的SSH服务以后我们就可以在Windwos下使用终端软件登陆到Ubuntu,比如使用SecureCRT,Ubuntu下使用如下命令开启SSH服务:

sudo apt-get install openssh-server

上述命令安装ssh服务,ssh的配置文件为/etc/ssh/sshd_config,使用默认配置即可。

4.3Ubuntu交叉编译工具链安装

4.3.1交叉编译器安装

ARM裸机、Uboot移植、Linux移植这些都需要在Ubuntu下进行编译,编译就需要编译器,我们在第三章“Linux C编程入门”里面已经讲解了如何在Liux进行C语言开发,里面使用GCC编译器进行代码编译,但是Ubuntu自带的gcc编译器是针对X86架构的!而我们现在要编译的是ARM架构的代码,所以我们需要一个在X86架构的PC上运行,可以编译ARM架构代码的GCC编译器,这个编译器就叫做交叉编译器,总结一下交叉编译器就是:

1、它肯定是一个GCC编译器。

2、这个GCC编译器是运行在X86架构的PC上的。

3、这个GCC编译器是编译ARM架构代码的,也就是编译出来的可执行文件是在ARM芯片上运行的。

交叉编译器中“交叉”的意思就是在一个架构上编译另外一个架构的代码,相当于两种架构“交叉”起来了。

交叉编译器有很多种,我们使用Linaro出品的交叉编译器,Linaro一间非营利性质的开放源代码软件工程公司,Linaro开发了很多软件,最著名的就是Linaro GCC编译工具链(编译器),关于Linaro详细的介绍可以到Linaro官网查阅。Linaro GCC编译器下载地址如下:

https://releases.linaro.org/components/toolchain/binaries/latest-7/arm-linux-gnueabihf/,打开以后下载界面如图4.3.1.1所示:

c1d1cecf50c934044dbbfd5d0641a976.png

图4.3.1.1 Linaro下载界面

在图4.3.1.1中有很多种GCC交叉编译工具链,因为我们所使用的I.MX6U-ALPHA开发板是一个Cortex-A7内核的开发板,因此选择arm-linux-gnueabihf,点击后面的“Binaries”进入可执行文件下载界面,如图4.3.1.2所示:

4a1a04511b6e54a0489eebe7ef66ad7d.png

图4.3.1.2 Linaro交叉编译器下载

在写本教程的时候最新的编译器版本是7.3.1,但是笔者在测试7.3.1版本编译器的时候发现编译完成后的uboot无法运行。所以这里不推荐使用最新版的编译器。笔者测试过4.9版本的编译器可以正常工作,所以我们需要下载4.9版本的编译器,下载地址为:https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/,如图4.3.1.3所示:

6b29bc22599df4cd75cd86a41dff12dc.png

图4.3.1.34.9.4版本编译器下载

图4.3.1.3中有很多种交叉编译器,我们只需要关注这两种: gcc-linaro-4.9.4-2017.01-i686_arm-linux-gnueabihf.tar.tar.xz和gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz,第一个是针对32位系统的,第二个是针对64位系统的。大家根据自己所使用的Ubuntu系统类型选择合适的版本,比如我安装的Ubuntu16.04是64位系统,因此我要使用gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz。

这两种交叉编译器我们已经下载好放到了开发板光盘中,路径:5、开发工具->1、交叉编译器。我们要先将交叉编译工具拷贝到Ubuntu中,在4.2.1小节中我们在当前用户根目录下创建了一个名为“linux”的文件夹,在这个linux文件夹里面再创建一个名为“tool”的文件夹,用来存放一些开发工具。使用前面已经安装好的FileZilla将交叉编译器拷贝到Ubuntu中刚刚新建的“tool”文件夹中,操作如图4.3.1.4所示:

b8fad8c0d20cc56c7c658f33ee01493d.png

图4.3.1.4拷贝交叉编译器

拷贝完成的话FileZilla会有提示,如图4.3.1.5:

c25eff5c78fc96bde86232a5fea9d84a.png

图4.3.1.5交叉编译器拷贝完成

在Ubuntu中创建目录:/usr/local/arm,命令如下:

sudo mkdir /usr/local/arm

创建完成以后将刚刚拷贝的交叉编译器复制到/usr/local/arm这个目录中,在终端使用命令“cd”进入到存放有交叉编译器的目录,比我前面将交叉编译器拷贝到了目录“/home/zuozhongkai/linux/tool”中,然后使用如下命令将交叉编译器复制到/usr/local/arm中:

sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f

操作步骤如图4.3.1.6所示:

8e1bf5f3b73a51402ed9c3cccdc0ea81.png

图4.3.1.6拷贝交叉编译工具到/usr/local/arm目录中

拷贝完成以后在/usr/local/arm目录中对交叉编译工具进行解压,解压命令如下:

sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz

等待解压完成,解压完成以后会生成一个名为“gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf”的文件夹,这个文件夹里面就是我们的交叉编译工具链。

修改环境变量,使用VI打开/etc/profile文件,命令如下:

sudo vi /etc/profile

打开/etc/profile以后,在最后面输入如下所示内容:

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

添加完成以后的/etc/profile如图4.3.1.7所示:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值