首页 > 系统相关 >【IMX6ULL】一、Linux开发环境搭建

【IMX6ULL】一、Linux开发环境搭建

时间:2023-02-16 15:37:48浏览次数:53  
标签:linux sudo Linux etc 编译器 Ubuntu IMX6ULL arm 搭建

注:参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.6

一、Ubuntu 和 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 所示:
image

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

sudo /etc/init.d/vsftpd restart

2、Windows 下 FTP 客户端安装

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

Ubuntu 作为 FTP 服务器,FileZilla 作为 FTP 客户端,客户端肯定要连接到服务器上,打开站点管理器,点击:文件->站点管理器,点击“新站点(N)”按钮来创建站点,新建站点以后就会在“我的站点”下出现新建的这个站点,站点的名称可以自行修改,选中新创建的站点,然后对站点的“常规”进行设置,设置如图所示:
image
Ubuntu系统查看IP地址,在终端输入:

ifconfig

如果提示"Command 'ifconfig' not found, but can be installed with:sudo apt install net-tools”,在终端输入:

sudo apt install net-tools

如果Ubuntu 文件目录下的中文目录都是乱码的,这是因为编码方式没有选对,先断开连接,点击:服务器(S)->断开连接,然后打开站点管理器,选中要设置的站点“Ubuntu”,选择“字符集”,如下图所示。
image

3、Ubuntu 下 NFS 和 SSH 服务开启

3.1 NFS 服务开启

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

sudo apt-get install nfs-kernel-server rpcbind

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

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

sudo vi /etc/exports

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

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

添加完成以后的/etc/exports 如图 所示:
image
重启 NFS 服务,使用命令如下:

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

3.2 SSH 服务开启

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

sudo apt-get install openssh-server

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

二、Ubuntu 交叉编译工具链安装

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/  

打开以后下载界面如图所示:
image
在图中有很多种 GCC 交叉编译工具链,我所使用的 I.MX6U-ALPHA 开发板是一个 Cortex-A7 内核的开发板,因此选择 arm-linux-gnueabihf,点击后面的 “Binaries”进入可执行文件下载界面,如图所示:
image
在写教程的时最新的编译器版本是 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/

上图中有很多种交叉编译器,我们只需要关注这两种:

 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 系统类型选择合适的版本,比如我安装的 Ubuntu 16.04 是 64 位系统,因此我要使用 :

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

在 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

操作步骤如图所示:
image
拷贝完成以后在/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 如图所示:
image
修改好以后就保存退出,重启 Ubuntu 系统,交叉编译工具链(编译器)就安装成功了。

三、VS Code安装

VSCode 下载地址是:https://code.visualstudio.com/

1、Windows 版本安装

手动下载安装

2、Linux 版本安装

Linux 下的 VSCode 安装包为.deb 格式,使用如下命令安装:

sudo dpkg -i code_1.32.3-1552606978_amd64.deb

3、Visual Studio Code 插件的安装

VSCode 支持多种语言,比如 C/C++、Python、C#等等,主要用来编写 C/C++ 程序的,所以需要安装 C/C++ 的扩展包,我们需要按照的插件有下面几个:
1)、One Dark Pro,VSCode 的主题。
2)、C/C++ Snippets,即 C/C++重用代码块。
3)、C/C++ Advanced Lint,即 C/C++静态检测 。
4)、Code Runner,即代码运行。
5)、GBKtoUTF8,将 GBK 转换为 UTF8。
6)、ARM,即支持 ARM 汇编语法高亮显示。
7)、C/C++,这个肯定是必须的。
8)、Include AutoComplete,即自动头文件包含。
9)、Rainbow Brackets,彩虹花括号,有助于阅读代码。
10)、Chinese(Simplified),即中文环境。
11)、vscode-icons,VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
12)、compareit,比较插件,可以用于比较两个文件的差异。
13)、DeviceTree,设备树语法插件。
14)、TabNine,一款 AI 自动补全插件,强烈推荐,谁用谁知道!

标签:linux,sudo,Linux,etc,编译器,Ubuntu,IMX6ULL,arm,搭建
From: https://www.cnblogs.com/KuDianWanJia/p/17126876.html

相关文章