嵌入式 Linux 入门 环境篇(四、必备开发工具安装)

嵌入式 Linux入门 环境篇第四课,开发工具软件的安装与说明  ......  by 矜辰所致

前言

前面的环境篇我们把开发的基本环境安装好了:Ubuntu虚拟机,网络配置。

为了从 0 开始说明,还特意买了一台新电脑 = =! 就问是不是不将就!!!

在我们接下来做嵌入式 Linux 开发学习的时候,还需要在我们的平台上安装各种开发软件,比如开发 STM32 时候可能需要到 Keil、IAR、STM32CubeMX 等。

所以本文就介绍一些 嵌入式 Linux 开发常用的工具。

说明,文章虽然会把常用的工具罗列介绍,但是部分工具需要在后期学习过程中使用到的时候才方便介绍,有些现在说了对于入门者来说,也不知道干什么的,安装了可能到时候就忘了,还不如等使用到的时候再介绍。

❤️ 嵌入式 Linux 入门 环境篇系列博文:
嵌入式 Linux 入门 环境篇(一、开发板初体验)
嵌入式 Linux 入门 环境篇(二、安装虚拟机 — 体验 Ubuntu 22.04)
嵌入式 Linux 入门 环境篇(三、开发板和 PC 的网络互通)
.
我是矜辰所致,一名摸爬滚打于物联网行业十多年的嵌入式工程师,尽量用心写好每一系列文章,不浮夸,不将就,认真对待学知识的我们,矜辰所致,金石为开!

目录

  • 前言
  • 一、软件源说明
  • 二、Windows 端软件
    • 2.1 MobaXterm
    • 2.2 VScode
      • VScode 下载速度慢问题
    • 2.3 Sourceinsight
      • Sourceinsight 新建工程
      • Sourceinsight 中文乱码
    • 2.4 FileZilla
      • SSH 与 FTP
      • Ubuntu 开启 FTP 服务
      • FileZilla 的安装使用
  • 三、Ubuntu 虚拟机端软件
    • 3.1 vi/vim
      • Ubuntu 自带 vi 功能输入异常方向键乱码
    • 3.2 GCC
    • 3.3 arm-linux-gnueabihf-gcc
      • lsb-core lib32stdc++6 安装问题
  • 结语

一、软件源说明

先说明下本 环境篇系列文章所用到的软件都在哪里下载,软件包括前面文章说到的,也包括后面需要用到的。

我接触过的做 Linux 开发板带视频文档教程的有 正点原子、韦东山老师、野火,其实他们都有做 STM32 的开发板和教程。现在他们几家做开发板,那么他们的资料都是免费的,大家都可以自己去网上搜索他们几家的关于 嵌入式开发板的配套资料,里面需要用到的软件都帮大家下载好了。

截取一小段给大家看看:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第1张图片

现在流行的嵌入式 Linux 开发板有两款:i.MX6ULL 和 STM32MP1 系列。对于开发所用的工具和环境都是一样的,就算不是使用的他们这几家的开发板学习,也是大差不差,环境搭建都是通用的。

当然,他们的资料大都放在网盘,也是需要下载的,对于某些我们自己直接可以方便下载到的软件,我们可以直接去对应软件的官网进行下载,这样版本也能够新一点,对于有些境外资源,下载特别慢的情况下,我们可以直接使用提供的配套版本软件。

二、Windows 端软件

先来说 Windows 端的常用软件。

为了使得文章更加完善,即便前面我们安装过的软件,本文中也会列出一个目录,只是不再做过多的介绍。

2.1 MobaXterm

全能型终端软件,支持多种协议,嵌入式开发必备,使用说明见前面文章:《嵌入式 Linux 入门 环境篇(一、开发板初体验)》

下载地址,网上搜一下就有官网,很好找,我就不放外站连接,下载免费版本即可:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第2张图片

2.2 VScode

代码编辑器 VScode ,现在没有人不知道把,都不知道怎么介绍了,微软出品,免费的、跨平台的、功能强大的编辑器。

现在我做 STM32 的开发已经完全抛弃了 IDE,使用 VScode 环境:

在window下使用 VScode 搭建 ARM 开发环境—— 详细版

个人感觉现在估计占了编辑器的半边天 = =!

下载地址,也是网上搜索官网下载就好,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第3张图片

但是 VScode 下载有一个问题,就是特别慢。

VScode 下载速度慢问题

因为 VScode 官网点击下载的安装包镜像地址在国外,我们可以手动换成国内的镜像源。

