文章目录

  • 1. 基础介绍
  • 2. 使用指南
    • 2.1 刷基础固件和android
    • 2.2 刷入Ubuntu
    • 2.3 安装ROS

1. 基础介绍

2018年3月19日的Linaro Connect大会上华为正式发布了HiHope Hikey 970开源硬件。HiHope Hikey 970基于华为海思麒麟970,采用了台积电10nm工艺,拥有4核Cortex-A73@2.36GHz和4核Cortex-A53@1.8GHz,12核的Mali-G72。麒麟970是全球首款内置独立NPU(神经网络单元)的移动AI计算平台。HiHope Hikey 970拥有6GB的LPDDR4 和 64GB UFS。外围部分拥有支持4K高清的HDMI 2.0a接口,2个USB3.0接口,2个USB Type-C接口,1个千兆网口,支持CAN V2.0B协议,可以运行AOSP、Ubuntu、Debian等系统。

目前淘宝已经可以买到。

HiHope Hikey 970以强悍的性能和兼容于96Boards CE的标准,在计算机视觉、高性能计算开发、Android标准化程序开发测试等领域有广泛的应用,HiHope Hikey 970不只是开源硬件中的性能怪兽,因为集成了NPU(NPU相比与CPU在能效上有50倍以上的提升,性能上有25倍以上的提升),并且得到了华为HiAI生态的全力支持,在AI等人工智能领域开发中拥有巨大的发展前景,HiHope Hikey 970可运用于深度学习算法、智能机器人、无人驾驶和智慧城市等多个领域。

这款虽然是华为的产品但是主要的文档都在96boards的官网上。

Using the HiKey970
hikey970 相关软件

2. 使用指南

如果Hikey970开发板之前烧录了 Debian,再次烧录 Lebuntu 之后开机发现系统可能仍然是 Debian,可以先烧录 Android 再烧录 Lebuntu 。

2.1 刷基础固件和android

hikey 970 开发板刷基础固件和Android系统刷板子的系统主要包括两个方面,一个是基础固件,一个就是系统文件。根据板子上面四个开关状态的不同板子会处在不同的状态。

开关位于图中的22的位置 这四个开关的功能分别是

1.自动开机 这个开关如果是On,当板子通电的时候就会自动启动系统。反之则上电之后要按电源键启动。
2.启动模式 开关是On的时候上电后启动至刷基础固件模式,这时候可以通过程序给板子刷基础固件。当是off的时候系统会从已经安装的bootloader启动。
3.系统启动模式 当是On的时候系统会以UEFI模式启动,反之则会直接启动系统
4.扩展功能选择 当是On的时候会使用低速扩展口功能,当是Off的时候会使用蓝牙功能。

基础固件包含了板子的bootloader等等。如果基础固件刷错了系统就不能再启动了。甚至连fastboot也不能使用,也无法再刷其他系统。正常情况下只是刷系统是不需要刷基础固件的。

安装基础程序

sudo apt-get install android-tools-adb
sudo apt-get install android-tools-fastboot

基础固件

以下的操作都是在Linux系统环境下完成的

下载镜像

从96boards的970下载主页下载最新的系统镜像。目前(2018.5.19)只有Android的。这个文件中包含了基础固件和系统镜像。

下载完成后你需要解压这个文件。在image文件夹中包含了需要的文件。

下载镜像工具

git clone https://github.com/96boards-hikey/tools-images-hikey970

官方的工具有错误,我们需要进行修改后才能用 在 recovery-flash.sh 的第九行

UEFI_BUILD_PATH=/home/qubo/tools-images-hikey970

改为

UEFI_BUILD_PATH=${PWD}

然后把刚才下载的文件中的image里的所有文件复制到tools-images-hikey970文件夹

设置开发板启动方式

把板子的开关设置成 On On On Off,然后上电。按照之前的说明,这时候板子处在刷基础固件的状态。 用数据线通过USB把板子和电脑连接起来。

正常情况下你会在/dev/ 文件夹下面发现一个ttyUSBX的设备,X是一个数字可能是0,1之类的。确认自己的板子是对应哪个设备。

刷入固件

运行

sudo ./recovery-flash.sh ttyUSBX

如果你的设备是ttyUSB0那么你可以省略第二个参数
程序卡在了 wait for devices可能的原因是

1.你安装过modemmanager,这个程序会给我们的板子发数据导致程序写入失败。解决方法很简单,卸载这个软件
sudo apt-get purge modemmanager
2.你刷入了错误的固件。可能你的固件是从别的地方下载的,也可能是自己编译的。如果是这样那么很有可能是固件自身出了问题。

系统镜像

实际上在刷入上个基础固件的时候会自动的把系统镜像也刷入进去。这时候把板子上的开关设置为On Off On Off就可以启动系统了。第一次启动的时候要多等一会,因为Android要先初始化一下。

如果只是要刷系统固件可以只刷入系统固件中的下面几个文件。执行

