一、前言本文将详细介绍Hi3861开发板如何通过GPIO模块控制LED灯亮和灭。二、OpenHarmony设备开发通用框架cincludeincludeinclude"ohosinit.h"include"cmsisos2.h"staticvoidHelloWorldTask(constchararg){(void)arg;printf("[HelloWorld]HelloWorldTask()\n");while(1){任务代码,例如打印一个语句:printf("开源项目OpenHarmony\n是每个人的OpenHarmony\n");usleep(100000);}returnNULL;}staticvoidHelloWorldEntry(void){osTh...
2022-07-31 13:46:16 1.1w浏览 6点赞 1回复 3收藏
[[本文正在参加星光计划3.0–夏日挑战赛]](https:ost.51cto.composts13641)一、前言至于如何编写一个简单的HelloWorld程序打印出来,应该不用多说了吧。上篇文章我们详细阐述了如何添加编译依赖使得最终指向myfirstdemo.c文件,让我们的.c文件能够编译进去。本篇文章将介绍SYSTEM(demo)是如何将.c文件注册进OH从而执行的,即启动流程分析。二、准备话不多说,先上代码:demo01.c如下cincludeinclude"ohosinit.h"include"ohostyp...
2022-07-29 19:58:29 9891浏览 8点赞 2回复 3收藏
[[本文正在参加星光计划3.0–夏日挑战赛]](https:ost.51cto.composts13641)一、前言本文将简单介绍一下轻量和小型系统使用到的编译工具,详细讲解新增模块后编译依赖的三种配置方式。二、gn和ninja轻量级和小型系统是一个基于gn和ninja的构建系统,以支持OpenHarmony组件化开发为目标,支持组件拼装产品并编译,独立构建芯片解决方案源码,独立构建单个组件。新增组件开发完成后,需要基于gn语法配置构建信息,并保存在BUILD.gn...
2022-07-28 16:04:21 1.1w浏览 13点赞 4回复 3收藏
[本文正在参加星光计划3.0夏日挑战赛](https:ost.51cto.composts13641)一、前言本篇文章将详细阐述产品信息配置,对config.json中的信息进行介绍,根据产品信息配置和构建配置梳理出组件和模块依赖关系,增加大家对设备开发时的产品构建的了解。二、产品信息配置这里以hisparkpegasus产品为例进行介绍,下图为hisparkpegasus产品解决方案目录结构。[上节](https:ost.51cto.composts15086)已经初步介绍过BUILD.gn和config.json。...
2022-07-26 23:02:12 7430浏览 5点赞 2回复 4收藏
[本文正在参加星光计划3.0夏日挑战赛](https:ost.51cto.composts13641)OpenHarmony基础知识(一)OpenHarmony技术架构根据其技术架构图中各模块各的功能划分,我们需要初步判断自己开发的应用属于哪个子系统,再结合组件和目录的对应关系,判断出模块代码应该放在什么位置。OpenHarmony的两个基本概念子系统:为逻辑概念,由对应的组件构成,提供特定的服务能力组件:是最基本的交付单元,是对子系统的进一步拆分,可复用的软件...
2022-07-25 22:12:27 9694浏览 6点赞 3回复 3收藏
HDF驱动开发之编写驱动代码HDF的基本概念HDF(HardwareDriverFoundation)是OpenHarmony的驱动程序框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理和驱动消息机制。旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的开发环境,力求做到一次开发,多系统部署。HDF的整体架构如图:图源《深入浅出OpenHarmony》自下而上看,其中:OSAL层:是操作系统的抽象层,封装了驱动相关的系统调用。Adapter层:...
2022-06-06 23:07:55 9767浏览 9点赞 1回复 6收藏