具体方式如下,我们在官网点击下载以后,找到下载进度条,不同浏览器会有不同,但是都能够复制下载链接,比如我使用的火狐浏览器,如下图所示:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第4张图片

复制后直接粘贴直接到浏览器,然后将下载地址中开头的 az764295.vo.msecnd.net 更改为
vscode.cdn.azure.cn ,更改完成直接回车确定即可开始下载,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第5张图片

安装下载完成,配置自己喜欢的主题,安装一些必备的插件,就可以开始使用了:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第6张图片

2.3 Sourceinsight

Sourceinsight 也是一款编辑器,本来同样的东西,选择一种就行,比如 SecureCRT 和 MobaXterm 。

但是这里得破例一下, 因为 Sourceinsight 的源码导航,代码框架查看 没有任何其他的编辑器比它更出色。 这只是我个人最喜欢的点,它还有其他的很多优点就不多说了。

在10年前还没有 VScode 的年代,我就一直使用的 Sourceinsight ,在后来出了 Vscode 之后,因为在 Vscode 中可以直接编译下载 STM32 的工程,工作接触 STM32 比较多,才更多的使用了 Vscode 。

STM32开发 相对于Linux 开发来说,代码量少得可怜,所以对于工程结构(也就是 VScode 中的大纲)查看需求没那么高,但是现在要做代码量大的 Linux 工程,所以是时候用上 Sourceinsight 了。

但是要说明的 Sourceinsight 不是免费的,没有购买序列号只能试用 30 天,这个看大家自己需求吧。 然后再给大家一个表情 o( ̄︶ ̄)o 自己体会。

下载地址页面如下:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第7张图片

我这里直接使用的配套资料中提供的版本安装:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第8张图片

步骤就省略了,安装很快,最后安装完成没有序列号试用就选择第二项:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第9张图片

最后可以尽情的用起来了,使用和配置方式大家可以自己网上搜索,这要说明太多东西,编辑器嘛,大家可以自行摸索,这里简单说明一下新建工程的步骤。

这里要特别说明一下, Sourceinsight 的工程路径不能有中文!!!

Sourceinsight 新建工程

打开 Sourceinsight ,在 Project 栏目选择新建工程,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第10张图片

在弹出的界面输入工程名字,选择工程路径:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第11张图片

然后弹出下一个界面,一般都是默认不用设置,直接点击 OK ,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第12张图片

上图完成点击 OK 后,就弹出添加文件的界面了,相对来说这里比较重要,但还是很简单:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第13张图片

点击 Add tree,会给出提示:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第14张图片

点击确定,在上图下面的白色方框内会显示所有的文件,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第15张图片

上面添加完成就可以点击 Close 关闭界面,然后在 Sourceinsight 界面栏右边一点击 Project windows 窗口,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第16张图片

然后就可以尽情的操作了:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第17张图片

Sourceinsight 中文乱码

对于没有设置过的 Sourceinsight ,中文应该会是乱码,比如我刚才添加的工程 :

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第18张图片

我们需要进行设置,如下图操作:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第19张图片

在弹出的界面框内选择,做如下设置,把 Default encoding 改成 GB2312 形式,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第20张图片

这个设置是对全部文件生效的,但是不巧,设置之后我的文件还是乱码? 怎么办?

那么只能针对单个文件进行设置了,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第21张图片

在弹出的界面,选择 GB2312 编码,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第22张图片

然后就能正常的显示中文了:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第23张图片

2.4 FileZilla

FileZilla 是什么?一个免费的 FTP 客户端软件。

那什么是 FTP ??

专业的名词解释还是引用一下百度百科:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第24张图片

简单理解就是: FTP 是一个文件传输协议。

咦 ? 这里不知道小伙伴们有没有发现,我们上一篇文章《嵌入式 Linux 入门 环境篇(三、开发板和 PC 的网络互通)》 里面讲过一个 SSH 协议?

SSH 与 FTP

先来回顾一下我们上一篇文章中提到的 SSH 协议:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第25张图片

两个联系我们这里不深入研究,但是记住:SSH 适用于远程登录会话。FTP 适合远程传输文件。

具体的介绍推荐一篇博文:SSH 与 FTP

Ubuntu 开启 FTP 服务

我们知道了 FTP 是一个协议, FileZilla 是一个 FTP 客户端软件,那么有客户端就得有服务器端,这单与 SSH 类似,我们在上一篇文章中,开始 Ubuntu 中没有开启 SSH 服务,导致我们无法远程登录 Ubuntu ,所以我们在使用 FileZilla 之前,需要在我们需要文件传输的 Ubuntu 中开启 FTP 服务。

我们打开我们虚拟机,输入下面指令安装 FTP 服务:

sudo apt-get install vsftpd

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第26张图片

安装完成我们进行一下简单的配置,打开 /etc/vsftpd.conf 文件进行配置。

允许本地用户访问,以及允许本地用户对FTP服务器文件具有写权限,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第27张图片

然后使用命令

sudo /etc/init.d/vsftpd restart

重启一下 FTP 服务

那么我们在 windows 端就可以使用 FileZilla 与 Ubuntu 虚拟机互传文件了。

☆ 这里又有人会问了,我们使用的虚拟机不是安装了 VMware Tools 吗? 直接可以在主机与虚拟机之间拖动文件了。

这个当然是没有问题,但是正如我以前讲过很多次一样,如果你开发的 Ubuntu 不是你自己的电脑, 是其他地方的一个系统,那么就不存在 VMware Tools 这种东西了,但是 FTP、 SSH 这种客户端还是可以正常的连接使用。

FileZilla 的安装使用

讲了这么多,回到我们需要安装的 FileZilla 软件上来,我们直接在网上搜索一下这个软件,然后在软件官方下载客户端,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第28张图片

下载安装很简单,过程省略,最后安装完成打开界面如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第29张图片

我们做个简单说明,我们 windows 下的是 FTP 客户端是如何与我们的 Ubuntu (FTP服务器)建立连接然后如何文件传输的。

首先在 FileZilla 软件点击文件 -> 站点管理器,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第30张图片

在弹出的界面按照如下步骤操作:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第31张图片

上面设置完成点击连接,在弹出的界面直接点击确定,因为我们自己开发的电脑,所以默认保存密码没有问题:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第32张图片

点击确定后,正常就能连接上了,连接好的界面如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第33张图片

又乱码了,设置一下:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第34张图片

设置完成就重新连接就好了。

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第35张图片

操作简单,文件传输直接拖拽就行了,双击也可以,这个就不做演示了,大家可以自行尝试。

这样我们就可以实现 windows 和 Ubuntu 虚拟机的文件互传。

对于我们的嵌入式开发,在 windows 部分,上面介绍的几个软件可以说是必备的工具,其他的一些工具,我们在后期学习到需要使用的时候,我们再进行说明。

三、Ubuntu 虚拟机端软件

Ubuntu 上的软件相对 windows 来说就相对复杂一些,还是因为相对于 windows 来说,Ubuntu 使用对新手不是那么友好。不仅是安装,还有各种配置,相对来说没那么容易理解。

所以有厂家把 Linux 下的环境配置写成脚本,一键自动安装,这样方便了新手快速的配置环境。 我们本文挑了一个重要的软件,交叉编译器 来说明。

☆ 交叉编译器 重要,因为我们最终下载到我们开发板的程序都是在 Ubuntu 中通过 交叉编译器编译成的 文件。☆

3.1 vi/vim

vi 编辑器是 Ubuntu 系统自带的,本来没什么好说的,我们还有一篇单独的文章介绍:

嵌入式 Linux 入门(四、Linux 下的编辑器 — 让人爱恨交加的 vi )

在环境第二篇文章安装虚拟机完成后我们也查看过 vi 的版本:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第36张图片

但是实际上在使用过程中,我发现了问题,键盘 i 并不能正常的进入插入模式,左下角都没有插入提示,按完 i 以后,方向键也会乱码?

刚开始还以为输入法的问题,后来花了一点时间,网上查看了一下问题才解决。

Ubuntu 自带 vi 功能输入异常方向键乱码

Ubuntu 12.04 自带的 vi 安装完成后出现上面的问题,只需要先卸载再重新安装,我们依次执行下面的两句操作即可:

sudo apt-get remove vim-common
sudo apt-get install vim

最后安装完成以后,可以看到版本好像还是一样,但是就已经可以正常使用了:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第37张图片

3.2 GCC

GCC 本身虽然与我们的 嵌入式 Linux 开发并没有直接关联,但是必须要了解。

简单来说, GCC 是一个编译器,就像 Keil 中的 ARMCC,还不懂得话就是 Keil 中负责编译程序的那部分东西。