sudo fastboot flash boot boot.img
sudo fastboot flash cache cache.img
sudo fastboot flash system system.img
sudo fastboot flash userdata  userdata.img

2.2 刷入Ubuntu

镜像下载

官方网址: https://www.96boards.org/
国内网站:http://smartfire.cn/forum-64-4.html

其中 Lebuntu 烧录之后就是 ubuntu16.04 (xenial),板载的wifi模块可以直接连无线网。

烧录过程

1、在Ubuntu虚拟机中安装烧录工具,下载镜像文件的压缩包并进行解压。

sudo apt-get install android-tools-adb
sudo apt-get install android-tools-fastboot
cd “下载目录”
tar -xvzf hikey970-lebuntu-16.04.tar.gz
cd hikey970-lebuntu-16.04

2、给 hikey970 板断电,将4位拨码开关拨到 ON OFF ON OFF,用USB type-c数据线将板子的 Type C 接口与 Ubuntu 虚拟机连接。

3、给板子通电后,在虚拟机中打开终端,使用 lsusb 指令查看是否有 Google Inc. 字样的USB设备,如果有则执行步骤4,如果没有则执行步骤5。

4、执行指令

 ./flash-all-binaries.sh

即可完成系统烧录。

5、注意仔细看第3条,当没有 Google Inc. 设备被识别时才执行这条。先将拨码改为 ON ON ON OFF,重启板子,查看USB终端编号

ls /dev/tty*

记住终端名称 /dev/ttyUSBx 其中 x 可能是 0、1、2等数字,在镜像文件的目录中执行

./binaries/recovery-flash.sh /dev/ttyUSBx

即可完成系统烧录。

6,烧录完成后,将拨码改为 ON OFF OFF OFF,其中第一个 ON 表示通电后立即启动。

7、登录系统,用户名和密码都是 shunya,在终端中查看系统详情。

#:lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.4 LTS
Release:        16.04
Codename:       xenial

修改分区

首先查看默认的分区空间,在 hikey970 上登录系统后在终端中输入指令

df -h

可以看到根目录只有不到 4GB 的空间。

扩展空间需要重新进行分区镜像文件的烧写。

下载地址:https://test-1252517595.cos.ap-guangzhou.myqcloud.com/media/hikey970/64gtoendprm_ptable.img

下载之后拷贝到 Ubuntu 虚拟机中。将hikey970拨码拨到 ON OFF ON OFF,用USB Type-C 数据线连接板子 TYPE C 接口和 Ubuntu 虚拟机(参考上述烧录步骤)。执行一条指令

sudo fastboot flash ptable 64gtoendprm_ptable.img
重新将拨码拨到 ON OFF OFF OFF,登录 hikey970 板载系统,在终端中输入指令 sudo fdisk -l 查看分区情况。

#: sudo fdisk -l
Device      Start      End  Sectors  Size Type
/dev/sdd1     256      511      256    1M Microsoft basic data
/dev/sdd2     512     3583     3072   12M Microsoft basic data
/dev/sdd3    3584     5119     1536    6M Microsoft basic data
/dev/sdd4    5120     8191     3072   12M Linux filesystem
/dev/sdd5    8192    73727    65536  256M Microsoft basic data
/dev/sdd6   73728    73983      256    1M Microsoft basic data
/dev/sdd7   73984    94463    20480   80M EFI System
/dev/sdd8   94464    98559     4096   16M EFI System
/dev/sdd9   98560   102655     4096   16M Microsoft basic data
/dev/sdd10 102656   106751     4096   16M Microsoft basic data
/dev/sdd11 106752   107263      512    2M Microsoft basic data
/dev/sdd12 107264 15611907 15504644 59.1G Linux filesystem

可以看到最后一个分区是 /dev/sdd12,大小接近60G。

输入指令 df -h,查看根目录大小是否变化。如果还是小于 4GB,则需要输入指令

sudo resize2fs /dev/sdd12

来手动调整分区大小,最终得到的结果是。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        59G  4.5G   52G   8% /
devtmpfs        2.8G     0  2.8G   0% /dev
tmpfs           2.9G     0  2.9G   0% /dev/shm
tmpfs           2.9G   17M  2.8G   1% /run
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           2.9G     0  2.9G   0% /sys/fs/cgroup
tmpfs           577M     0  577M   0% /run/user/107
tmpfs           577M     0  577M   0% /run/user/1000

根目录已经扩展到59GB。

2.3 安装ROS

添加ROS软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

添加key

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

开始安装

sudo apt-get update
sudo apt-get install ros-kinetic-desktop-full

配置环境

sudo rosdep init
rosdep updateecho "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc

安装编译软件包依赖

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

测试

roscore

成功!

参考文献:

[1]介绍+刷机 https://doc.bwbot.org/zh-cn/books-online/hikey970-doc/topic/461.html

