【HarmonyOS】小熊派鸿蒙系统搭建

简介: 【HarmonyOS】小熊派鸿蒙系统搭建

一、BearPi-HM Micro 开发板介绍

BearPi-HM Micro开发板是一块高度集成并可运行Openharmony系统的开发板,板载高性能的工业级处理器STM32MP157芯片,搭配4.3寸LCD电容式触摸屏,并板载wifi电路及标准的E53接口,标准的E53接口可扩展智能加湿器、智能台灯、智能安防、智能烟感等案例。可折叠式屏幕设计大大提高用户开发体验,便于携带和存放,更好地满足不同用户的需求,拓展无限可能。

二、Linux镜像下载

下载官方提供镜像(任选一种方式下载)


三、BearPi-HM Micro编译环境配置

在完成上面的镜像下载后,我们需要对BearPi-HM Micro环境进行编译环境的配置

1.首先添加如下镜像源

vi /etc/apt/source.list
# 添加中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

2.更新镜像源

sudo apt-get update

3.安装依赖库及工具

sudo apt-get install build-essential gcc g++ make zlib* libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev libc6-dev-amd64 binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils gcc-arm-linux-gnueabi cpio device-tree-compiler net-tools openssh-server git vim openjdk-11-jre-headless

4.安装hb

# 安装hb命令
python3 -m pip install --user ohos-build==0.4.3
# 环境变量配置
sudo vim ~/.bashrc
# 在.bashrc文件最后一行添加如下代码,并保存退出
export PATH=~/.local/bin:$PATH
# 更新环境变量
source ~/.bashrc

5.测试hb是否安装成功

hb -h

四、安装mkimage工具

首先解释这个工具的用途:用来制作不压缩或者压缩的多种可启动映象文件。

1.新建tools目录

mkdir ~/tools

2.下载mkimage.stm32工具到~/tools目录,并复制到/home/bearpi/tools/目录下

3.修改mkimage.stm32文件权限

chmod 777 ~/tools/mkimage.stm32

4.设置环境变量

vim ~/.bashrc
# 将下面的代码拷贝至.bashrc文件最后,并保存退出
export PATH=~/tools:$PATH
# 更新环境变量
source ~/.bashrc

五、bearpi镜像导入VMware

准备好前面的Linux镜像,并解压该文件,打开VMware station,选择上方导航栏:文件->打开(O),选择我们Linux镜像中的BearPi-HM_Micro_Ubuntu.ovf文件,等待镜像文件的导入,开始登录

账户:bearpi
密码:bearpi

首先将网络连接模式更改为NAT模式,选择上方导航栏:虚拟机(M)->设置->网络适配器->NAT模式

此时打开一个终端,输入ifconfig查看ip

六、源码获取

cd /home/bearpi
mkdir project && cd project
git clone https://gitee.com/bearpi/bearpi-hm_micro_small.git

七、编译代码

首先进入到项目文件夹中

cd /home/bearpi/project/bearpi-hm_micro_small/

执行如下命令(普通用户模式终端下):

hb set

出现[OHOS INFO] Input code path: 提示信息后再输入.

我们选择bearpi-hm_micro后回车

输入下面的命令,等待下载程序完成

hb build -t notest --tee -f

当出现build success时,即代表编译成功

八、查看编译出的固件位置

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

  • OHOS_Image.stm32:系统镜像文件
  • rootfs_vfat.img:根文件系统
  • userfs_vfat.img:用户文件系统

我们将这三个文件复制到该目录下:/home/bearpi/project/bearpi-hm_micro_small/applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/,方便后续烧录系统使用

cp -r OHOS_Image.stm32 rootfs_vfat.img userfs_vfat.img /home/bearpi/project/bearpi-hm_micro_small/applications/BearPi/BearPi-HM_Micro/tools/download_img/kernel/

九、固件烧录

1.准备工作

2.连接开发板