GCC 是 LInux 下的标准的编译器,GCC 原本作为 GNU 操作系统的官方编译器,现已被大多数类 Unix 操作系统(如 Linux、 BSD、 MacOS X 等)采纳为标准的编译器, 目前 GCC 是 Linux 下重要的软件开发工具之一。

我在前面文章《嵌入式 Linux 入门 环境篇(二、安装虚拟机 — 体验 Ubuntu 22.04)》中体验的时候已经安装了 GCC :

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第38张图片

有了他我们可以进行 C 语言的程序编译测试。

当然我们做嵌入式开发,最终使用的不是标准的 GCC,而且是 专门针对 ARM 平台的 GCC,就是交叉编译器,对于这个问题,我计划在下一篇文章《嵌入式 Linux 入门(十、Linux 下的 C 编程)》 进行详细说明。

3.3 arm-linux-gnueabihf-gcc

其实这个名字一看,如果看过我文章学习过 STM32 的小伙伴应该了解,我在 windows 下开发 STM32 也使用的是 gcc 工具链,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第39张图片

那么这个 arm-linux-gnueabihf-gcc 就是我们 Linux 下的交叉编译器。

那么如何安装这个编译器,对于 Linux 来说我们有可以使用 apt-get install 命令安装软件包,这个在我们入门文章 《嵌入式 Linux 入门(八、Linux 下的软件安装)》中说明过。

使用如下命令安装:

sudo apt-get install gcc-arm-linux-gnueabihf

但是网上说,使用此命令编译器的版本可能存在某些问题,而且下载也需要时间,我这里已经直接下载好了正点原子提供的安装包(自己到https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/arm-linux-gnueabihf/网站去下载这个安装包也会很慢),所以我决定手动安装,这里我就参考正点原子教材的方式 。

我们使用上面刚装的 FileZilla 工具把压缩文件 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz传至 虚拟机 :

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第40张图片

接下来我们就在虚拟机进行操作:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第41张图片

使用下面的代码给个权限,习惯问题,直接拷贝过来的东西大多权限不够:

chmod 777 gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz 

然后我们在 /usr/local 下创建一个 arm 文件夹,用来安装交叉编译器,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第42张图片

然后使用命令解压:

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

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第43张图片

在 Ubuntu 中,解压完成就等于安装好了,但是道理同 windows 里面类似,我们在以前开发 STM32 进行一些工具链安装的时候,安装完成需要配置环境变量,在 Ubuntu 中也是需要把工具链配置到环境变量。

这个在我们学习过文章 嵌入式 Linux 入门(七、Linux 下的环境变量) 应该不难理解,配置全局变量的相关文件:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第44张图片

我们就直接修改 /etc/profile 文件,在文件最后加上刚才交叉编译器的环境变量设置,保存退出:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第45张图片

接着执行 source /etc/profile 手动生效一下刚才的环境变量:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第46张图片

这样我们就手动的安装了 arm-linux-gnueabihf-gcc 交叉编译器。

lsb-core lib32stdc++6 安装问题

根据文档,我们还需要添加一些对应的库:

sudo apt-get install lsb-core lib32stdc++6

但是这里安装遇到了点问题:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第47张图片

在网上找了一个解决办法,先安装一个 aptitude ,然后再进行库的安装。

aptitude 是什么?

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第48张图片
我们在 Ubuntu 进行如下操作:

sudo apt-get install aptitude

sudo aptitude -f install lib32stdc++6

注意在第二部安装的时候,出现的选项,第一个选择 “N”, 后面都选择 “Y” ,如下图:

嵌入式 Linux 入门 环境篇(四、必备开发工具安装)_第49张图片

正常安装完成即可。

对于我们的嵌入式开发,在 Ubuntu 部分,也只是介绍说明几个必备的软件,其他的我在后期学习到需要使用的时候再进行说明。

结语

本文写下来,基本上可以当做一个从 0 开始配置开发环境的参照,虽然只是简单的介绍了一些常用必备工具的安装使用,但是过程中还是遇到一些不同的问题,也算是给记录类型的文章增加了一些有意义的东西。

希望对大家有所帮助,到这里基本的开发环境就已经搭建完成,看看下一篇文章是讲一讲 Linux 下的 C 编程还是再看看环境配置里面,有哪些东西还需要说明,容我整理一下。

好了,本文就到这里,谢谢大家!

你可能感兴趣的:(嵌入式Linux,#,嵌入式,Linux,环境篇,linux,开发工具,ubuntu,FTP)