OpenHarmony设备开发入门学习笔记——快速入门

举报
yd_266832696 发表于 2025/05/31 22:24:31 2025/05/31
【摘要】 文中链接有效期为2024年,如今可能过期了。 一、OpenHarmony系统认识OpenHarmony 是由开放原子开源基金会主导的开源操作系统项目,旨在为多种终端设备提供统一的操作系统平台。它具有分布式特性,支持多种硬件架构,适用于物联网(IoT)、移动终端、智能家居、工业控制等多个场景。OpenHarmony 的设计目标是实现“万物互联”,通过模块化架构满足不同设备对操作系统能力的需求。...

文中链接有效期为2024年,如今可能过期了。

一、OpenHarmony系统认识

image.png
OpenHarmony 是由开放原子开源基金会主导的开源操作系统项目,旨在为多种终端设备提供统一的操作系统平台。它具有分布式特性,支持多种硬件架构,适用于物联网(IoT)、移动终端、智能家居、工业控制等多个场景。OpenHarmony 的设计目标是实现“万物互联”,通过模块化架构满足不同设备对操作系统能力的需求。

  1. 轻量系统(Lite System)
    • 对应内核:LiteOS-M
    • 适用设备:面向 MCU(微控制单元)类处理器,例如 Arm Cortex-M、RISC-V 等 32 位设备。
    • 特点:占用资源极少、实时性强、启动快,适用于资源极为有限的嵌入式设备

  1. 小型系统(Small System)
    • 对应内核:LiteOS-A 或 Linux
    • 适用设备:面向轻量级应用处理器(如 Arm Cortex-A)
    • 最小运行内存要求:1 MiB
    • 特点:提供基本的图形、网络、多任务能力;适合智能穿戴、智能家居中控、简单平板等设备

  1. 标准系统(Standard System)
    • 对应内核:Linux
    • 适用设备:面向高性能应用处理器(如 Arm Cortex-A)
    • 最小运行内存要求:128 MiB
    • 特点:提供完整的图形、多媒体、安全等功能;可支持复杂的智能设备如手机、平板、电视等

二、设备开发流程(Windows+Linux)

image.png

2.1 基于IDE

完全采用IDE进行一站式开发,编译依赖工具的安装及编译、烧录、运行都通过IDE进行操作。

  • 在Windows上主要进行代码开发、代码调试、烧录等操作。
  • 在Ubuntu环境实现源码编译。
    DevEco Device Tool提供界面化的操作接口,可以为您提供更快捷的开发体验。

2.2 基于命令行(主流)

通过终端命令行方式下载安装编译依赖工具,在Linux系统中进行编译时,相关操作通过命令实现;在Windows系统中使用开发板厂商提供的工具进行代码烧录。 命令行方式提供了简便统一的工具链安装方式。

2.2.1 Linux的形式

image.png

  1. 服务器
    • 解释:在云服务器或物理服务器上直接部署 Linux 系统(如 Ubuntu)。
    • 用途:适合部署高性能服务(如 Web 服务、数据库、API 等)。
    • 示例:使用阿里云、腾讯云等提供的 Ubuntu 服务器。

  1. WSL(Windows Subsystem for Linux)
    • 解释:在 Windows 操作系统中通过微软提供的 WSL 功能,运行一个 Linux 子系统。
    • 用途:适合 Windows 用户在不安装虚拟机的情况下使用 Linux 命令行和工具。
    • 示例:在 Windows 上安装 Ubuntu WSL,进行编程、运行 shell 脚本等。

  1. WSL + Docker
    • 解释:在 WSL 的基础上运行 Docker 容器技术,实现进一步的系统隔离和应用部署。
    • 用途:适合开发者在 Windows 中使用 Docker 环境开发、测试和部署应用。
    • 优势:兼顾了 WSL 的轻量与 Docker 的灵活容器化能力。

  1. 虚拟机
    • 解释:通过虚拟机软件(如 VMware、VirtualBox)在 Windows 或 macOS 上运行一个完整的 Linux 系统。
    • 用途:适合需要完整 Linux 桌面或服务器环境的用户。
    • 特点:资源占用较高,但功能完整,适合模拟复杂场景。
    image.png

2.2.2 Ubuntu环境配置

  • 版本要求18.04以上的版本,
  • 内存推荐16 GB及以上,
  • 用户名、路径名不能包含中文
  • 换源
  • 创建一个存放源码的文件夹(到时候源码不能直接下载在根目录/或者家目录/home/user1下)
  • 安装库和工具集
    使用如下apt-get命令安装后续操作所需的库和工具:
    (Ubuntu18)sudo apt-get update && sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib gcc-arm-linux-gnueabi libc6
    (Ubuntu20) sudo apt install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g+±multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib3
  • 将Python3.8设置为默认Python版本
    查看Python 3.8的位置:
    which python3.8
    将Python和Python3切换为Python 3.8:
    sudo update-alternatives --install /usr/bin/python python {Python 3.8 路径} 1 #{Python 3.8 路径}为上一步查看的Python 3.8的位置
    sudo update-alternati
  • 配置Git环境
    git config --global user. name “yourname”
    git config --global user.email “your-email-address”
    git config --global credential.helper store(设置git凭证存储方式)
  • 安装码云repo工具
    下面以ohos用户为例,直接安装在家目录下,也可以下载在/usr/local/bin/repo下(这个需要root权限)
    mkdir ~/bin #创建文件夹
    curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 -o ~/bin/repo
    chmod a+x ~/bin/repo
    pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
    vim ~/.bashrc # 编辑环境变量
    export PATH=~/bin:$PATH # 在最后添加一行repo路径信息
    source ~/.bashrc # 应用环境变量

2.2.3获取源码

说明: 发布分支代码相对比较稳定,通常用于商用功能开发。Master主干为开发分支,开发者可通过Master主干获取最新特性。
OpenHarmony发布分支代码获取
zh-cn/release-notes/Readme.md · OpenHarmony/docs
image.png
image.png
以主干代码为例
repo init -u git@gitee.com:openharmony/manifest.git -b master --no-repo-verify #代码仓初始化
repo sync –c #同步代码
repo forall -c 'git lfs pull’ #下载所有代码仓所需的大文件

执行prebuilts(预编译)
在源码根目录下执行prebuilts脚本,安装编译器及二进制工具。
bash build/prebuilts_download.sh

2.2.4编译

• 建议使用build.sh脚本编译,跟hb相比更加灵活
《如何让加快OpenHarmony编译速度 - 文章 OpenHarmony开发者论坛》
• 编译rk3568镜像:./build.sh --product-name rk3568 --ccache
• 不编译SDK:最后加参数–no-prebuilt-sdk
• 编译特定模块:./build.sh --product-name rk3568 --build-target 模块名 –ccache
编译构建
image.png
image.png

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。