鸿蒙移植i.mx6ull(二) 环境搭建

本文涉及的产品
公网NAT网关,每月750个小时 15CU
云防火墙,500元 1000GB
简介: 鸿蒙移植i.mx6ull(二) 环境搭建

声明:文章内容转载韦东山开发手册,所以请去支持韦老师的板子和视频。下面很多环境的配置是和linux是一致的,建议去看i.mx6ull环境配置。重复部分不在贴上来了。

Ps:这个鸿蒙系列是韦东山老师录制的视频和开发手册为基础,请大家支持韦老师。 这个专栏是:

1.学习的笔记记录。

2.整理和知识点汇总。

3.个人做的项目经验汇总


1.1 鸿蒙系统有哪些内容?


鸿蒙系统,就相当于一套完整的PC软件系统。

1670997722647.jpg

1670997731052.jpg

1670997737819.jpg


1.2 日常工作中开发流程是怎样?


1.2.1 鸿蒙的IDE


鸿蒙的IDE分为南向IDE、北向IDE。上北下南,北向只APP,南向指内核。

南向IDE的下载地址:https://device.harmonyos.com/cn/ide 它的功能将会很强大,但是目前状况为:


可以在Windows/Linux下阅读源码


但是编译的话,只能在Linux下使用命令行来编译


可以使用Jlink来调试,目前只支持在Windows下调试


这个IDE已经支持IMX6ULL的调试了,后面需要的话我会介绍调试功能。


1.2.2 我们的开发环境


Bootloader、内核、APP等等软件,需要在Ubuntu中编译;但是阅读、修改这些源码时,在Windows下会比较方便。

所以,我们需要在Windows、Ubuntu上都存有源码。

① 在Windows上阅读、研究、修改(使用Source insight会很方便),修改后上传到Ubuntu(使用Filezilla)

②在Ubuntu上编译、制作(使用MobaXterm远程登录Ubuntu会很方便)

③把制作好的可执行程序下载到开发板上运行、测试(使用MobaXterm连接开发板的串口)。

在整个开发过程中,我们会用到Windows、Ubuntu、开发板,如下图所示:

1670997794549.jpg


1.3 搭建开发环境需要做哪些事情


这里只是列出要做的事情:(很多是Linux的重复做的,去看i.mx6ull开发中的文章,会讲解到这些环境是如何配置的)


安装VMware、下载Ubuntu映象


安装Windows上各个APP 这些APP有:SouceInsight、FileZilla、MobaXterm、Notepad++


下载源码和工具链 使用repo命令在Ubuntu中下载,后面介绍。


连接开发板

① 连接电源线到开发板, ② 开发板的串口线,接到Windows电脑;并用MobaXterm连接串口。


烧写系统 开发过程会不断编译程序、烧写、测试。


1.4 使用NAT配置Ubuntu网络


1.4.1 设置Ubuntu使用NAT网络


我们配置网络是为了方便后续调试开发板系统或者应用程序时使用tftp协议 nfs协议等拷贝文件或者设置文件系统启动方式为nfs挂载启动。

以前我们在VMware中使用桥接,这需要保证Windows、Ubuntu、开发板三者互通,而很多人的电脑有多个网卡,这涉及的网络设置太复杂了。

现在我们使用NAT方式,这样会简单很多。


NAT是什么意思?Network Address Translation,网络地址转换。

举个例子,在NAT里,Windows就是一个爱护孩子的父亲,Ubuntu就是受保护的小孩。小孩要买东西,都由他父亲代劳,别人根本不知道这小孩的存在;亲戚想跟小孩谈话,也要经过父亲中转,亲戚不能直接跟小孩接触。

在NAT里,Ubuntu要主动发起网络访问,需要经过Windows代劳,外面的设备只看到Windows发出的网络数据;Windows收到数据的再转发给Ubuntu。

在NAT里,外面的设备比如开发板要访问Ubuntu,也只能通过Windows代劳:开发板是看不到Ubuntu的,开发板是ping不通Ubuntu的。


先关闭VMware中的Ubuntu,在VMware界面设置Ubuntu使用NAT,如下图:

1670997832888.jpg

然后启动Ubuntu,打开终端,执行ifconfig命令,确定网卡IP,如下图所示,记住这个IP(192.168.75.128,也许你的跟它不一样),后面要用:

1670997843411.jpg


1.4.2 Ubuntu的IP可能突然变化


你用着用着,某次重新开机后,发现无法访问Ubuntu了。可能是Ubuntu的ip变了,这就需要使用新IP来访问Ubuntu。

怎么确定Ubuntu的IP?

启动Ubuntu,打开终端,执行ifconfig命令,确定网卡IP,如下图所示:

1670997855763.jpg


1.4.3 验证网络


注意:如果照着本节操作不成功,请确认:

①在VMware里是否设置Ubuntu使用了NAT网络;

②使用的UbuntuIP是否正确


1.4.3.1 几个概念


IP地址127.0.0.1表示的是“本机”,在Windows上使用127.0.0.1表示的是Windows机器;在开发板上使用127.0.0.1表示的是开发板;在Ubuntu里使用127.0.0.1表示的是Ubuntu。ping

127.0.0.1是永远成功的,它不涉及具体网卡。 在本文中,在Windows上安装VMware,在VMware里运行Ubuntu,Ubuntu的网络都是使用NAT(Network

Address Translation,网络地址转换)。 NAT是什么意思?

举个例子,在NAT里,Windows就是一个爱护孩子的父亲,Ubuntu就是受保护的小孩。小孩要买东西,都由他父亲代劳,别人根本不知道这小孩的存在;亲戚想跟小孩谈话,也要经过父亲中转,亲戚不能直接跟小孩接触。

在NAT里,Ubuntu要主动发起网络访问,需要经过Windows代劳,外面的设备只看到Windows发出的网络数据;Windows收到数据的再转发给Ubuntu。

在NAT里,外面的设备比如开发板要访问Ubuntu,也只能通过Windows代劳:开发板是看不到Ubuntu的,开发板是ping不通Ubuntu的。


1.4.3.2 验证Ubuntu的网络


使用NAT时,不需要我们去设置Ubuntu的网络,它会自动获得IP。只要你的Windows电脑可以上网,Ubuntu就可以访问外网。

你可以在Ubuntu中执行“ping news.qq.com”,肯定可以看到有数据返回,同时按键盘“ctrl+c”退出ping命令,如下图。

1670997874129.jpg


1.4.3.3 验证Windows和Ubuntu之间的网络


使用VMware时,在Windows命令行可以ping通Ubuntu的IP;Ubuntu也可以ping通Windows的IP。

只要有一个方向能ping通,那证明Windows和Ubuntu之间的网络是通的。


1. Ubuntu ping Windows:


以Ubuntu ping Windows为例,先确定Windows IP,再在Ubuntu中ping Windows(如果Windows开了防火墙,可以无法ping通Windows,这没关系):

怎么确定Windows的IP?在Powershell命令行或Windows命令行中执行ipconfig,如下图:

1670997925588.jpg

这时就可以在Ubuntu命令行中ping windows了,如下:

1670997939627.jpg


2. Windows ping Ubuntu:


注意:如果Windows开了防火墙,Ubuntu也无法ping通Windows,但是没关系,只要Ubuntu能ping通外网就表示网络没问题。

先确定Ubuntu的IP,打开终端,执行ifconfig命令,确定网卡IP,如下图所示,记住这个IP(192.168.75.128,也许你的跟它不一样),后面要用:

1670997947581.jpg

启动Windows命令行,ping Ubuntu的IP即可,如下图:

1670997956385.jpg


1.4.4 常见问题


1.4.4.1 Ubuntu不能ping通外网


如果能“ping 8.8.8.8”成功,但是“ping news.qq.com”失败,这就是DNS的问题。一般是不需要手工设置DNS的,但是如果有此现象,就需要设置DNS。

修改Ubuntu的/etc/resolv.conf文件,如下:

nameserver 127.0.0.1(或其他IP)
改为:
nameserver 8.8.8.8


1.4.4.2 Ubuntu无法PING通Windows


如果Ubuntu无法ping通Windows,基本上是Windows安装了杀毒软件或是打开了防火墙。 首先关闭杀毒软件,然后关闭防火墙。


步骤如下图所示:

1670997998861.jpg

1670998005981.jpg

1670998013728.jpg

1670998021442.jpg

1670998031384.jpg

