鸿蒙设备-开发板基础学习(BearPi-HM Micro)

2024-01-09 01:04

本文主要是介绍鸿蒙设备-开发板基础学习(BearPi-HM Micro),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


theme: minimalism

每当学习一门新的编程语言或者上手一款新的开发板,在学习鸿蒙设备开发过程中,带大家写的第一个程序,通过这个程序,我们可以对鸿蒙设备开发的整个流程有一个初步的体验。BearPi-HM Micro开发板为例:

BearPi-HM Micro是什么?

BearPi-HM_Micro_Small的意思是小熊派的“BearPi-HM Micro开发板 + OpenHarmony小型系统”。BearPi-HM Micro是一款使用STM32MP157处理器的鸿蒙开发板,目前提供使用LiteOS-A操作系统内核OpenHarmony 3.0发行版源码下载。

BearPi-HM Micro开发板原理图

1.Typec电路原理图

2.音频电路原理图

3.Wi-Fi电路原理图

4.屏幕显示电路原理图

5.E53电路原理图

6.S24电路原理图

环境搭建

1.硬件要求

  • Linux服务器
  • Windows工作台(主机电脑)
  • BearPi-HM_Micro开发板
  • USB Type-C线(Windows工作台通过USB与BearPi-HM_Micr开发板连接)

2.软件要求

3.Linux构建工具要求

4.Windows开发工具要求

5.工具下载地址

安装编译基础环境

1.安装Linux编译环境

将Linux shell改为bash

查看shell是否为bash,在终端运行如下命令

ls -l /bin/sh

如果为显示为/bin/sh -> bash则为正常,否则请按以下方式修改:

方法一:在终端运行如下命令,然后选择 no。

sudo dpkg-reconfigure dash

方法二:先删除sh,再创建软链接。

rm -rf /bin/sh
sudo ln -s /bin/bash /bin/sh

2.修改镜像源

打开/etc/apt路径下的sources.list文件

将原本的镜像源改为中科大镜像源,然后关闭文件并保存

deb Index of /ubuntu/ bionic main restricted universe multiverse
deb-src Index of /ubuntu/ bionic main restricted universe multiverse
deb Index of /ubuntu/ bionic-updates main restricted universe multiverse
deb-src Index of /ubuntu/ bionic-updates main restricted universe multiverse
deb Index of /ubuntu/ bionic-backports main restricted universe multiverse
deb-src Index of /ubuntu/ bionic-backports main restricted universe multiverse
deb Index of /ubuntu/ bionic-security main restricted universe multiverse
deb-src Index of /ubuntu/ bionic-security main restricted universe multiverse
deb Index of /ubuntu/ bionic-proposed main restricted universe multiverse
deb-src Index of /ubuntu/ bionic-proposed main restricted universe multiverse

更新镜像源

sudo apt-get update

3.安装必要的库和工具

使用如下apt-get命令安装编译所需的必要的库和工具:

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

安装Python3

打开Linux编译服务器终端。

输入如下命令,查看python版本号,若为python3.7+可跳过安装Python3步骤:

python3 --version

如果低于python3.7版本,不建议直接升级,请按照如下步骤重新安装。以python3.8为例,按照以下步骤安装python。

运行如下命令,查看Ubuntu版本

cat /etc/issue

设置python和python3软链接为python3.8。

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1

安装并升级Python包管理工具(pip3)

apt install python3-pip

4.安装hb

运行如下命令安装hb

python3 -m pip install --user ohos-build==0.4.3

设置环境变量

vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/.local/bin:$PATH

执行如下命令更新环境变量。

source ~/.bashrc

执行"hb -h",有打印以下信息即表示安装成功:

5.安装mkimage.stm32

新建tools目录

mkdir ~/tools

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

执行以下命令修改mkimage.stm32工具权限

chmod 777 ~/tools/mkimage.stm32

设置环境变量

vim ~/.bashrc

将以下命令拷贝到.bashrc文件的最后一行,保存并退出。

export PATH=~/tools:$PATH

执行如下命令更新环境变量。

source ~/.bashrc

5.映射网络磁盘

打开RaiDrive软件,添加链接信息

三、获取源码

创建文件夹:mkdir project 打开文件夹:cd project 输入下列命令行:git clone https://gitee.com/bearpi/bearpi-hm_micro_small.git 等待源码下载。

四、源码编译

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

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

在MobaXterm中输入:

hb set

再输入"."(点)

.

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

在MobaXterm中输入:

hb build -t notest --tee -f

然后回车,等待直到屏幕出现:build success字样,说明编译成功。

在project\bearpi-hm_micro_small\out\bearpi-hm_micro\bearpi-hm_micro路径下

找到以下三个文件:

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

输入以下命令:

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/

五、烧录镜像

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

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

点击STM32CubeProgrammer工具的“+”按钮,然后选择烧录配置的tvs文件。

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

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

六、启动开发板进入终端

打开MobaXterm,

点击:Session、Serial按钮

设置Seral port为 第一-4 查看到的COM号

设置Speed为 115200

点击OK

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

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

开发板屏幕出现桌面及预安装的"setting"应用

本文内容是鸿蒙开发中对开发板技术的简单运用,更多的鸿蒙开发技术可以前往我主页查询,下面分享鸿蒙开发4.0技术分布(略缩图):

高清完整版技术学习路线图如下寻找保存(附鸿蒙文档)

这篇关于鸿蒙设备-开发板基础学习(BearPi-HM Micro)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/585443

相关文章

华为鸿蒙HarmonyOS 5.1官宣7月开启升级! 首批支持名单公布

《华为鸿蒙HarmonyOS5.1官宣7月开启升级!首批支持名单公布》在刚刚结束的华为Pura80系列及全场景新品发布会上,除了众多新品的发布,还有一个消息也点燃了所有鸿蒙用户的期待,那就是Ha... 在今日的华为 Pura 80 系列及全场景新品发布会上,华为宣布鸿蒙 HarmonyOS 5.1 将于 7

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin