BearPi-HM Micro 开发环境搭建

2023-11-12

1.资料下载

  • Ubuntu20.04(大小8G)下载地址(百度云)
  • Ubuntu18.04(大小4.8G)下载地址(百度云)
  • STM32CubeProgrammer
  • JRE
  • 虚拟机VMware Workstation
  • MobaXterm工具
  • RaiDrive工具
  • 开发板USB驱动
  • VS Code

部分软件(如JRE)只能安装在C盘(系统盘),安装在其它盘会报错

安装上述出现的软件,解压安装包

资料打包链接:

资料打包——Onedrive

2.设置VMware Workstation player

1.创建Ubuntu虚拟机

 选择BearPi-HM Micro Ubuntu.zip解压后的目录,选择.ovf为后缀的文件

设置虚拟机的名称,以及选择安装位置(选择可用空间较大的) 

2.网络设置

检查虚拟机是否连上网络

打开浏览器,地址栏随便输入地址(如baidu.com),看是否连上网

如果成功连接网络,网络设置这一步请忽略

如果网页无法打开,请将桥接模式,设置为 NAT模式

 

 3.获取IP地址

鼠标右键打开菜单栏,选择在终端中打开

 在终端中输入ifconfig

 记住图中的IP地址,如果这一步出现问题,请回到上一步网络设置。

3.设置MobaXterm

(保持虚拟机后台运行)

1.添加SSH 

 这里输入我们获取到的IP地址,选择OK

 2.添加账号

在这一步中输入用户名 bearpi

 输入密码:bearpi,注意,输入密码的时候屏幕不会显示,输完之后点击回车

 在弹出的界面上,点击Yes保存账号信息,以免下次输入

 MobaXterm配置完成

4.设置RailDrive

(保持虚拟机后台运行)

中文环境:

1.

 2.

3.

 

4.

 

在红框中填入我们之前获取的IP地址

账户和密码均为bearpi

ps.如果只读被选上的话请取消,图中为正确选择 

 

5.编译固件

(保持虚拟机,MobaXterm,RailDrive后台运行)

打开MobaXterm,进入已经添加的SSH

  1. 在MobaXterm中输入:

    cd /home/bearpi

    然后回车

  2. 在MobaXterm中输入:

    mkdir project && cd project

    然后回车

  3. 在MobaXterm中输入以下命令获取源码:

    git clone https://gitee.com/bearpi/bearpi-hm_micro_small.git

    然后回车,等待1-3分钟(根据不同网速)

  1. 在MobaXterm中输入以下指令,进入源码根目录

    cd /home/bearpi/project/bearpi-hm_micro_small/
  2. 在MobaXterm中输入:

    hb set 

    再输入"."(点)

    .

    选择“bearpi-hm_micro”,然后回车

  3. 在MobaXterm中输入:

    hb build -t notest --tee -f

     接下来需要等待较长时间。

  4. 当编译完后,在Windows中可以直接查看到最终编译的固件,具体路径在: \project\bearpi-hm_micro_small\out\bearpi_hm_micro\bearpi_hm_micro 其中有以下文件是后面烧录系统需要使用的。

    1. OHOS_Image.stm32:系统镜像文件

    2. rootfs_vfat.img:根文件系统

    3. userfs_vfat.img:用户文件系统

  5. 在MobaXterm中执行以下三条指令将以上三个文件复制到applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/下,以便后续烧录系统使用

    1. cp out/bearpi_hm_micro/bearpi_hm_micro/OHOS_Image.stm32 applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/
      cp out/bearpi_hm_micro/bearpi_hm_micro/rootfs_vfat.img applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/
      cp out/bearpi_hm_micro/bearpi_hm_micro/userfs_vfat.img applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/

6.连接开发板 

  1. 通过TypeC数据线,把电脑与BearPi-HM Micro连接。

  2. 关闭虚拟机捕获USB功能。(有很多开发者都是因为虚拟机捕获了USB设备,导致本机Windows电脑看不到串口)

  3. 查看开发板的串口

     

      

7.烧录镜像 

1.将开发板的拨码开关上拨到“000”烧录模式,并按一下开发板的RESET按键

 2.在Windows打开STM32CubeProgrammer工具,选择“USB”烧录方式,再点击刷新按钮,然后点击"Connect"。

3.点击STM32CubeProgrammer工具的“+”按钮,然后选择烧录配置的tvs文件。(要保持RailDrive为打开状态)

一般路径为Z:\home\bearpi\project\bearpi-hm_micro_small\applications\BearPi\BearPi-HM_Micro\tools\download_img\flashlayout

 

4.点击Browse按钮,然后选择工程源码下的烧录镜像路径

一般路径为Z:\home\bearpi\project\bearpi-hm_micro_small\applications\BearPi\BearPi-HM_Micro\tools\download_img

(只需要修改盘符,我的是Z盘,可能会K,J盘,即Z:\home\bearpi\project\bearpi-hm_micro_small\applications\BearPi\BearPi-HM_Micro\tools\download_img)

 5.点击Download按钮启动镜像烧录,并等待烧录完毕。

