Linux下的IMX6ULL——环境搭建与软件安装(一)

简介: Linux下的IMX6ULL——环境搭建与软件安装(一)

一、配置VMWare 设置为使用双网卡

NAT 网卡:Ubuntu 通过它上网,只要 Windows 能上网,Ubuntu 就能上网

桥接网卡:Ubuntu 通过它跟开发板联通

      NAT,Network Address Translation,指网络地址转换。使用 NAT 网卡 时,Ubuntu 要访问外网,是委托 Windows 发出数据包,Windows 接收到回应后 再转发给 Ubuntu。外界看到的都是 Windows,看不到 Ubuntu。使用 NAT 时,只 要 Windows 能上网,Ubuntu 就必定能上网,无需设置 Ubuntu 的网络。

      桥接网卡,Ubuntu 就是使用一个真实的网卡开发板的网线也连接到这个真实的网卡上,这样 Windows、Ubuntu、开发板就都可以用过这个网卡互通了。

使用双网卡时,VMWare 打开的 Ubuntu 虚拟机界面如图所示:

1.点击进入“编辑虚拟机设置”;

2.查看是否有双网卡,即两个“网络适配器”;

1.虚拟机网络设置注意事项

网络适配器应该在开机前设置,否则会出现网卡消失等问题。而且网络适配器的顺序应该和虚拟网络编辑器一致,网络适配器 1 为桥接模式网络适配器为 NAT 模式,比如这里的虚拟网络编辑器是这样设置的虚拟网卡:

Vmnet0 是桥接模式,Vmnet8 是 NAT 模式,那么 Ubuntu 的网络适配器就要这样设置:

网络适配器是桥接模式,网络适配器 2 是 NAT 模式

2.添加 NAT 网卡

如果它已经添加了 NAT 网卡,无需再添加 NAT 网卡。

如果你的 Ubuntu 虚拟机中没有 NAT 网卡,则可以如图 所示添加 NAT 网卡:

1.点击进入“编辑虚拟机设置”;

2.如果没有 NAT 模式的网卡,则继续下一步;

3.点击“添加”;

4.选择“网络适配器”;

5.点击“完成”;

6.设置新添加的“网络适配器”的“网络连接”为“NAT 模式”;

7.点击确定完成 NAT 网卡的添加;

添加 NAT 网卡后,可以启动 Ubuntu,使用 ifconfig 命令查看 IP,再使用 ping 命令确认可以连接外网

配置桥接网卡在下一章使用串口时详细介绍,目前我们只需要配置NAT网卡进行上网即可

二、软件安装

1 安装Windows软件

在我的资源中有这几种软件的压缩包,也可以在官网进行下载

2.安装Ubuntu软件

确保Ubuntu能上网之后,使用下面命令一键配置/初始化开发环境(其实就是安装tftp, nfs,vim 等软件,此脚本只支持Ubuntu-16.04 /Ubuntu-18.04)。

book@100ask:~$ git clone https://e.coding.net/weidongshan/DevelopmentEnvConf.git 
book@100ask:~$ cd DevelopmentEnvConf 
book@100ask:~$ sudo ./Configuring_ubuntu.sh 

上述命令是下载脚本,给它添加可执行权限,运行它。按提示输入book密码123456和选择 对应的系统,如图

如果执行该命令出现如图所示的错误

可以先执行下面的命令后再重新执行前面的命令:

sudo apt-get update

3.使用MobaXterm远程登录Ubuntu

       先确认Ubuntu的IP,可以使用它的NAT网卡IP,也可以使用它的桥接网 卡IP。建议使用NAT网卡IP,因为使用桥接网卡的话必须启动开发板。

      在Ubuntu终端执行ifconfig命令确定NAT网卡IP(注意:这个IP过一 段时间会发生变化,那就使用新IP重新连接)

安装、运行MobaXterm,如下建立Session:

注意:如果遇到主机ping不通ubuntu的情况的话,查看主机地址和ubuntu的地址网络是否在同一频段

在MobaXterm左侧就可以看到如图 ,双击它就可 以登录Ubuntu(第1次登录时会提示你输入密码,密码是123456),然后就可以 执行各种Linux命令了:

4.使用FileZilla在windows和 Ubuntu之间传文件

使用MobaXterm既可以ssh登录又可以传输文件,不过Mobaxterm在传输文件时使用效率上没有FileZilla高,所以我们推荐windows和 Ubuntu互相传输文件时使用FileZilla。

第1次连接时,会有如图 所示的提示,选择“总是信任”

在Filezilla中,左边是Windows文件,右边是Ubuntu的文件

5.编程示例:Ubuntu上的Hello程序

(1) 用Source Insight编写hello.c

启动Source Insight,点击“File”->“New”,新建文件,如图

接下来编写代码,保存文件

#include <stdio.h> 
 
int main(int argc, char **argv) 
{ 
    printf("hello, world!\n"); 
    return 0; 
}

(2) 使用FileZilla上传源码

(3) 编译、运行程序

6.下载BSP及配置工具链

100ask_imx6ull 开发板的BSP都保存在Git站点上,通过repo命令进行 统一管理。

(1)配置repo

下载repo工具前需要设置git的邮箱和用户名,git邮箱和用户名请根据 个人情况进行配置。

book@100ask:~$ git config --global user.email "user@100ask.com" 
book@100ask:~$ git config --global user.name "100ask"

注意:请先配置git 邮箱和用户名,否则会导致下载失败

(2)下载BSP

通过repo管理多个git仓库中的源码,可以及时更新最新代码,以方便开 发者学习使用。执行以下4条命令(注意:repo init那行命令不好复制,需要 要认真比对命令,有的阅读器复制出去可能会格式错误导致命令错误):

下载git仓库:

git clone https://e.coding.net/codebug8/repo.git

创建目录并且进入目录:

mkdir -p 100ask_imx6ull-sdk && cd 100ask_imx6ull-sdk

执行repo仓库命令里的repo命令,并且初始化

../repo/repo init -u https://gitee.com/weidongshan/manifests.git -b linux-sdk -m imx6ull/100ask_imx6ull_linux4.9.88_release.xml  --no-repo-verify

下载源码

../repo/repo sync -j4

下载成功后,可以看到名为Linux-4.9.88的目录,可以在Ubuntu压缩 它,再传回Windows。在Windows下解压后,用source insight建立工程, 这样就可以很方便地阅读源码了。

注意:使用source insight阅读Linux源码的方法,请参考章节《使用Source Insight 阅读Linux内核源码》。

Ubuntu 下压缩命令为(最好是下载之后马上压缩,不要编译内核后再压缩, 否则文件太大了)

tar  cjf Linux-4.9.88.tar.bz2  Linux-4.9.88

首次下载时如果提示

Testing colorized output (for 'repo diff', 'repo status'):

此时输入以下内容即可,继续执行

../repo/repo sync -j4

命令即可开始同步源码(同步代码根据网络情况需要等待数分钟)。

同步完成后如图

(3).配置交叉编译工具链

       交叉编译工具链用来在Ubuntu主机上编译应用程序,而这些应用程序是在 ARM 等其他平台上运行。

       设置交叉编译工具主要是设置PATH, ARCH和CROSS_COMPILE三个环境变 量,下面介绍具体设置方法。

       设置这3个环境变量有多种方法,任意选择其中一种方法即可,建议使用“永 久生效”的方法。

永久生效

如需永久修改,请修改用户配置文件:

vim  ~/.bashrc

在行尾添加或修改,加上下面几行(请把第3、4行合并为一行,有些PDF工 具无法正确复制甚至丢失“-”符号,请仔细对比):

export ARCH=arm 
export CROSS_COMPILE=arm-buildroot-linux-gnueabihf- 
export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin 

设置完毕后,要执行

source ~/.bashrc

命令使其生效,并通过

arm-buildroot-linux-gnueabihf-gcc -v

命令来验证是否配置成功:

book@100ask:~$ source  ~/.bashrc 
book@100ask:~$ arm-buildroot-linux-gnueabihf-gcc -v 

以上操作是设置IMX6ULL Pro版工具链的过程。

7.使用Source Insight 阅读Linux内核源码

       在后面开发驱动程序时,驱动程序中用到的函数都是来自内核,所以可以先在Windows下 创建内核的Source Insight工程。

       如果你不想学习驱动开发,那么可以不创建内核的工程。但是以后学习大型APP时,也可 以使用Source Insight来阅读、编写代码

(1)在Windows 上解压内核源码

在Ubuntu下压缩了内核,把压缩文件通 过FileZilla 传回Windows,并解压。

在Windows解压内核时会提示一些错误,会提示是否覆盖文件,选择“覆盖”即可。这是 因为Linux下的文件区分大小写,a.c和A.c以不同的文件,但是Windows下不区分大小写, 这2个文件是同一个。这些错误不会影响我们阅读源码。

(2)建立工程示例

新建工程

运行source Insight,点击菜单“Project->New Project”,如图所示:

设置工程名及工程数据目录

在弹出的New Project对话框中设置“New project name”(项目的名 称),然后设置Where do you want to store the project data file? (项目文件保存位置),点击Browse按钮选择源码的目录即可

指定源码目录

       设置源码目录: Project Source Directory – the main location of your source files”() 点击红框左边“…”选择源码目录,点击OK

添加源码

       在新弹出的对话框中,点击“Add”或“Add All”。“Add”是手动选择需要 添加的文件,而“Add All”是添加所有文件。我们使用“Add All”,在弹出的提 示框中选中“Recursively add lower sub-directories”(递归添加下级的 子目录)并点击OK。同样的Remove File,Remove All是移除单个文件或者移 除所有文件

       添加文件完成后会弹出下面窗口,点击“确定”即可

此时界面会返回到主界面,如图 点击“Close"

