HCIA-HarmonyOS设备开发认证-2.设备开发入门

news/2024/7/21 9:52:11 标签: harmonyos, 华为

在这里插入图片描述

目录

  • HarmonyOS设备开发学习路径
  • 一、开发项目与工具介绍
    • 1.1、设备开发环境准备
    • 1.2、设备开发流程
    • 1.3、Huawei DevEco Device Tool
  • 二、OpenHarmony介绍
    • OpenHarmony目录结构详细介绍
      • applications目录详解
      • base目录详解
      • foundation目录详解
    • OpenHarmony接口分层介绍
      • CMSIS 和 POSIX 整体架构
      • CMSIS 架构
      • POSIX 架构
    • 组件开发介绍
    • HPM
  • 三、思考题
  • 坚持就有收获

HarmonyOS设备开发学习路径

请添加图片描述

一、开发项目与工具介绍

1.1、设备开发环境准备

  • Window、Linux开发环境
    请添加图片描述

  • 软件安装列表

windows提供代码编辑和程序烧录环境,Ubuntu提供编译环境

安装环境安装内容作用版本说明
Ubuntu20.04Pyton编译构建工具3.8.5的64位版本
Ubuntu20.04Pyton编译构建工具3.8.5的64位版本
Ubuntu20.04Pyton编译构建工具3.8.5的64位版本
Ubuntu20.04Pyton编译构建工具3.8.5的64位版本
Window10Vscode代码编辑工具64位最新版本
Window10Python编译构建工具≥3.7.3的64位版本
Window10Node.js提供npm环境64位最新版本
Window10hpm包管理工具64位最新版本
Window10DevEco Device Tool源码的编辑,烧录,调试64位最新版本
Window10(可选安装)Hiburn烧录工具64位最新版本

1.2、设备开发流程

请添加图片描述

1.3、Huawei DevEco Device Tool

  • 支持HarmonyOS的组件按需定制
  • 支持代码编辑,编译,烧录和调试
  • 支持C/C++语言
  • 以插件的形式部署在Vscode上

二、OpenHarmony介绍

OpenHarmony目录结构详细介绍

  • OpenHarmony项目的目录结构中,共有16个1级目录文件夹。
    • applications目录中主要存放了用户的应用程序;
    • base目录识HarmonyOS Framework的基础能力集合,定位于大多数设备开发需要的能力模块;
    • untils目录作为公共基础库,存放通用的基础组件。
.
├── applications/sample         //应用程序样例
├── base                        //基础软件服务子系统
├── build                       //组件化编译和构建
├── developtools                //开发工具
├── device                      //设备相关文件
├── docs                        //说明文档
├── domains                     //增加软件服务子系统
├── drivers                     //驱动
├── foundation                  //系统基础能力
├── kernel                      //内核子系统
├── out                         //编译输出文件
├── prebuilts                   //编辑器及工具子系统
├── test                        //测试子系统
├── third_party                 //开源第三方组件
└── vendor                      //厂商提供的软件
...

applications目录详解

  • applications目录主要存放用户的应用程序,或是HarmonyOS预置的系统应用程序。
...

base目录详解

  • base目录识HarmonyOS Framework的基础能力集合,定位于大多数设备开发需要的能力模块。
.
├── global              //全球化模块,是设备的基础能力模块,可被裁剪
├── hiviewdfx           //DFX模块
├── iothardware         //IOT外设能力模块(GPIO/I2C/SPI/AD/DA等)
├── kits                //IOT外设控制模块接口,与frameworks/wifiiot_lite配合
├── security            //安全模块
├── syspara_lite        //系统属性模块文件
...

foundation目录详解

  • foundation提供了更为高级的系统基础能力模块,包含分布式调度与分布式通信等。
foundation/
├── aafwk                   //ability开发框架接口,ability的管理服务
├── ai                      //AI引擎框架
├── communication           //分布式通信
├── distributeddatamgr      //分布式任务调度
├── graphic                 //图像模块
├── multimedia              //多媒体
...

OpenHarmony接口分层介绍

CMSIS 和 POSIX 整体架构

  • CMSIS(Cortex Microcontroller Software Interface Standard, 微控制器软件接口标准)和POSIX(Portable Operating System Interface, 可移植操作系统接口)都是可移植操作接口的标准,属于应用接口层,可增强应用软件的可移植性,降低开发难度。
    请添加图片描述

CMSIS 架构

请添加图片描述

POSIX 架构

  • POSIX是API的一系列互相关联标准的总称。
  • 对于目前大多数的RTOS实时操作系统,不支持使用内存管理单元。
  • 文件系统包括虚拟文件系统,网络文件系统,文件配置表等内容。
  • 扩展内核:异常管理,动态加载等
  • 基础内核:时间管理,内存管理,IPC通信,任务同步,硬件管理,任务调度。
    请添加图片描述

