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

在这里插入图片描述

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, 调试与追踪接口

坚持就有收获

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻下一城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值