Orangepi Zero2 全志H616 的初识

2023-11-19

Q:为什么要学习香橙派?

A:在之前对于Linux系统的学习,其内容主要是对于系统API的掌握,而很难进行外设的交互,Linux系统很强大,如果能够结合外设,可以做出STM32,C52等单片机无法实现的复杂项目,而我们可以通过将Linux系统移植到香橙派来实现Linux对于外设的控制,所以学习目标依然是Linux系统,而平台是ARM架构,因为在Linux能运行的系统架构中,ARM的占有率最高,Linux-ARM的开发经验也是嵌入式软件工程师所需要的技能,所以要学习它。

全志H616介绍

特性

  • CPU 全志H616四核64位1.5GHz高性能Cortex-A53处理器
  • GPU MaliG31MP2 SupportsOpenGLES1.0/2.0/3.2、OpenCL2.0
  • 运行内存 1GBDDR3(与GPU共享)
  • 存储 TF卡插槽_配套硬件16G,测试128G可支持、2MBSPIFlash
  • WIFI+蓝牙 AW859A芯片、支持IEEE802.11a/b/g/n/ac、BT5.0
  • 视频输出 MicroHDMI20a
  • 电源 USBTypeC接口输入
  • 外设 带有I2Cx1、SPIx1、UARTx1以及多个GPIO口
  • 电源指示灯和状态指示灯

配套操作系统支持

供电介绍 

  • TypeC口,需要插到5V/2A或者5V/3A的电源适配头,特别是开发板有接多个外设模块的时候
  • 平常USB供电用电脑可以,前提是不接多外设模块
  • 后面做小车等项目,用电池供电可以参考如下供电方式

刷机,系统启动和初始化配置

就像买了电脑,出厂带有windows操作系统,才算是真正的电脑,开发板需要烧写对应的系统固件,才能正常发挥作用!

工具

  • Orangepi Zero2 全志H616开发板
  • PC机
  • TF卡及读卡器
  • 操作系统镜像
  • SDFormatter TF卡的格式化工具
  • Win32Diskimager 刷机工具
  • USB转TTL,用于系统烧写后的串口登录开发板

具体步骤

1. 安装SD Card Formatter:

2. 安装win32diskimager:

3.  将SD卡插入读卡器再插入电脑USB,打开SD Card Formatter,点击“refresh”再点击“format”格式化:

4. 打开win32diskimager并选择映像文件,选择写入的盘(一定是刚刚格式化的那个),然后点击“写入”:

 

5. 此时刚刚格式化的磁盘长这样,无法打开,但是没关系,此时可以弹出该磁盘:

6. 将SD卡取出,插入全志H6开发板:

7. 使用之前学习单片机时经常用到的USB转TTL工具 CH340 连接电脑和全志:

 

由于之前安装过了CH340的驱动,所以此时电脑可以直接识别:

8. 打开MobaXterm并设置连接:

 

 点击 session -> serial -> serial port选择CH340对应的COM口 -> 波特率设置115200 -> 点击OK

 此时显示什么都没有,因为还没有上电!

9. 给全志H6开发板正式上电,并操作MobaXterm:

此时,Moba的界面就开始疯狂变化了,这就是uboot代码的执行结果,其中可以看到这个开发板的各种信息:

直到运行至:

此时,输入用户名和密码后,成功登录:

系统提供了两个初始账户,普通用户和超级用户,这里使用普通用户登录就可以

 

 

10. 修改密码:

把密码该简单点方便登录!

 我将密码直接设置成了数字 “ ”,可以使用“sudo reboot”来重启系统验证

11. 网络配置

输入“nmcli dev wifi”来搜索附近的WIFI:

输入“nmcli dev wifi connect WIFI名字 password WIFI密码”来连接指定的WIFI:

输入“ifconfig” 或 “ip addr show wlan0”来查看IP地址:

可见,板子的IP地址是“192.168.2.22” 

12. 在网络连接成功后,使用SSH来登录全志开发板:

使用SSH来连接的前提是开发板已经接入了网络且知道了开发板的IP地址,相比于串口连接,这样可以做到无线的连接,更为便捷,也是企业中开发的必备方式之一

还是在MobaXterm中:

点击 session -> SSH -> remote host输入开发板的IP地址 -> 输入用户名orangepi -> 点击OK

 

输入刚刚设置的新密码:

此时,就成功通过SSH的方式来登录开发板了!可以将CH340拔出了~

并且,不管是刚刚的串口还是现在的SSH,只要登录成功后,其实就是一个linux操作系统的界面,在这个界面里,之前所有Linux学习的代码都可以在这里同样的运行!

并且,观察到左边的tab,还支持可视化的文件管理,可以实现windows的文件上传等操作....

13. 修改开发板内核启动日志级别:

为了防止在之后内核出现问题而无法查证,所以要修改内核启动日志级别

使用“ sudo vi /boot/orangepiEnv.txt”命令打开日志:

并把第一个参数“verbosity”的值改为“7”,把第二个参数“console”的值改为“serial

 

然后保存并退出,由于将console改为了串口,这里要重新插上CH340,并重新上电开发板,通过串口连接开发板并观察结果:

可见,和第一次启动不同,此时还刷屏了内核的信息,说明修改成功!

14. 安装外设驱动库(之后会自己写驱动

在Moba中执行以下命令:

git clone https://github.com/orangepi-xunlong/wiringOP //下载源码
cd wiringOP //进入文件夹
sudo ./build clean //清除编译信息
sudo ./build //编译

 然后执行“gpio readall”:

对应关系:

说明外设库成功安装完成!

15. 安全退出

当想要退出的时候,直接拔出香橙派的电源有些野蛮,总担心会数据丢失,安全退出的方法:

输入“poweroff” --> 观察香橙派的灯灭 --> 断电

至此,全志H6开发板的刷机和初始化设置已经完毕,接下来就可以使用Linux系统,通过全志来结合外设继续学习了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Orangepi Zero2 全志H616 的初识 的相关文章

  • 在 vimrc 中切换匹配

    我的 vimrc 文件中有以下几行 hi ExtraWhitespace cterm NONE ctermbg green ctermfg green guibg green guifg green match ExtraWhitespac
  • 如何使用 nohup 获取正在运行的程序列表

    我正在通过 SSH 连接访问运行 CentOS linux 发行版 的服务器 由于我无法始终保持登录状态 因此我使用 nohup command 来运行我的程序 我找不到如何获取我开始使用 nohup 的所有程序的列表 工作 只有在我注销之
  • 我可以在 Ubuntu 上使用 Homebrew 吗?

    我只是尝试使用 Homebrew 和 Linuxbrew 在我的 Ubuntu 服务器上安装软件包 但都失败了 这就是我尝试安装它们的方法 sudo apt get install build essential curl git m4 r
  • 如何在 Ubuntu/Linux 发行版中安装 Tesseract-OCR 3.03?

    我和一个朋友有兴趣为 CV 项目训练 tesseract OCR 引擎 我们尝试使用一些包装器 例如 PyTesser 和 pyocr 但结果目前不如我们需要的那么准确 因此 我们希望尝试训练超立方体以更好地实现我们的目的 即识别食品标签上
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • 为什么我的代码在编译用于分析 (-pg) 时在多线程下运行比在单线程下运行慢?

    我正在写一个光线追踪器 最近 我在程序中添加了线程 以利用 i5 四核上的附加内核 奇怪的是 应用程序的调试版本现在运行速度变慢 但优化后的构建运行速度比添加线程之前更快 我将 g pg 标志传递给 gcc 以进行调试构建 并将 O3 标志
  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • 在Linux中创建可执行文件

    我计划做的一件事是编写 非常简单的 Perl 脚本 并且我希望能够在不从终端显式调用 Perl 的情况下运行它们 我明白 要做到这一点 我需要授予他们执行权限 使用 chmod 执行此操作非常简单 但它似乎也是一个稍微费力的额外步骤 我想要
  • 即使使用 rvm pkg install zlib 后也无法加载此类文件 -- zlib

    我使用 rvm 安装了 zlib 包和 ruby 1 9 3 但是每当我尝试安装时 它说宝石cannot load such file zlib 我用来安装的命令是 rvm install 1 9 3 rvm pkg install zli
  • Linux Shellcode“你好,世界!”

    我有以下可用的 NASM 代码 global start section text start mov eax 0x4 mov ebx 0x1 mov ecx message mov edx 0xF int 0x80 mov eax 0x1
  • C# - OPC-UA 服务器应用程序尚未在 Linux 计算机中创建 PKI 证书

    当我跑步时OPC UA serverWindows 机器中的 C 应用程序 然后 OPC UA 服务器已创建证书路径C ProgramData OPC Foundation pki own 并在此路径中生成一些证书 但是当我在中安装 OPC
  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • 为什么 proc/ID/maps 有多个共享库条目

    我正在查看嵌入式Linux下的proc ID maps 我注意到一些共享库在进程的内存映射中出现了几次 为什么会这样呢 40094000 400d9000 r xp 00000000 b3 09 723 system lib libc so
  • 如何从命令行执行 PHP 代码?

    我想执行单个 PHP 语句 例如if function exists my func echo function exists 直接使用命令行 无需使用单独的 PHP 文件 这怎么可能 如果您要在命令行中执行 PHP 我建议您安装phpsh
  • 如何防止 CMake 在构建时(而不是安装时)为共享库创建符号链接?

    我正在使用 CMake 在 Linux 上使用 Bullet3 构建一个项目 在构建整个解决方案时 它会构建附加了 SOVERSION 的 Bullet 输出库 并创建一个不带版本的符号链接 对于我的特定场景 我不喜欢这种行为 并且我不想编
  • 在哪里可以找到所有 C 标准库的源代码?

    我正在寻找所有 C 标准库的完整源代码 也就是说 我正在寻找 stdio h stdlib h string h math h 等的源代码 我想看看它们是如何创建的 我认为这取决于不同的平台 但 Linux 或 Windows 都会受到欢迎
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • shell中基于正则表达式的颜色突出显示输出

    我想知道是否可以用颜色突出显示与某些字符串匹配的 shell 命令的输出 例如 如果我运行 myCommand 输出如下 gt myCommand DEBUG foo bar INFO bla bla ERROR yak yak 我希望所有
  • Linux shell 标题大小写

    我正在编写一个 shell 脚本并有一个如下所示的变量 something that is hyphenated 我需要在脚本中的各个点使用它 如下所示 something that is hyphenated somethingthati

随机推荐

  • Cadence Allegro PCB设计88问解析(九) 之 Allegro中封装(footprint)3D模型添加

    一个学习信号完整性的layout工程师 今天整理下PCB封装的3D 模型添加 此步骤并不是所有的公司使用 因为我们平常给器件添加一个实际的高度 就已经OK了 只不过我们在看整版的3D模型是 每个器件都是方方正正的 不太美观 所以有的人要求完
  • JavaScript基础

    编程之修 重在积累 而非资质 资质虽然重要 可是后天的努力更不可缺少 直接量 编程世界中的直接量 就是表面上可以见到的数据值 常见的直接量有数字 小数 字符串 字符串的出现必然带着双引号 单引号也可以 被很好地包裹住 而数字则是光秃秃的 如
  • 解决Opencv高低版本不兼容问题

    分享一下我老师大神的人工智能教程 零基础 通俗易懂 http blog csdn net jiangjunshow 也欢迎大家转载本篇文章 分享知识 造福人民 实现我们中华民族伟大复兴 目前OpenCV版本已更新到2 4 由此出现了一系列问
  • Qt之QSS中替代background-position的方法。

    学过css的朋友 应该都多少了解一些雪碧图相关的知识 雪碧图 用的就是background position来确定选取的素材位置 比如 素材中每张扑克的宽高分别为49px 66px 如果我要选用红桃8 我就会在css中写 backgroun
  • Gradle sync failed: A problem occurred configuring project ‘:app‘解决方法

    在terminal 中输入 gradlew i 查看详细信息 输出信息 NDK is missing a platforms directory If you are using NDK verify the ndk dir is set
  • vue项目中使用iconfont阿里图标库

    1 进入icon 官网 iconfont 阿里巴巴矢量图标库 2 根据搜索选择自己想要的图片 添加到项目中或者新建项目 如下图 3 添加之后如下图 点击下载至本地 4 下载本地解压后的文件如下图 5 在vue项目中 css新建一个文件夹 把
  • JS时间格式和时间戳的相互转换

    时间戳转化为日期的方式 var timestamp 1527521052 var newDate new Date newDate setTime timestamp 1000 Mon May 28 2018 console log new
  • 计算机视觉知识点-图像增强

    图像增强技术通过对训练图像进行一系列随机更改以生成相似但不同的训练示例来扩展训练数据集的规模 随机更改训练示例可以减少模型对某些属性的依赖 从而提高模型的泛化能力 我们可以以不同的方式裁剪图像 以使感兴趣的对象出现在不同的位置 从而减少了模
  • YoungTalk STM32入门第12步——CRC校验和芯片ID

    1 CRC 循环冗余校验 计算单元 2 96位芯片唯一序列号 1 CRC 循环冗余校验 计算单元 CRC计算单元使用一个固定的多项式发生器 从一个32位的数据字产生一个CRC码 在众多应用中 基于CRC的技术被用于验证数据传输或者存储的一致
  • Qt -信号槽实现原理

    一 简介 QT信号槽的实现实质是什么 回调函数 简要说一下信号与槽的底层原理 信号与槽的实现是借助了Qt 的元对象系统 元对象系统有一个元对象编译器 程序编译之前会有一个预处理过程 预处理将一个类 对象中的信号 槽的字符串值分别保存在一个容
  • 小白学股票基金_1

    债券要集资 利息比银行同等期限的高 但是不能随意提取现金 如果未到期就提取就不能按约定的利息给于 不可买卖 可以抵压 股票为单向交易 只能在低时进入买涨 T 1交易当天不能卖出 固定的开收盘时间 易受庄家控制 全资动作 多少钱买多少股 必须
  • lmg_Model Links and Torrents

    lmg Model Links and Torrents Changelog MDY 4 bit GPU Model Requirements 4 bit CPU llama cpp RAM Requirements LLaMA 16 bi
  • GraphicsLayer知识点

    require esri layers GraphicsLayer function GraphicsLayer code goes here 包含一个或多个图形特征的图层 每个地图都包含默认的GraphicsLayer 可以使用map g
  • 如何访问虚拟机中的Web服务

    需求 1 在虚拟机Vmware中安装了CentOS6 5 虚拟机使用NAT的方式 2 在CentOS中安装了APACHE 并且使用 http 192 168 237 128可以正常访问 3 想在其他windows机器上访问该虚拟机的web服
  • linux系统的系统性学习 (持续更新)

    分类 系统启动过程 第一步 内核的引导 第二步 运行 init 第三步 系统初始化 第四步 建立终端 第五步 用户登录系统 关机 查看系统基本信息 CPU相关 内存相关 查看网络信息 用户 服务 进程相关 磁盘管理 df 命令 du 命令
  • Thrift、Dubbo、Spring Cloud 和 gRPC

    何为RPC RPC Remote Procedure Call 远程过程调用 是一种进程间通信方式 是一种技术的思想 而不是规范 它允许程序调用另一个地址空间 通常是共享网络的另一台机器上 的过程或函数 而不用程序员显式编码这个远程调用的细
  • 计算机常用函数及写法,计算机常用的函数公式有哪些?

    01 计算机常用的函数公式包括RANK函数 COUNTIF函数 IF函数 ABS函数 AND函数 AVERAGE函数 COLUMN 函数等 RANK函数是Excel计算序数的主要工具 它的语法为 RANK number ref order
  • 现代OpenGL教程 01 - 入门指南

    文章转载自 http huangwei pro 2015 05 modern opengl1 以下是我学习opengl得到的启示最多的一篇文章 我强烈地建议大家去读一下这位大神的相关系列的文章 还有https github com tomd
  • Allegro约束管理器的设置

    1 打开约束管理器 2 设置管理器 黄色表示未打开 右击 选择analysis mode打开 3 添加物理规则 修改的数据 4 建立组 同时选中几个网络 右击选择Create New Group新建一个组 修改组的规则里面的网络也都跟着修改
  • Orangepi Zero2 全志H616 的初识

    Q 为什么要学习香橙派 A 在之前对于Linux系统的学习 其内容主要是对于系统API的掌握 而很难进行外设的交互 Linux系统很强大 如果能够结合外设 可以做出STM32 C52等单片机无法实现的复杂项目 而我们可以通过将Linux系统