首先将电脑的虚拟机和RailDriver打开,确保SFTP服务能够正常使用。(关于RailDriver配置可以查看这篇文章:【Linux系统开发】Ubuntu配置SFTP服务

当计算机本地磁盘出现一个SFTP(Y:)的网络盘符出现即代表服务能正常使用。

我们将开发板的usb接口连接到电脑,此时由于虚拟机会识别到设备,我们选择连接到本机

3.镜像烧录

  • 首先将开发板的拨码开关拨至“000”模式,然后再按下Reset键。
  • 打开STM32CubeProgramme,选择USB设备和正确的端口后,点击Connect连接小熊派。
  • 点击STM32CubeProgrammer工具的“+”按钮,然后选择烧录配置的tvs文件(路径:Y:\home\bearpi\project\bearpi-hm_micro_small\applications\BearPi\BearPi-HM_Micro\tools\download_img\flashlayout\bearpi-hm_micro.tsv)。
  • 点击Browse按钮,然后选择工程源码下的烧录镜像路径
  • 点击下载,等待烧录成功,中间会有一次断开连接,需要再虚拟机界面再次选择将USB设备连接到主机

4.启动系统

将开发板背面的拨码开关切换至“010”启动模式,并按一下RESET重启开发板,之后等待几秒中会看到屏幕中出现桌面及预装软件,之后就可以结合SSH进行远程终端开发了。

目录
相关文章
|
19天前
|
移动开发 JavaScript 前端开发
HarmonyOS鸿蒙应用开发——探索原生与H5通信框架DSBridge
HarmonyOS版DSBridge是一个桥梁库,允许鸿蒙原生环境与JavaScript交互。它兼容Android和iOS的第三方DSBridge核心功能,支持同步和异步调用、命名空间API管理、进度回调及页面关闭监听等功能。主要特性包括适配鸿蒙NEXT版本、支持串行异步并发任务、兼容DSBridge 2.0与3.0版本JS脚本,并提供类形式集中管理API及自定义页面组件注册。源码仓库:HarmonyOS版 - DSBridge-HarmonyOS。安装命令为`ohpm install @hzw/ohos-dsbridge`。通过该库,开发者可以方便地在鸿蒙系统中实现原生与JS的高效交互。
95 1
|
13天前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
128 81
|
10天前
|
UED
「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统
本篇教程将实现一个模拟火车票查询系统,通过输入条件筛选车次信息,并展示动态筛选结果,学习事件处理、状态管理和界面展示的综合开发技巧。
44 13
|
16天前
|
Android开发 iOS开发 API
鸿蒙开发:适配系统深浅色模式
无论是Android还是iOS,在系统设置中,都有着深色和浅色两种外观模式,同样,鸿蒙系统中也存在这样的外观切换,如何让自己的应用,跟随着系统的模式进行动态切换呢?目前系统给我们提供了两种方式可以实现,一种是资源形式,一种是动态的代码形式。
66 15
鸿蒙开发:适配系统深浅色模式
|
7天前
|
人工智能 安全 JavaScript
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS纯血鸿蒙新特性
HarmonyOS 3.1引入了Stage模型,增强ArkTS语言、应用程序框架、Web、ArkUI等子系统能力。新增功能包括Ability框架的Stage开发模型、ArkUI组件能力提升、应用包管理接口、公共基础类库支持Buffer读写、Web服务文档预览及编辑、图形图像编解码支持等。从API 9开始,Stage模型成为主要开发模型,支持更灵活的应用生命周期管理和窗口调度,提供更好的组件与窗口弱耦合体验。此外,HarmonyOS NEXT开发者预览版实现了全面自研,被称为“纯血鸿蒙”,具备自主可控、高度弹性、更强的安全性和隐私保护特性。
59 21
|
18天前
|
安全 API 数据安全/隐私保护
自学记录HarmonyOS Next DRM API 13:构建安全的数字内容保护系统
在完成HarmonyOS Camera API开发后,我深入研究了数字版权管理(DRM)技术。最新DRM API 13提供了强大的工具,用于保护数字内容的安全传输和使用。通过学习该API的核心功能,如获取许可证、解密内容和管理权限,我实现了一个简单的数字视频保护系统。该系统包括初始化DRM模块、获取许可证、解密视频并播放。此外,我还配置了开发环境并实现了界面布局。未来,随着数字版权保护需求的增加,DRM技术将更加重要。如果你对这一领域感兴趣,欢迎一起探索和进步。
81 18
|
17天前
|
编解码 人工智能 开发框架
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS技术理念
HarmonyOS在万物智联时代提出了三大技术理念:一次开发,多端部署;可分可合,自由流转;统一生态,原生智能。通过多端开发环境、多端开发能力和多端分发机制,HarmonyOS显著降低了开发成本,提升了开发效率。开发者只需一套工程即可实现多设备应用的高效开发与部署。元服务作为轻量化程序实体,支持跨设备无缝流转,提供便捷服务。同时,HarmonyOS内置强大的AI能力,助力开发者快速实现应用智能化。
80 16
|
19天前
|
物联网 开发工具 Android开发
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS产生的背景
HarmonyOS是华为自主研发的分布式操作系统,旨在应对美国“实体清单”带来的技术封锁。2019年首次亮相,它不仅支持手机、平板等多终端设备,还通过统一的软件系统解决了不同设备间的体验割裂问题。HarmonyOS强调全场景智能互联,提升设备间的安全性和协同能力。其商用版本基于OpenHarmony开源项目开发,而HarmonyOS NEXT则是去除了AOSP代码的纯自研版本,代表了未来发展方向。
83 12
|
自然语言处理 JavaScript 前端开发
一文了解HarmonyOS系统架构
HarmonyOS是一款面向 万物互联时代的、全新分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于`同一套系统能力`、`适配多种终端形态`的分布式理念。能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
2427 0
一文了解HarmonyOS系统架构
|
12天前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
72 47
Harmony OS开发-ArkTS语言速成二