8.启动开发板进入终端

  1. 打开MobaXterm,

    1. 点击:SessionSerial按钮

    2. 设置Seral port为 设备COM号

    3. 设置Speed为 115200

    4. 点击OK

  2. 将开发板的拨码开关拨至“010”emmc启动模式,并按一下开发板的“RESET”按钮复位开发板。

  3. MobaXterm上打印出运行日志,等待启动日志运行结束,按键盘“回车”按键进入开发板shell终端,输入例如"ls"命令,可与开发板交互。

  4. 开发板屏幕出现桌面及预安装的"setting"应用,点击"setting"应用可查看系统信息。

至此鸿蒙的开发环境已经搭建完毕

对于官方提供的文件 《鸿蒙Ubuntu18.4镜像OVF.zip》在我的电脑上建立虚拟机后并不能启用hb set功能,在换为《BearPi-HM Micro Ubuntu.zip》后则能正常使用,尚不知道什么缘故。

部分的图来源于applications/BearPi/BearPi-HM_Micro/docs/device-dev/BearPi-HM_Micro十分钟上手.md · 小熊派开源社区/BearPi-HM_Micro_small - Gitee.com

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

BearPi-HM Micro 开发环境搭建 的相关文章

  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • Linux:如何从特定端口发送TCP数据包?

    如何打开原始套接字以从特定 TCP 端口发送 我希望所有连接始终来自临时端口以下的一系列端口 如果您正在使用raw套接字 然后只需在数据包标头中填写正确的 TCP 源端口即可 相反 如果您使用 TCP 套接字接口 socket connec
  • 如何在shell中输出返回码?

    我正在尝试通过调用自定义 shell 脚本sh bin sh c myscript sh gt log txt 2 gt 1 echo 该命令的输出是创建的后台进程的 PID 我想指导 bin sh保存返回码myscript sh到某个文件
  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 有谁知道在哪里定义硬件、版本和序列号。 /proc/cpuinfo 的字段?

    我想确保我的 proc cpuinfo 是准确的 目前它输出 Hardware am335xevm Revision 0000 Serial 0000000000000000 我可以在代码中的哪里更改它以给出实际值 这取决于 Linux 的
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • 没有名为“PIL”的模块

    当我尝试时遇到错误 from PIL import Image ImageFilter 在 Python 文件中我收到一条错误消息ModuleNotFoundError No module named PIL 到目前为止 我已经尝试卸载 重
  • 多处理:仅使用物理核心?

    我有一个函数foo它消耗大量内存 我想并行运行多个实例 假设我有一个有 4 个物理核心的 CPU 每个核心有两个逻辑核心 我的系统有足够的内存来容纳 4 个实例foo并行但不是 8 个 此外 由于这 8 个核心中的 4 个是逻辑核心 我也不
  • CoAP数据包的大小是多少?

    我是这项技术的新手 有人可以帮助我了解一些疑问吗 Q 1 CoAP数据包的大小是多少 我知道有 4 字节固定标头 但是包括标头 选项和负载在内的最大大小限制是多少 Q 2 有像MQTT那样的Keep Alive的概念吗 它在UDP上工作 它
  • 我不明白 execlp() 在 Linux 中如何工作

    过去两天我一直在试图理解execlp 系统调用 但我还在这里 让我直奔主题 The man pageexeclp 将系统调用声明为int execlp const char file const char arg 与描述 execl exe
  • 如何减去两个 gettimeofday 实例?

    我想减去两个 gettimeofday 实例 并以毫秒为单位给出答案 这个想法是 static struct timeval tv gettimeofday tv NULL static struct timeval tv2 gettime
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 子目录中的头文件(例如 gtk/gtk.h 与 gtk-2.0/gtk/gtk.h)

    我正在尝试使用 GTK 构建一个 hello world 其中包括以下行 include
  • 如何构建任务“gems:install”

    我正在将 Rails 应用程序部署到 Linux 服务器 并且缺少一些 rake 任务 包括 rake gems install 和 rake db 我正在运行来自 GEM 的 Rails 2 3 4 为什么是这样 我该如何解决 我可以以某
  • Pycharm 中的 Traitlets.traitlets.TraitError

    我是Python的初学者 我面临以下问题 每当我启动 pycharm 社区版 版本 5 0 3 时 Python 控制台无法启动并显示以下错误 usr bin python2 7 usr lib pycharm community help
  • PyQt5 - 无法使用 QVideoWidget 播放视频

    from PyQt5 QtWidgets import from PyQt5 QtMultimedia import from PyQt5 QtMultimediaWidgets import from PyQt5 QtCore impor
  • git 错误:无法处理 https

    当我尝试使用 git clone 时https xxx https xxx我收到以下错误我不处理协议 https 有人可以帮我吗 完整消息 dementrock dementrock A8Se git 克隆https git innosta