组件开发介绍

  • HarmonyOS组件开发遵从模块化开发思想:独立的小组件拼接成为一组组件,再次编译打包构成带有完整系统镜像的发行版。
    请添加图片描述

  • 一个组件(bundle)通常和一个代码仓库对应,在代码的基础上增加bundle.json、README、LICENSE描述文件。

  • 一个发行版(distribution)是由多个组件构成的。发行版中集合了一个完整系统的各个组件(驱动、内核、框架、应用),可以用于设备的烧录。

异同点组件发行版
应用场景面向功能特性开发面向系统开发
内容功能或特性的实现代码或二进制库依赖的组件清单及编译构建脚本
完整程度操作系统的一部分一个完整操作系统版本
编译后结果组件包系统镜像

HPM

  • HarmonyOS Package Manager是HarmonyOS的包管理工具。
  • HPM主要功能:获取源码,执行安装、编译、打包、升级操作。

三、思考题

5. (判断题)对于当前版本,在HarmonyOS设备开发中,代码编译需要使用的操作系统是Linux。()
    A. 正确
    B. 错误

6. (判断题)HarmonyOS设备开发需要使用到DevEco Studio。()
    A. 正确
    B. 错误

7. (单选题)HarmonyOS设备开发主要使用的开发语言是什么?()
    A. 汇编
    B. C/C++
    C. Java
    D. Python

8.(判断题)CMSIS是ARM公司为Cortex芯片设计的一种标准。()
    A. 正确
    B. 错误

9. (判断题)CMSIS和POSIX都是可以增强软件的可移植性,降低开发难度。()
    A. 正确
    B. 错误

10.(多选题)在CMSIS架构中,MCU层包含哪些组成部分?()
    A. Cortex(ARM处理器)
    B. 系统定时器
    C. 外设寄存器
    D, 调试与追踪接口

坚持就有收获

在这里插入图片描述


http://www.niftyadmin.cn/n/5352533.html

相关文章

OpenGL/C++_学习笔记(四)空间概念与摄像头

汇总页 上一篇: OpenGL/C_学习笔记(三) 绘制第一个图形 OpenGL/C_学习笔记(四)空间概念与摄像头 空间概念与摄像头前置科技树: 线性代数空间概念流程简述各空间相关概念详述 空间概念与摄像头 前置科技树: 线性代数 矩阵/向量定…

pycharm配置远程开发

文章目录 1. pycharm 配置远程服务器开发1. ssh配置及代码说明2. pycharm配置远程解释器 2. 配置远程docker容器环境开发2.1 docker容器镜像 1. pycharm 配置远程服务器开发 1. ssh配置及代码说明 远程服务器ip:IP(略)查看远程服务器ssh端口…

使用this调用兄弟构造器

在任意类的构造器中,都可以通过this(...)去调用该类的其他构造器。 假如说只给有参构造器传了两个参数,想让第三个参数有默认值,那么可以这样: 可以看出有一部分代码重复了,那么可以通过this()优化: 这样可…

微信小程序 图片自适应高度 宽度 完美适配原生或者uniapp

-- - - - 查了一下百度看到网上图片高度自适应的解决方案 基本是靠JS获取图片的宽度进行按比例计算得出图片高度。 不是很符合我的需求/ 于是我脑瓜子一转 想到一种新的解决方案 不用JS计算也能完美解决。 我写了一个组件,直接导入可以使用。 - - - 1.新…

Java中的线程调度

关于线程的调度 1. 常见的线程调度模拟有哪些? 抢占式调度模拟: 那个线程的优先级比较高,抢到的CPU时间片的概率就高一些/多一些。 java采用的就是抢占式调度模型 均分式调度模型: 平均分配CPU时间片,每个线程占有的C…

基于DistFlow潮流的配电网故障重构MATLAB程序

微❤关注“电气仔推送”获得资料(专享优惠) 简介 程序采用适用于辐射状网络的DistFlow潮流模型,可输入任意故障线路编号,得到优化重构结果。程序加入了辐射状和连续状约束,保证网络连通性和辐射性,改换成…

代码随想录算法训练营第四十三天(动态规划篇)|63. 不同路径Ⅱ

63. 不同路径Ⅱ 题目链接:63. 不同路径 II - 力扣(LeetCode) 思路 如果当前网格有障碍物,那么无法到达;如果它的左边和/或上面格子有障碍物,就少了相应的到达渠道,基本思路和上道路径题一致:…

多智能体强化学习--理论与算法

目录标题 基础概念MADDPG的actor和critic网络actor网络:**critic网络:** MAPPO的actor和critic网络actor网络:critic网络: QMix (QMIX)VDN (Value Decomposition Networks) 参考博士论文:基于强化学习的多智能体协同关…