马达是现代电子设备中不可或缺的组成部分,它能够将电能转换为机械能,从而实现设备中的运动控制、姿态控制等功能。在OpenHarmony3.2Release中,马达驱动模型(MotorDriverModel)提供了一种标准的接口模型,用于管理系统的马达驱动。马达驱动模型主要包括两个方面:马达驱动程序的编写和马达驱动程序的调用。在编写马达驱动程序时,开发者需要遵循一定的规范和协议,对马达的属性和行为进行描述和建模。这些属性和行为包括马达...
2023-06-19 10:27:25 6210浏览 9点赞 7回复 4收藏
OpenAtomOpenHarmony(以下简称“OpenHarmony”)开源社区,在今年4月正式发布了OpenHarmony3.2Release版本,标准系统能力进一步完善,提升了系统的整体性能、稳定性和安全性。此次版本对于驱动也提供了一些新的特性,极大的方便了驱动开发工作。其中针对HCS文件开发提供新的开发思路,本文就简单介绍一下相关内容。1、HCS宏式解析1.1HCS概述HCS(HDFConfigurationSource)是HDF驱动框架的配置描述源码,内容以KeyValue为主要形...
2023-06-01 11:02:49 5617浏览 6点赞 5回复 2收藏
一、背景OpenHarmony系统移植最核心的步骤是内核的移植,内核的稳定是一切子系统稳定的基础,上一篇我们讲述了内核启动原理,以及vendor、board的开发配置,本文将介绍SoC层级的移植适配流程。二、SoC适配SoC配置芯片层级编译依赖库,包括CMSIS、HAL(硬件抽象层)等,这里包含操作总线、串口、时钟、寄存等库函数。1.创建对应的文件目录结构目录名称按照芯片厂家、芯片型号来创建,比如st公司下的stm32f4xx系列芯片。配置文件...
2023-05-16 09:06:55 6260浏览 10点赞 5回复 5收藏
一、背景OpenHarmony系统移植最核心的步骤是内核的移植,内核的稳定是一切子系统稳定的基础,上一篇我们一起认识了板卡、SoC、芯片架构,并在OpenHarmony源码中找到了对应层面的开发路径,本文将开始介绍实操部分。二、内核启动流程梳理确保移植前开发板的官方SDK是可以跑起来的,原有SDK通常为FreeRTOS或者其他系统,固件的编译有对应编译流程,以及系统启动流程。我们要做的工作就是梳理原有系统启动流程,包括:如何将固件代...
2023-05-05 11:38:38 5714浏览 6点赞 5回复 4收藏
一、背景在各行各业存在很多不同的智能设备,每个设备都使用芯片去实现不同的业务场景需求。本文将以常用的STM32F407ZG芯片为例,介绍OpenHarmony瘦设备内核移植方法,希望能对热爱OpenHarmony的开发小伙伴有所帮助。二、认识芯片架构、Soc、开发板进行内核移植前我们首先要了解芯片架构、SoC、开发板之前的关系,这将有助于后续移植工作。芯片架构是指芯片的内部器件构造以及对应的指令集,比如PC使用的英特尔i7或者AMD的R7480...
2023-04-14 17:09:40 5024浏览 2点赞 0回复 2收藏
OpenHarmony3.1系统启动是只有少数系统服务启动起来,但是有大部分服务无法启动,究其原因是hap包配置文件中服务单例属性未设置,默认为非单例启动属性。hap包中module.json如下:{"app":{"apiReleaseType":"Canary1","bundleName":"com.ohos.launcher","debug":true,"distributedNotificationEnabled":true,"icon":"$media:appicon","iconId":16777217,"keepAlive":true,"label":"$string:appname","labelId":16777216,"minAPI...
2023-04-06 09:28:42 6503浏览 3点赞 3回复 1收藏
1、USB鼠标插入USB2不供电问题解决1.1、增加IO控制驱动解压IO控制驱动压缩包iozhouke.tar.gz复制压缩包的文件到driverschar目录下tarzxvfiozhouke.tar.gzcpiozhoukedriverscharavf注释:这些文件可以在3.1LTS版本中获取,复制完之后driverschar目录结构如下:lsdriverschariolhrwrwr11000100013KDec1308:13idcard.cio:total28Krwrwr11000100044Jul1209:52Makefilerwrwr110001000138Dec1308:02builtin.arwrwr1100010000Aug1706:41...
2023-04-03 15:46:36 6199浏览 7点赞 4回复 4收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)背景介绍本文硬件平台采用RK3568开发板,主要讲解RK3568的烧写分区相关知识点。主要介绍的是RK3568如何修改系统分区大小。我们在开发验证过程中时常会发现根目录空间时常不足。前段时间在发开一个多媒体项目时候,要处理推送很多库到开发板,最终导致开发空间使用率达到98%,严重影响了开发板的运行。dfhFilesystemSizeUsedAvailUse%Mountedon...
2023-03-28 09:07:43 8979浏览 4点赞 2回复 2收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)引言通过adb命令行或hdc命令行,可以直接打开supplicant,从而运行wpacli,可以解决没有显示屏而无法操作WIFI的问题,还可以避免UI的问题带到driver。一、wpasupplicant首先打开wpasupplicant,运行起后才可以使用wpacli来连接wpasupplicantiwlan0idatamiscwifiwpasupplicantwpasupplicant.confwpasupplicanth[WpaSample]initenter.wpasupplica...
2023-03-23 09:01:38 8253浏览 2点赞 0回复 1收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)前言带有HDMI声卡的设备比如电视、投影仪和一些带有音响的显示器,当我们的设备通过HDMI接口连接带有音响的显示设备时(如电视),声音一般都是有显示设备上的音响发出的。本文介绍了OpenHarmony系统支持HDMI声卡的适配过程。1.功能描述OpenHarmony系统支持HDMI声卡的插拔识别,支持HDMI声卡的播放功能,包括启动、停止、暂停、恢复功能。2.构...
2023-03-17 16:27:20 4894浏览 2点赞 0回复 1收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)前言USB声卡是一种外置声卡,不受主机硬件约束可以实现更好的声音品质和更多的功能。使用USB接口支持热插拔,方便易用,在生活中被广泛使用。1.功能描述OpenHarmonyADM(AudioDriverModel)框架支持USB声卡的插拔识别,支持USB声卡的播放、录音、音量控制和静音功能。2.构建开关CONFIGDRIVERSHDFAUDIOUSBOpenHarmony系统ADM(AudioDriverModel...
2023-03-17 09:29:06 5669浏览 4点赞 2回复 1收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)前言通过前面两篇的消息通知的文章,我们已经了解到系统层事件发布和消息订阅相关处理机制,从整体上掌握了消息发布与订阅的基本轮廓,在事件发布和消息订阅的处理流程中我们经常可以看到消息投递处理过程中使用handlerPostTask进行消息投递,这篇文章我们在OpenHarmony3.1Release代码基础上深入的分析PostTask动作,了解投递与处理流程,补全...
2023-03-14 11:04:02 3400浏览 4点赞 1回复 3收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)前言之前我们介绍了在Openharmony消息通知机制中的系统层事件发布流程,了解事件发布的来龙去脉,但消息订阅和事件发布在Openharmony中是息息相关的,在实际的消息使用过程中,我们只有发布消息事件后,才能订阅相关消息,消息订阅也是消息通知中重要不可缺少的一环,因此通过消息订阅,我们才能逐步地展露Openharmony消息通知机制神秘面纱。...
2023-03-08 11:35:15 4599浏览 8点赞 3回复 6收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)前言Openharmony3.1Release中存在消息通知的处理,消息通知包括系统层事件发布、消息订阅、消息投递与处理,为了开发者能够熟悉消息的处理流程,本篇文章主要介绍系统层事件发布的相关流程。整体流程代码流程发布消息boolPublishEvent(enumLicenseEventType){eventAction)want.SetAction("usual.event.license.LICEXPIRED");EventFwk::CommonE...
2023-03-06 14:40:25 4559浏览 9点赞 7回复 7收藏
[【本文正在参加2023年第一期优质创作者激励计划】](https:ost.51cto.composts21211)前言本次采用的开发板为扬帆“竞”开发板,扬帆“竞”采用瑞芯微RK3568(CortexA55)四核64位超强CPU,搭载OpenHarmony最新操作系统,主频最高达2.0GHz。采用MaliG52GPU,支持4K、H.265H.264视频解码。OpenHarmony最新版本的L2标准版图形子系统相比之前版本有着非常大的改动,使用了全新设计的框架,并使用RenderService替换了原来的Weston。...
2023-03-03 14:40:56 8726浏览 9点赞 3回复 6收藏
【本文正在参加2023年第一期优质创作者激励计划】前言OpenHarmony系统是一个非常先进,现代化设计理念的新系统其系统架构图如下:一.图形子系统架构图图形子系统是最复杂的一个,标准版这里2D的部分foundation\graphic\graphic2d\rosen\modules\renderservice主要是实现了2D的显示3D的显示这里没有实现,那怎么实现3D?3D现在还没有进入主线,那有没有实现3D的其他方式?我们可以使用Mesa3D编译到OpenHarmony,用OpenGL接口来...
2023-02-28 14:45:51 1.1w浏览 13点赞 7回复 9收藏
【本文正在参加2023年第一期优质创作者激励计划】前言OpenHarmony3.0LTS是面向全场景的开源分布式操作系统,能够在物联网上使用。可以支持三种系统类型,标准系统、轻量系统和小型系统。本文提供了在OpenHarmony3.0LTS实现串口调试功能的开发方案。1.编写代码生成对应动态库文件串口功能开发包括串口初始化、数据读写、修改数据开发格式等。具体代码不便展示。编写gn文件生成对应动态库文件sharedlibrary("serialserviceapi"){s...
2023-02-27 10:33:07 4492浏览 5点赞 1回复 4收藏
OpenHarmony在适配新的某型开发板时,遇到了launcher应用崩溃的现象,主要表现为:ps–ef查看进程列表,发现launcher进程成为僵尸进程,再次查询进程列表时,launcher进程已经消失。在hilog日志中搜索com.ohos.launcher,发现了和launcher进程相关的cppcrash日志初步确认,launcher应用在启动过程中崩溃,SIGSEGV表示是因为段错误退出,出错的位置是在ldmuslx8664.so.1中,但日志无法看出程序崩溃的具体位置。针对这种情况,可...
2023-02-09 10:38:07 6829浏览 6点赞 0回复 5收藏
前言在某些特殊场景下,我们可能有这样的网络配置诉求,即:访问内网同时也需要访问外网。本文主要针对该场景进行梳理,以双网卡配置为例,指导初学者进行网卡配置,达成同时访问内外网。双网卡配置硬件前提条件:硬件方面:板卡有2个网卡。双网卡配置规则:1、连接外网LAN口,配置外网网段IP、子网掩码、路由和网关;2、连接内网LAN口,配置内网网段IP、子网掩码和路由。说明:特别要注意,一台设备不能同时配置两个网关,且网...
2023-02-07 17:20:06 7049浏览 10点赞 5回复 8收藏
本文以OpenHarmony3.2Beta4上适配modbus编译动态库为例。获取三方库使用之前要做好代码溯源,确认可用的版本,开源许可和发布方式等。通过正确的路径获取源码,可以是官网,或者指定托管的github或者gitee仓。官网:https:libmodbus.orggithub:https:github.comstephanelibmodbus移植三方库三方库移植主要需要以下四步。linux编译编译三方库:1、如果原三方库根目录存在CMakeLists.txt文件,新建build目录,通过cmake生成makef...
2023-02-02 14:21:56 8417浏览 8点赞 4回复 8收藏