[2]Ubuntu烧录 https://blog.csdn.net/SIR_wkp/article/details/86226611

[2] ROS安装 http://wiki.ros.org/kinetic/Installation/Ubuntu

华为海思Hikey 970+ Ubuntu16.04 Xenial +ROS kinetic相关推荐

  1. 踩坑NVIDIA Jetson TX2、Ubuntu16.04、ROS Kinetic安装

    踩坑NVIDIA Jetson TX2.Ubuntu16.04.ROS Kinetic安装 摘要 一.NVIDIA Jetson TX2环境配置 1.1开机使用图形化界面 1.2刷机 1.3修改TX2 ...

  2. Ubuntu16.04安装ROS kinetic以及标定工具Kalibr流程

    Ubuntu16.04安装ROS kinetic以及标定工具Kalibr流程 一.安装ROS Kinetic 二.安装kalibr 编译期间可能遇到的问题及解决方案: 一.安装ROS Kinetic ...

  3. Ubuntu16.04 安装ROS Kinetic 究级详细教程

    Ubuntu16.04 安装ROS Kinetic 究级详细教程 1. "软件和更新"进行配置 1.1 Ubuntu Software 1.2 Other Software 2. ...

  4. Ubuntu16.04安装ROS Kinetic详细步骤

    文章目录 ROS安装 配置Ubuntu软件仓库 设置sources.list 设置密钥 更新Debian软件包索引 安装ROS 初始化 rosdep 环境配置 构建工厂依赖 测试安装 开发环境 ROS ...

  5. Ubuntu16.04下ROS Kinetic的安装(2022)

    文章目录 Ubuntu16.04下ROS Kinetic的安装(2022) 一.Ubuntu16.04配置 二.ROS Kinetic安装过程 1.软件中心配置 2.ROS的下载安装 2.1添加源和密 ...

  6. ubuntu16.04安装ROS Kinetic步骤及安装出现的问题解决

    ubuntu16.04安装ROS Kinetic步骤及安装出现的问题解决 ROS kinetic官网:http://wiki.ros.org/kinetic/Installation/Ubuntu 1 ...

  7. ROS学习(开篇)Ubuntu16.04安装ROS Kinetic详细教程

    文章目录 前言 一.添加ROS软件源(sources.list) 二.添加密钥 三.更新apt功能包列表 四.安装ROS 五.初始化 rosdep 六.将ROS环境变量添加到.bashrc文件中 七. ...

  8. ubuntu16.04安装ros kinetic及遇到的问题

    安装过程主要是参考官网安装教程,官网链接如下 http://wiki.ros.org/kinetic/Installation/Ubuntu 注意,ros的kinetic版本,只支持Wily (Ubu ...

  9. Ubuntu16.04 安装 ROS Kinetic

    目录 1.安装ROS (1) 添加ROS软件源 (2)添加密钥KEY (3)更新系统 (4)安装ROS 2.配置ROS (1)初始化rosdep (2)ROS环境配置 (3)安装rosinstall ...

最新文章

  1. sql-case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end
  2. cordova ios的问题
  3. [转]使用C#调用金诚信71x系列读卡器的DLL
  4. Julie Desk:这个帮你安排会议的AI助手刚刚融了250万欧元
  5. 《IBM-PC汇编语言程序设计》(第2版)【沈美明 温冬婵】——第十一章——自编解析与答案
  6. .NET版Web后台快速开发框架 Coldairarrow
  7. 跨域调用WebService
  8. Android之父深入解析Android
  9. django ajax获取数据类型,Django:使用Ajax获取模板中的数据库对象值
  10. IPv6-IPv4过渡技术详解及配置实例
  11. vb.NET 关于进度条控件使用
  12. 进行桌面共享软件开发的市场前景如何
  13. 7.4 SiamFC
  14. java中的StringBuffer类
  15. 回炉重造 | C语言学习
  16. Pranava Pra 使用教程
  17. to be filed by oem
  18. 电脑没有WiFi断网代码56解决方法CCleaner下载
  19. c语言产生式系统动物识别系统,简单动物识别系统的知识表示实验报告
  20. elipse版本简介

热门文章

  1. 大红喜庆版UI猜灯谜又叫猜字谜威信小程序源码下载
  2. 服务器是由哪些硬件构成的?带你一探究竟!
  3. iOS wallet开发
  4. 优秀课程案例:使用Scratch制作七巧板!
  5. 营销理论扫盲贴:4P/4C/4R/4S
  6. C++ 程序 Crash 的分析
  7. 计算机设置定时关机win10,win10系统定时关机如何设置?
  8. 《程序员健康指南》作者Joe Kutner:在运动中工作
  9. html中锚记标记的隐藏,在 Dreamweaver 中选择、查看和设置不可见元素 - Dreamweaver 用户指南...
  10. a java runtime enviroment jre or java de,手把手教你启动报错:A java Runtime Environment(JRE)…...