1.4.4.3 VMwre中的Ubuntu网络不可用


如果关闭Windows防火墙,Ubuntu还是有网络问题,比如无法获得IP、无法上网、无法PING通Windows。那么确认一下VMware服务是否启动,如下图所示:

1670998044030.jpg

然后关闭Ubuntu、关闭VMware、重启VMware、重启Ubuntu。


1.6 给unbuntu配上鸿蒙的环境


1.6.1 安装Windows软件


在“开发板配套资料\01_Tools (工具)\01_Tools.zip”中,解压可以得到一系列的安装软件,建议全部安装。有如下软件:

1670998064559.jpg

Visual Studio Code的配置比较麻烦,建议初学者使用Source insight来阅读、编写源码。

注意:上面很多软件是和安装linux是相同的。


1.6.2 安装Ubuntu软件


确保Ubuntu能上网之后,使用下面命令一键配置/初始化开发环境(其实就是安装tftp,nfs,vim等软件,此脚本只支持Ubuntu-16.04 /Ubuntu-18.04)。 注意:为了方便大家复制,这些命令写成了多行,你要把它们复制到记事本,合并成一行,注意空格:

book@100ask: ~ $ wget --no-check-certificate -O Configuring_ubuntu.sh
https://weidongshan.coding.net/p/DevelopmentEnvConf/d/DevelopmentEnvConf/git/raw/master/Configuring_ubuntu.sh && sudo chmod +x Configuring_ubuntu.sh && sudo ./Configuring_ubuntu.sh


上述命令中,wget是下载脚本,chmod是给它添加可执行权限,最后运行它。

按提示输入book密码123456和选择对应的系统,如下图所示:

1670998089965.jpg

如果命令执行到最后,出现类似这样的错误,就重新执行命令:

1670998098887.jpg

1670998115388.jpg

如果执行该命令出现如下错误:

1670998124019.jpg

可以先执行“sudo apt-get update”,再重新执行前面的命令。

相关文章
|
Linux 芯片
鸿蒙移植i.mx6ull(十) 系统时钟
鸿蒙移植i.mx6ull(十) 系统时钟
303 0
鸿蒙移植i.mx6ull(十) 系统时钟
|
28天前
|
Java 开发工具
鸿蒙Flutter实战:02-Windows环境搭建踩坑指南
本指南介绍如何搭建鸿蒙Flutter开发环境,包括下载Flutter SDK、配置环境变量(如FLUTTER_STORAGE_BASE_URL、PUB_HOSTED_URL、DEVECO_SDK_HOME等)和检查工具版本。还提到避免项目路径过深、与SDK同盘存放等注意事项,以及解决VsCode无法识别设备的方法。
42 0
|
15天前
|
Java 开发工具 Maven
flutter_鸿蒙next(win)环境搭建
本文介绍了在Windows环境下配置Flutter开发环境以支持鸿蒙系统的过程。主要内容包括:拉取鸿蒙版本的Flutter SDK仓库、配置环境变量、检查Flutter支持的平台、下载和配置IDEA及鸿蒙SDK、配置Flutter缓存、创建Flutter项目、配置Android Studio以及解决Gradle镜像源问题。最后,提到了如何在鸿蒙IDEA中安装模拟器并进行调试。
108 1
|
Shell Python
鸿蒙移植i.mx6ull(十二) 根文件系统
鸿蒙移植i.mx6ull(十二) 根文件系统
200 0
鸿蒙移植i.mx6ull(十二) 根文件系统
|
存储 Linux 内存技术
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
320 0
鸿蒙移植i.mx6ull(十一) 存储设备驱动程序(基于IMX6ULL)
|
Shell
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
468 0
鸿蒙移植i.mx6ull(九) 串口移植(基于IMX6ULL)
|
C语言
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
鸿蒙移植i.mx6ull(八) 添加一个单板
133 0
鸿蒙移植i.mx6ull(八) 添加一个单板(下)
|
芯片
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
鸿蒙移植i.mx6ull(八) 添加一个单板
306 0
鸿蒙移植i.mx6ull(八) 添加一个单板(上)
|
物联网
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(下)
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统
332 0
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(下)
|
物联网
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(上)
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统
288 0
鸿蒙移植i.mx6ull (七) Liteos-a的编译系统(上)