同步文件

       同步文件的意思是让Source Insight去解析源码,生成数据库,这样有助 于以后阅读源码。比如点击某个函数时就可以飞快地跳到它定义的地方

       在弹出的对话框中 选中“Force all files to be re-parsed”(强制解 析所有文件),并点击“Start”按钮开始同步        

(3)操作示例

打开工程

       前面建议工程后,就会自动打开了工程。如果下次你想打开工程,启动Souce Insight后,点击菜单“Project -> Open Porject”就可以在一个列表中选择以前建立的工程

在工程中打开文件

       点击"P"图标打开文件列表,双击文件打开文件,也可以输入文件名查找文件,如图

在文件中查看函数或变量的定义

       打开文件后,按住ctrl键的同时,用鼠标点击函数、变量,就会跳到定义 它的位置,如图

查找函数或变量的引用

       双击函数,右键点击弹出对话框选择“Lookup Reference”;或者双击函 数后,使用快捷键"ctrl+/"来查找引用

其他快捷键

三、git仓库

1.安装GIT

       在Windows下,Git名为msysGit,从 https://gitforwindows.org 上下载安装文件,双击安装即可,安装选项很多,使用默认选项即可。

       对于Windows或Linux,它们的命令行用法相似,对于Windows,进入Git命令行的方法是在 开始->所有程序->Git 下启动 Git Bash。 Git Bash的命令用法跟Linux完全一样,比如cd、ls等命令。

2.GIT常用命令

       如果只是使用GIT来下载代码,看后面的示例就可以了。如果要深入学习GIT,用GIT来管理你的代码、协同开发,这有一个图形化介绍GIT的网站:https://learngitbranching.js.org/?demo=&locale=zh_CN

3. 使用示例

       注意:coding的GIT仓库地址无法使用浏览器直接打开。 启动Git Bash后,执行``克隆``命令,就会得到一个名为 doc_and_source_for_mcu_mpu 的目录:

git clone https://e.coding.net/weidongshan/noos/doc_and_source_for_mcu_mpu.git

       如果在你 克隆 之后,我们又更新了源码,你可以先进入该目录,然后更新。 启动git bash后,使用cd命令可以切换目录。假设要进入

cd  /D
cd abc
cd doc_and_source_for_mcu_mpu

也可以执行一个命令直接进入该目录,注意目录分隔符是 / 而非 \

cd  /D/abc/doc_and_source_for_mcu_mpu

在doc_and_source_for_mcu_mpu目录下,执行以下命令获得最新版本。

git pull origin

注意:不执行 git remote show origin 查看状态,而是直接执行 git pull origin 也是可以的,后面这个命令会自动检查,有更新它就会下载更新部分,没有更新也会提示你,如下图:


目录
相关文章
|
5月前
|
Oracle Java 关系型数据库
入职必会-开发环境搭建41-Linux软件安装-安装JDK
本文介绍了在Linux系统中下载和安装JDK
189 3
入职必会-开发环境搭建41-Linux软件安装-安装JDK
|
2月前
|
Ubuntu Linux
Linux中软件安装问题
【10月更文挑战第4天】
30 1
|
3月前
|
存储 安全 Linux
离线Linux服务器环境搭建
【9月更文挑战第3天】在离线环境下搭建Linux服务器需按以下步骤进行:首先确定服务器用途及需求,准备安装介质与所需软件包;接着安装Linux系统并配置网络;然后设置系统基础参数,如主机名与时区;安装必要软件并配置服务;最后进行安全设置,包括关闭非必要服务、配置防火墙、强化用户认证及定期备份数据。整个过程需确保软件包的完整性和兼容性。
|
4月前
|
Ubuntu Linux
在Linux中,软件安装和卸载的常见方法?
在Linux中,软件安装和卸载的常见方法?
|
5月前
|
应用服务中间件 Linux 网络安全
|
5月前
|
应用服务中间件 Linux 网络安全
|
5月前
|
消息中间件 Java Kafka
kafka Linux环境搭建安装及命令创建队列生产消费消息
kafka Linux环境搭建安装及命令创建队列生产消费消息
119 4
|
5月前
|
NoSQL 前端开发 Linux
入职必会-开发环境搭建45-Linux软件安装-安装Redis
本文介绍了在Linux中3种安装Redis的方式和连接方式
|
5月前
|
关系型数据库 MySQL Linux
入职必会-开发环境搭建44-Linux软件安装-安装MySQL
在企业中MySQL 5.7和MySQL 8.x版本使用都较为广泛,因此本教程使用yum命令安装MySQL 5.7和MySQL 8.x到CentOS系统。 MySQL 5.7和MySQL 8.x版本大部分安装过程相同,仅有少部分配置不同,因此放在一起说明,请注意MySQL 5.7和MySQL 8.x的不同之处。
|
6月前
|
Linux 测试技术 开发者
【Docker项目实战】使用Docker部署instantbox临时Linux系统环境搭建工具
【6月更文挑战第13天】使用Docker部署instantbox临时Linux系统环境搭建工具
84 3