随机推荐

  • Mybatis Cannot convert string to java.sql.Timestamp value;

    生成默认无参构造函数
  • SpringAop使用的到底是JDK动态代理还是Cglib?

    1 从源码分析 optimize标志已设置 也就是为true 设置proxyTargetClass 目标代理类 标志 更改proxyTargetClass 目标代理类 标志的方法 没有指定代理接口 2 错误的推论 3 最终的推论 什么时候使
  • CodeGeeX中这些隐藏的设置,你知道吗?

    随着CodeGeeX整体性能的升级 越来越多的用户发现CodeGeeX的很多实用功能 能够帮助程序员更快更好的编写代码和解决技术问题 近期 我们看到许多用户在使用CodeGeeX的过程中 有一些相似的疑问 比如 很多人希望能够通过调整设置
  • 以太网流量控制——PAUSE帧

    http www tuicool com articles Bzu2uuf 今天在测试DPDK性能的时候 发现发包工具的发包速率无法提升上去 千兆网卡设置速率70W qps 只能发出1W的速率 抓包发现有大量的PAUSE流控帧 一 PAUS
  • High-resolution Face Swapping via Latent Semantics Disentanglement

    High resolution Face Swapping via Latent Semantics Disentanglement 人脸视频交换 从浅层派生结构属性 从深层派生外观属性 结构转移潜在方向 进一步分离结构属性中的身份和姿态信
  • 【算法学习笔记】20:朴素Dijkstra与堆优化Dijkstra(无负权边单源点最短路)

    Dijkstra算法用于在所有边权都非负的图上 求单源点最短路 设 n n n是图上结点的数量 m m m是边的数量 则朴素Dijkstra算法的时间复杂度是 O
  • Oracle 定时任务详解(dbms_job)

    文章目录 1 概述 2 dbms job 2 1 提交 2 2 暂停 2 3 修改 2 4 运行 2 5 删除 1 概述 1 数据来源包 dbms job Oracle 10g 前常用 2 目前已被 dbms scheduler 所取代 且
  • 百亿补贴通用H5导航栏方案

    背景 在移动端页面中 由于屏幕空间有限 导航条扮演着非常重要的角色 提供了快速导航到不同页面或功能的方式 用户也通常会在导航条中寻找他们感兴趣的内容 因此导航条的曝光率较高 在这样的背景下 提供一个动态灵活的导航条 为产品赋能 变得尤其重要
  • unity 获取小车速度及前进或者后退

    项目需要获得小车移动的数据 用来驱动轮子正传或者反转 所以得想法获取小车的移动量 首先想到的是 使用Unity的API Rigidbody velocity 但是实际操作起来却不是那么回事 貌似Rigidbody velocity只能响应物
  • 黑苹果必备OC配置工具OpenCore Configurator 2.12.0.0中文版

    OpenCore Configurator 中文版是非常优秀的一款黑苹果OC配置工具 可以通过提供更加通用和模块化的系统来解决Clover带来的限制和问题 拦截内核加载以插入高级的rootkit 而该rootkit旨在替代Clover Op
  • Leetcode 78. 子集(回溯法)

    子集 回溯法 class Solution List
  • 内网渗透篇

    域信息搜集命令 1 查询当前环境 whoami ipconfig all 2 查询当前域用户 net user domain 3 查询域控 net time 4 查询域工作组 net group domain 5 查询域管理用户 net g
  • Java学习笔记

    public char charAt int index 根据索引返回字符 public int length 返回此字符的长度 数组的长度 数组名 length 字符串的长度 字符串对象 length StringBuilder Stri
  • 黑马程序员-微信小程序-Day3笔记(P38-P59)

  • CMD命令进入某个目录

    1 开始 gt 运行 gt CMD 2 进入某个磁盘 直接盘符代号 如D 不用CD 命令切换 3 进入除根录以下的文件夹 cd 文件夹路径 例如我要进入 E Program Files PHP 就 输入 E 回车 注 不 能在一打开CMD的
  • 折半查找不成功的平均查找长度怎么算_算法基础:常用的查找算法知识笔记

    1 查找表和查找效率的概念查找表是指由同一类型的数据元素构成的集合 分为静态查找表和动态查找表 1 1 静态查找表1 查询某个特定元素是否在查找表的集合当中2 查询某个特定元素的各种属性 1 2 动态查找表1 在查找表中插入一个数据元素2
  • 如何在命令行中使用 ftp 命令上传和下载文件

    转摘 https linux cn article 6746 1 html 本文中 介绍在 Linux shell 中如何使用 ftp 命令 包括如何连接 FTP 服务器 上传或下载文件以及创建文件夹 尽管现在有许多不错的 FTP 桌面应用
  • 音视频同步-时间戳

    媒体内容在播放时 最令人头痛的就是音视频不同步 从技术上来说 解决音视频同步问题的最佳方案就是时间戳 首先选择一个参考时钟 要求参考时钟上的时间是线性递增的 生成数据流时依据参考时钟上的时间给每个数据块都打上时间戳 一般包括开始时间和结束时
  • vuejs+element UI table的常见的属性及事件

    一 table组件的方法 事件 查看官网 二 常用的事件 属性 一 属性 1 多选框 type selection 需要实现勾选的功能 在
  • BearPi-HM Micro 开发环境搭建

    1 资料下载 Ubuntu20 04 大小8G 下载地址 百度云 Ubuntu18 04 大小4 8G 下载地址 百度云 STM32CubeProgrammer JRE 虚拟机VMware Workstation MobaXterm工具 R