
鸿蒙开发
文章平均质量分 91
你我皆是牛马星人
这个作者很懒,什么都没留下…
展开
-
鸿蒙开发仓颉语言:数据库驱动——redis-sdk
注意: 需要返回响应的命令,可以使用RedisCommand类, 也可以使用ParameterizedRedisCommand类;RedisCommand的子类,支持将Redis命令的响应构建为类型T,包含成员RepsonseBuilder用于处理响应。实现了Hyperion TCP框架的IOFilter接口,处理RedisMessage和RedisCommand的关联。实现了Hyperion TCP框架的IOFilter接口,处理Redis命令和Redis响应的编解码。原创 2025-06-09 17:29:07 · 257 阅读 · 0 评论 -
鸿蒙开发仓颉语言:【仓颉三方库】 网络组件——DownLoad4cj
可靠、灵活、快速和强大的下载引擎。提供同步下载,异步下载,暂停任务。原创 2025-06-09 16:30:23 · 87 阅读 · 0 评论 -
鸿蒙开发仓颉语言:网络组件——upload4cj
upload4cj是用于处理浏览器或者其他客户端上传上来的单个或者多个文件的一个文件报文解析组件(注:这里的文件指字段和文件两部分)特性🚀 支持解析单个字段或者多个字段上传上来的报文💪 支持解析单个文件或者多个文件上传上来的报文🌍 支持解析字段和文件一起上传上来的报文。原创 2025-06-09 15:25:22 · 172 阅读 · 0 评论 -
鸿蒙开发仓颉语言:网络组件——rpc4cj
前提:使用 openssl version 查看环境下有无 openssl, 版本为 OpenSSL 3.x.x,若无,可参考 https://github.com/openssl/openssl 官网的 Build and Install。拦截器提供对请求的参数和获取到的请求的拦截以实现对数据的检查和控制,一元请求拦截器示例如下,该示例需要和 test/LLT/grpc/interceptor/helloworld.pb.cj 一起编译。主要是核心类和成员函数说明,详情见 API。原创 2025-06-09 14:36:53 · 560 阅读 · 0 评论 -
鸿蒙开发仓颉语言:网络组件——httpclient4cj
主要是核心类和成员函数说明,详情见 API。编译描述和具体shell命令。地址换成实际可用地址。原创 2025-06-09 13:34:42 · 209 阅读 · 0 评论 -
鸿蒙开发仓颉语言:网络组件之hyperion
Hyperion: 一个支持自定义编解码器的TCP通信框架Redis仓颉语言客户端SDK: redis-sdk 项目使用了该TCP框架,并实现了RESP2、RESP3协议的编解码。ActiveMQ仓颉语言客户端SDK:acitvemq4cj项目使用了该TCP框架。工程目录结构1.1 编译步骤清理工程,在工程根目录下运行:编译工程,在工程根目录下运行:编译的静态库位于:在工程根目录下运行:编译服务端示例程序,在samples/echo_server目录下运行:启动服务端,在sample原创 2025-06-08 22:04:41 · 654 阅读 · 0 评论 -
鸿蒙开发仓颉语言:并发机制的设计与实现
细粒度并发算法是相对于粗粒度算法而言的,粗粒度并发往往指使用并发度较低的方法实现对并发对象的访问,例如:使用一个锁对象控制所有线程对某一并发对象的操作,这种方式简单,但性能很差,任意时刻只允许一个线程操作并发并发,即:一个线程持有锁并操作并发对象时,其它线程会因为无法持有锁而被阻塞。例如,在示例代码 1 中,各线程最终将结果汇入并发哈希表 resultMap 中,注意到在插入结果时线程不需要通过额外的互斥锁保证正确性,因为并发哈希表内部已确保并发访问的正确性。而在它的视角中,仓颉线程被视为可执行任务。原创 2025-06-08 21:34:52 · 429 阅读 · 0 评论 -
鸿蒙开发仓颉语言:High-Level IR 设计与实现
需要指出的是,在通过原生的 If语句完成相关的分析优化后,我们可以对 If语句包含的子 CFG 进行一次类似函数内联的操作,将 If语句再次转换为 Block 之间的跳转。对比可以看出,在引入了嵌套 CFG 的支持后,CHIR 可以在提供显式控制流语义信息的同时,直接引入对 If、While 甚至 For 语句的支持,且嵌套的 CFG 天然就对应的原程序中的作用域结构,从而保留更多语义信息用于程序分析和编译优化。此外,CHIR 也提供了一套完整的类型系统和属性机制,用于提供类型和其他语义信息的补充。原创 2025-06-08 20:16:18 · 478 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【PWM】
PWM即脉冲宽度调制(Pulse Width Modulation)的缩写,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术。PWM设备句柄获取和释放PWM周期、占空比、极性的设置PWM使能和关闭PWM配置信息的获取和设置通常情况下,在使用马达控制、背光亮度调节时会用到PWM模块。原创 2025-06-08 18:57:50 · 336 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【PIN】
PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能:包括管脚推拉方式、管脚推拉强度以及管脚功能。PIN接口定义了操作PIN管脚的通用方法集合,包括:获取/释放管脚描述句柄:传入管脚名与链表中每个控制器下管脚名进行匹配,匹配则会获取一个管脚描述句柄,操作完PIN管脚后释放该管脚描述句柄。设置/获取管脚推拉方式:推拉方式可以是上拉、下拉以及悬空。设置/获取管脚推拉强度:用户可根据实际设置管脚推拉强度大小。设置/获取管脚功能:通过管脚功能名设置/获取管脚功能,实现管脚复用。原创 2025-06-06 21:29:33 · 753 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【MIPI DSI】
DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设(通常是LCD或者类似的显示设备),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信协议。原创 2025-06-06 20:15:58 · 815 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【MIPI CSI】
CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。物理层支持HS(High Speed)和LP(Low Speed)两种工作模式。HS模式下采用低压差分信号,功耗较大,但数据传输速率可以很高(数据速率为80M~1Gbps);LP模式下采用单端信号,数据速率很低(<10Mbps),但是相应的功耗也很低。原创 2025-06-06 17:27:43 · 830 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【I3C】
I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中断、从设备热接入以及切换当前主设备,同时向后兼容I2C从设备。原创 2025-06-06 16:42:27 · 716 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony平台驱动指南【I2C】
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。由于其硬件连接简单、成本低廉,因此被广泛应用于各种短距离通信的场景。I2C通常用于与各类支持I2C协议的传感器、执行器或输入输出设备进行通信。原创 2025-06-06 15:32:59 · 568 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【HDMI】
HDMI(High Definition Multimedia Interface),即高清多媒体接口,主要用于DVD、机顶盒等音视频Source到TV、显示器等Sink设备的传输。HDMI以主从方式工作,通常有一个Source端和一个Sink端。HDMI接口定义了完成HDMI传输的通用方法集合,包括:HDMI控制器管理:打开或关闭HDMI控制器HDMI启动/停止传输:启动或停止HDMI传输HDMI控制器设置:设置音频、视频及HDR属性,设置色彩深度、声音图像消隐等。原创 2025-06-06 14:29:42 · 545 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【GPIO】
GPIO(General-purpose input/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。GPIO接口定义了操作GPIO管脚的标准方法集合,包括:设置、获取管脚方向:方向可以是输入或者输出(暂不支持高阻态)。读、写管脚电平值:电平值可以是低电平或高电平。设置、取消管脚中断服务函数:设置一个管脚的中断响应函数,以及中断触发方式。取消一个管脚的中断服务函数。原创 2025-06-06 13:44:20 · 799 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【DAC】
DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备,主要用于:作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自动控制。在利用反馈技术的模数转换器设计中,作为重要的功能模块呈现。DAC接口定义了完成DAC传输的通用方法集合,包括:DAC设备管理:打开或关闭DAC设备。DAC设置目标值:设置DAC设备需要将数字信号转成模拟信号的目标值。原创 2025-06-05 21:16:00 · 949 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动指南【 ADC】
ADC(Analog to Digital Converter),即模拟-数字转换器,可将模拟信号转换成对应的数字信号,便于存储与计算等操作。图 1ADC物理连线示意图ADC接口定义了完成AD转换的通用方法集合,包括:ADC设备管理:打开或关闭ADC设备。ADC读取转换结果:读取AD转换结果。ADC设备通常用于将模拟电压或电流转换为数字量,例如与NTC电阻搭配进行温度测量,或者将其他模拟传感器的输出量转换为数字量的场景。原创 2025-06-05 20:32:24 · 797 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【Watchdog】
看门狗(Watchdog),又称看门狗计时器(Watchdog timer),是一种硬件计时设备。一般有一个输入、一个输出,输入叫做喂狗,输出连接到系统的复位端。当系统主程序发生错误导致未及时清除看门狗计时器的计时值时,看门狗计时器就会对系统发出复位信号,使系统从悬停状态恢复到正常运作状态。对于无法直接观测到的软件异常,我们可以使用看门狗进行自动检测,并在异常产生时及时重置。当驱动开发者需要将Watchdog设备适配到OpenHarmony时,需要进行Watchdog驱动适配。原创 2025-06-05 17:06:35 · 984 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【UART】
UART指异步收发传输器(Universal Asynchronous Receiver/Transmitter),是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输。TX:发送数据端,和对端的RX相连。RX:接收数据端,和对端的TX相连。RTS:发送请求信号,用于指示本设备是否准备好,可接受数据,和对端CTS相连。CTS:允许发送信号,用于判断是否可以向对端发送数据,和对端RTS相连。图 12线UART设备连接示意图图 24线UART设备连接示意图。原创 2025-06-05 16:26:36 · 972 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【SPI】
SPI即串行外设接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线。SPI是由Motorola公司开发,用于在主设备和从设备之间进行通信。SPI通常用于与闪存、实时时钟、传感器以及模数/数模转换器等支持SPI协议的设备进行通信。当驱动开发者需要将SPI设备适配到OpenHarmony时,需要进行SPI驱动适配,下文将介绍如何进行SPI驱动适配。原创 2025-06-05 15:29:15 · 923 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【SDIO】
SDIO(Secure Digital Input and Output)由SD卡发展而来,与SD卡统称为MMC(MultiMediaCard),二者使用相同的通信协议。SDIO接口兼容以前的SD卡,并且可以连接支持SDIO接口的其他设备。SDIO的应用比较广泛,目前,有许多手机都支持SDIO功能,并且很多SDIO外设也被开发出来,使得手机外接外设更加容易。常见的SDIO外设有WLAN、GPS、CAMERA、蓝牙等。原创 2025-06-05 14:16:51 · 969 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【RTC】
RTC(real-time clock)为操作系统中的实时时钟设备,为操作系统提供精准的实时时间和定时报警功能。当设备下电后,通过外置电池供电,RTC继续记录操作系统时间;设备上电后,RTC提供实时时钟给操作系统,确保断电后系统时间的连续性。RTC主要用于提供实时时间和定时报警功能。当驱动开发者需要将RTC设备适配到OpenHarmony时,需要进行RTC驱动适配,下文将介绍如何进行RTC驱动适配。原创 2025-06-05 13:26:13 · 767 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【Regulator】
Regulator模块用于控制系统中各类设备的电压/电流供应。在嵌入式系统(尤其是手机)中,控制耗电量很重要,直接影响到电池的续航时间。所以,如果系统中某一个模块暂时不需要使用,就可以通过Regulator关闭其电源供应;或者降低提供给该模块的电压、电流大小。Regulator模块用于控制系统中某些设备的电压/电流供应。当驱动开发者需要将Regulator设备适配到OpenHarmony时,需要进行Regulator驱动适配,下文将介绍如何进行Regulator驱动适配。原创 2025-06-04 21:32:04 · 998 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【PWM】
PWM(Pulse Width Modulation)即脉冲宽度调制,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通常情况下,在使用马达控制、背光亮度调节时会用到PWM模块。PWM用于脉冲宽度调制,当驱动开发者需要将PWM设备适配到OpenHarmony时,需要进行PWM驱动适配。下文将介绍如何进行PWM驱动适配。原创 2025-06-04 20:15:34 · 861 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【PIN】
PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能。PIN模块主要用于管脚资源管理。在各SoC对接HDF框架时,需要来适配PIN驱动。下文将介绍如何进行PIN驱动适配。原创 2025-06-04 17:32:49 · 598 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【MMC】
MMC(MultiMedia Card)即多媒体卡,是一种用于固态非易失性存储的小体积大容量的快闪存储卡。MMC后续泛指一个接口协定(一种卡式),能符合这种接口的内存器都可称作MMC储存体。主要包括几个部分:MMC控制器、MMC总线、存储卡(包括MMC卡、SD卡、SDIO卡、TF卡)。MMC、SD、SDIO总线,其总线规范类似,都是从MMC总线规范演化而来的。MMC强调的是多媒体存储;SD强调的是安全和数据保护;原创 2025-06-04 16:46:22 · 704 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony平台驱动开发【MIPI DSI】
DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设(通常是LCD或者类似的显示设备),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信协议。原创 2025-06-04 15:39:05 · 974 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony平台驱动开发【MIPI CSI】
CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。物理层支持HS(High Speed)和LP(Low Speed)两种工作模式。HS模式下采用低压差分信号,功耗较大,但数据传输速率可以很高(数据速率为80M~1Gbps);LP模式下采用单端信号,数据速率很低(<10Mbps),但是相应的功耗也很低。原创 2025-06-04 14:16:01 · 875 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony平台驱动开发【I3C】
I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中断、从设备热接入以及切换当前主设备,同时向后兼容I2C从设备。I3C增加了带内中断(In-Bind Interrupt)功能,支持I3C设备进行热接入操作,弥补了I2C总线需要额外增加中断线来完成中原创 2025-06-04 13:35:32 · 586 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony平台驱动开发【I2C】
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。由于其硬件连接简单、成本低廉,因此被广泛应用于各种短距离通信的场景。I2C通常用于与各类支持I2C协议的传感器、执行器或输入输出设备进行通信。当驱动开发者需要将I2C设备适配到OpenHarmony时,需要进行I2C驱动适配,下文将介绍如何进行I2C驱动适配。原创 2025-06-03 21:30:05 · 957 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【HDMI】
HDMI(High Definition Multimedia Interface),即高清多媒体接口,是Hitachi、Panasonic、Philips、Silicon Image、Sony、Thomson、Toshiba共同发布的一款音视频传输协议,主要用于DVD、机顶盒等音视频Source设备到TV、显示器等Sink设备的传输。HDMI传输过程遵循TMDS(Transition Minimized Differential Signaling)协议。原创 2025-06-03 20:20:04 · 848 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【GPIO】
GPIO(General-purpose input/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。GPIO主要是对GPIO管脚资源进行管理。驱动开发者可以使用GPIO模块提供的操作接口,实现对管脚的具体控制。当驱动开发者需要将GPIO适配到OpenHarmony时,需要进行GPIO驱动适配。下文将介绍如何进行GPIO驱动适配。原创 2025-06-03 17:14:57 · 1050 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【DAC】
DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。DAC模块支持数模转换的开发。它主要用于:作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自动控制。在利用反馈技术的模数转换器设计中,作为重要的功能模块呈现。DAC模块主要在设备中数模转换、音频输出和电机控制等设备使用,设置将DAC模块传入的数字信号转换为输出模拟信号时需要用到DAC数模转换驱动。原创 2025-06-03 16:24:07 · 855 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 平台驱动开发【ADC】
ADC(Analog to Digital Converter),即模拟-数字转换器,可将模拟信号转换成对应的数字信号,便于存储与计算等操作。图 1ADC物理连线示意图ADC设备通常用于将模拟电压转换为数字量,例如与NTC电阻搭配进行温度测量,或者将其他模拟传感器的输出量转换为数字量的场景。当驱动开发者需要将ADC设备适配到OpenHarmony时,需要进行ADC驱动适配,下文将介绍如何进行ADC驱动适配。原创 2025-06-03 15:42:01 · 942 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 标准系统下 HDF驱动开发流程
HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动管理的开发环境,力求做到一次开发,多系统部署。HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。原创 2025-06-03 15:01:44 · 695 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 标准系统内核(Linux)【内核增强特性 > 任务调度】
关联线程组(related thread group)提供了对一组关键线程调度优化的能力,支持对关键线程组单独进行负载统计和预测,并且设置优选CPU cluster功能,从而达到为组内线程选择最优CPU运行并且根据分组负载选择合适的CPU调频点运行。CPU轻量级隔离特性提供了根据系统负载和用户配置来选择合适的CPU进行动态隔离的能力。内核会将被隔离CPU上的任务和中断迁移到其他合适的CPU上执行,被隔离的CPU会进入ilde状态,以此来达到功耗优化的目标。同时提供用户态的配置和查询接口来实现更好的系统调优。原创 2025-06-03 13:48:42 · 806 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 标准系统内核(Linux)【New IP内核协议栈】
New IP邻居发现(Neighbor Discovery)应答报文格式如下,New IP极简报文头包含2字节的bitmap(0x77,0x00),bitmap1标识后面携带TTL,报文总长度,上层协议类型,目的地址,源地址。New IP ND应答报文包含报文类型,操作码,校验和和邻居MAC地址长度,邻居MAC地址。TCP数据格式如下,New IP极简报文头包含2字节的bitmap(0x77,0x00),bitmap1标识后面携带TTL,报文总长度,上层协议类型,目的地址,源地址。原创 2025-05-30 21:34:16 · 821 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 标准系统内核(Linux)【Enhanced SWAP特性】
设置当前memcg的相关配置。score为当前memcg回收优先级,ub_mem2zram_ratio为内存压缩到ZRAM的比率,ub_zram2ufs_ratio为ZRAM换出到ESwap的比率,refault_threshold为refault的阈值,可通过调整比率来控制ZRAM压缩以及ESwap换出情况,如。设置ZRAM换出水线,即当当前ZRAM中压缩的匿名页大于ZRAM总大小*zram_wm_ratio时,会开始向ESwap进行换出,但是具体换出时间为zswapd因buffer水线而唤醒之后。原创 2025-05-30 20:25:41 · 1120 阅读 · 0 评论 -
【鸿蒙南向开发】OpenHarmony 标准系统内核(Linux)
标准系统类设备是面向应用处理器的设备,支持的设备最小内存为128MiB。OpenHarmony选择Linux内核作为基础内核,可以对不同资源受限的设备产品配置出适合的OS内核,为上层提供基础的操作系统能力。原创 2025-05-30 17:31:42 · 595 阅读 · 0 评论