
移动开发
文章平均质量分 93
OpenHarmony_小贾
这个作者很懒,什么都没留下…
展开
-
OpenHarmony(鸿蒙南向)——平台驱动指南【PIN】
PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能:包括管脚推拉方式、管脚推拉强度以及管脚功能。PIN接口定义了操作PIN管脚的通用方法集合,包括:获取/释放管脚描述句柄:传入管脚名与链表中每个控制器下管脚名进行匹配,匹配则会获取一个管脚描述句柄,操作完PIN管脚后释放该管脚描述句柄。设置/获取管脚推拉方式:推拉方式可以是上拉、下拉以及悬空。设置/获取管脚推拉强度:用户可根据实际设置管脚推拉强度大小。设置/获取管脚功能:通过管脚功能名设置/获取管脚功能,实现管脚复用。原创 2024-08-11 21:42:28 · 1140 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【MIPI DSI】
DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设(通常是LCD或者类似的显示设备),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信协议。原创 2024-08-11 21:32:41 · 701 阅读 · 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模式下采用单端信号,数据速率很低(原创 2024-08-11 20:58:39 · 750 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【I3C】
I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中断、从设备热接入以及切换当前主设备,同时向后兼容I2C从设备。原创 2024-08-11 20:11:17 · 703 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【I2C】
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。由于其硬件连接简单、成本低廉,因此被广泛应用于各种短距离通信的场景。I2C通常用于与各类支持I2C协议的传感器、执行器或输入输出设备进行通信。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。原创 2024-08-09 22:26:22 · 763 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【HDMI】
HDMI(High Definition Multimedia Interface),即高清多媒体接口,主要用于DVD、机顶盒等音视频Source到TV、显示器等Sink设备的传输。HDMI以主从方式工作,通常有一个Source端和一个Sink端。HDMI接口定义了完成HDMI传输的通用方法集合,包括:HDMI控制器管理:打开或关闭HDMI控制器HDMI启动/停止传输:启动或停止HDMI传输HDMI控制器设置:设置音频、视频及HDR属性,设置色彩深度、声音图像消隐等。原创 2024-08-09 22:15:16 · 1476 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【GPIO】
GPIO(General-purpose input/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。GPIO接口定义了操作GPIO管脚的标准方法集合,包括:设置、获取管脚方向:方向可以是输入或者输出(暂不支持高阻态)。读、写管脚电平值:电平值可以是低电平或高电平。设置、取消管脚中断服务函数:设置一个管脚的中断响应函数,以及中断触发方式。取消一个管脚的中断服务函数。原创 2024-08-09 21:52:48 · 987 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【DAC】
DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备,主要用于:作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自动控制。在利用反馈技术的模数转换器设计中,作为重要的功能模块呈现。DAC接口定义了完成DAC传输的通用方法集合,包括:DAC设备管理:打开或关闭DAC设备。DAC设置目标值:设置DAC设备需要将数字信号转成模拟信号的目标值。原创 2024-08-09 21:22:20 · 726 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动指南【 ADC】
ADC(Analog to Digital Converter),即模拟-数字转换器,可将模拟信号转换成对应的数字信号,便于存储与计算等操作。图 1ADC物理连线示意图ADC接口定义了完成AD转换的通用方法集合,包括:ADC设备管理:打开或关闭ADC设备。ADC读取转换结果:读取AD转换结果。ADC设备通常用于将模拟电压或电流转换为数字量,例如与NTC电阻搭配进行温度测量,或者将其他模拟传感器的输出量转换为数字量的场景。原创 2024-08-09 21:08:52 · 1136 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【Watchdog】
看门狗(Watchdog),又称看门狗计时器(Watchdog timer),是一种硬件计时设备。一般有一个输入、一个输出,输入叫做喂狗,输出连接到系统的复位端。当系统主程序发生错误导致未及时清除看门狗计时器的计时值时,看门狗计时器就会对系统发出复位信号,使系统从悬停状态恢复到正常运作状态。对于无法直接观测到的软件异常,我们可以使用看门狗进行自动检测,并在异常产生时及时重置。当驱动开发者需要将Watchdog设备适配到OpenHarmony时,需要进行Watchdog驱动适配。原创 2024-08-09 16:41:40 · 788 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【UART】
UART指异步收发传输器(Universal Asynchronous Receiver/Transmitter),是通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输。TX:发送数据端,和对端的RX相连。RX:接收数据端,和对端的TX相连。RTS:发送请求信号,用于指示本设备是否准备好,可接受数据,和对端CTS相连。CTS:允许发送信号,用于判断是否可以向对端发送数据,和对端RTS相连。图 12线UART设备连接示意图图 24线UART设备连接示意图。原创 2024-08-09 15:58:06 · 1029 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【SPI】
SPI即串行外设接口(Serial Peripheral Interface),是一种高速的,全双工,同步的通信总线。SPI是由Motorola公司开发,用于在主设备和从设备之间进行通信。SPI通常用于与闪存、实时时钟、传感器以及模数/数模转换器等支持SPI协议的设备进行通信。当驱动开发者需要将SPI设备适配到OpenHarmony时,需要进行SPI驱动适配,下文将介绍如何进行SPI驱动适配。原创 2024-08-09 15:41:53 · 586 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【SDIO】
SDIO(Secure Digital Input and Output)由SD卡发展而来,与SD卡统称为MMC(MultiMediaCard),二者使用相同的通信协议。SDIO接口兼容以前的SD卡,并且可以连接支持SDIO接口的其他设备。SDIO的应用比较广泛,目前,有许多手机都支持SDIO功能,并且很多SDIO外设也被开发出来,使得手机外接外设更加容易。常见的SDIO外设有WLAN、GPS、CAMERA、蓝牙等。原创 2024-08-08 22:19:31 · 1094 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【RTC】
RTC(real-time clock)为操作系统中的实时时钟设备,为操作系统提供精准的实时时间和定时报警功能。当设备下电后,通过外置电池供电,RTC继续记录操作系统时间;设备上电后,RTC提供实时时钟给操作系统,确保断电后系统时间的连续性。RTC主要用于提供实时时间和定时报警功能。当驱动开发者需要将RTC设备适配到OpenHarmony时,需要进行RTC驱动适配,下文将介绍如何进行RTC驱动适配。原创 2024-08-08 21:58:28 · 954 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【Regulator】
Regulator模块用于控制系统中各类设备的电压/电流供应。在嵌入式系统(尤其是手机)中,控制耗电量很重要,直接影响到电池的续航时间。所以,如果系统中某一个模块暂时不需要使用,就可以通过Regulator关闭其电源供应;或者降低提供给该模块的电压、电流大小。Regulator模块用于控制系统中某些设备的电压/电流供应。当驱动开发者需要将Regulator设备适配到OpenHarmony时,需要进行Regulator驱动适配,下文将介绍如何进行Regulator驱动适配。原创 2024-08-08 21:33:58 · 1248 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【PWM】
PWM(Pulse Width Modulation)即脉冲宽度调制,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通常情况下,在使用马达控制、背光亮度调节时会用到PWM模块。PWM用于脉冲宽度调制,当驱动开发者需要将PWM设备适配到OpenHarmony时,需要进行PWM驱动适配。下文将介绍如何进行PWM驱动适配。如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:关注小编,同时可以期待后续文章ing🚀,不定期分享原创知识。原创 2024-08-08 20:53:19 · 1144 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【PIN】
PIN是一个软件层面的概念,目的是为了统一对各SoC的PIN管脚进行管理,对外提供管脚复用功能,配置PIN管脚的电气特性。原创 2024-08-08 17:07:59 · 521 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【MMC】
MMC(MultiMedia Card)即多媒体卡,是一种用于固态非易失性存储的小体积大容量的快闪存储卡。MMC后续泛指一个接口协定(一种卡式),能符合这种接口的内存器都可称作MMC储存体。主要包括几个部分:MMC控制器、MMC总线、存储卡(包括MMC卡、SD卡、SDIO卡、TF卡)。MMC、SD、SDIO总线,其总线规范类似,都是从MMC总线规范演化而来的。MMC强调的是多媒体存储;SD强调的是安全和数据保护;原创 2024-08-08 16:40:23 · 1127 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【MIPI DSI】
DSI(Display Serial Interface)是由移动行业处理器接口联盟(Mobile Industry Processor Interface (MIPI) Alliance)制定的规范,旨在降低移动设备中显示控制器的成本。它以串行的方式发送像素数据或指令给外设(通常是LCD或者类似的显示设备),或从外设中读取状态信息或像素信息;它定义了主机、图像数据源和目标设备之间的串行总线和通信协议。原创 2024-08-08 15:43:52 · 912 阅读 · 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模式下采用单端信号,数据速率很低(原创 2024-08-08 14:26:03 · 1147 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【I3C】
I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中断、从设备热接入以及切换当前主设备,同时向后兼容I2C从设备。原创 2024-08-07 18:06:47 · 1277 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【I2C】
I2C(Inter Integrated Circuit)总线是由Philips公司开发的一种简单、双向二线制同步串行总线。由于其硬件连接简单、成本低廉,因此被广泛应用于各种短距离通信的场景。原创 2024-08-07 16:59:22 · 1146 阅读 · 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)协议。原创 2024-08-07 16:17:38 · 1127 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【GPIO】
GPIO(General-purpose input/output)即通用型输入输出。通常,GPIO控制器通过分组的方式管理所有GPIO管脚,每组GPIO有一个或多个寄存器与之关联,通过读写寄存器完成对GPIO管脚的操作。GPIO主要是对GPIO管脚资源进行管理。驱动开发者可以使用GPIO模块提供的操作接口,实现对管脚的具体控制。当驱动开发者需要将GPIO适配到OpenHarmony时,需要进行GPIO驱动适配。下文将介绍如何进行GPIO驱动适配。原创 2024-08-07 15:55:53 · 1285 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【DAC】
DAC(Digital to Analog Converter)是一种通过电流、电压或电荷的形式将数字信号转换为模拟信号的设备。DAC模块支持数模转换的开发。它主要用于:作为过程控制计算机系统的输出通道,与执行器相连,实现对生产过程的自动控制。在利用反馈技术的模数转换器设计中,作为重要的功能模块呈现。DAC模块主要在设备中数模转换、音频输出和电机控制等设备使用,设置将DAC模块传入的数字信号转换为输出模拟信号时需要用到DAC数模转换驱动。原创 2024-08-07 15:36:05 · 1193 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——平台驱动开发【ADC】
ADC(Analog to Digital Converter),即模拟-数字转换器,可将模拟信号转换成对应的数字信号,便于存储与计算等操作。图 1ADC物理连线示意图ADC设备通常用于将模拟电压转换为数字量,例如与NTC电阻搭配进行温度测量,或者将其他模拟传感器的输出量转换为数字量的场景。当驱动开发者需要将ADC设备适配到OpenHarmony时,需要进行ADC驱动适配,下文将介绍如何进行ADC驱动适配。原创 2024-08-07 15:16:01 · 1149 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向)——HDF驱动开发流程
HDF(Hardware Driver Foundation)驱动框架,为驱动开发者提供驱动框架能力,包括驱动加载、驱动服务管理、驱动消息机制和配置管理。并以组件化驱动模型作为核心设计思路,让驱动开发和部署更加规范,旨在构建统一的驱动架构平台,为驱动开发者提供更精准、更高效的驱动管理的开发环境,力求做到一次开发,多系统部署。HCS(HDF Configuration Source)是HDF驱动框架的配置描述源码,内容以Key-Value为主要形式。它实现了配置代码与驱动代码解耦,便于开发者进行配置管理。原创 2024-08-07 15:00:32 · 1367 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——标准系统内核(Linux)【内核增强特性 > 任务调度】
关联线程组(related thread group)提供了对一组关键线程调度优化的能力,支持对关键线程组单独进行负载统计和预测,并且设置优选CPU cluster功能,从而达到为组内线程选择最优CPU运行并且根据分组负载选择合适的CPU调频点运行。原创 2024-08-07 13:56:07 · 1250 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——标准系统内核(Linux)【New IP内核协议栈】
New IP在现有IP能力的基础上,以灵活轻量级报头和可变长多语义地址为基础,通过二三层协议融合,对协议去冗和压缩,减少冗余字节,实现高能效比,高净吞吐,提升通信效率。打造终端之间高效的横向通信,支撑超级终端的体验,实现异构网络的端到端互联。原创 2024-08-06 22:00:50 · 1227 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——标准系统内核(Linux)【Enhanced SWAP特性】
ESwap(Enhanced Swap)提供了自定义新增存储分区作为内存交换分区的能力,并创建了一个常驻进程zswapd将 ZRAM 压缩后的匿名页加密换出到ESwap存储分区,从而能完全的空出一块可用内存,以此来达到维持Memavailable水线的目标。同时,配合这个回收机制,在整个内存框架上进行改进,优化匿名页和文件页的回收效率,并且使两者的回收比例更加合理以避免过度回收导致的refault问题造成卡顿现象。原创 2024-08-06 21:31:48 · 1135 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——标准系统内核(Linux)
标准系统类设备是面向应用处理器的设备,支持的设备最小内存为128MiB。OpenHarmony选择Linux内核作为基础内核,可以对不同资源受限的设备产品配置出适合的OS内核,为上层提供基础的操作系统能力。原创 2024-08-06 20:59:53 · 2494 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【基本数据结构+标准库】
双向链表是指含有往前和往后两个方向的链表,即每个结点中除存放下一个节点指针外,还增加一个指向前一个节点的指针。其头指针head是唯一确定的。从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是大量数据的遍历。由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向的操作。原创 2024-08-06 19:37:10 · 1233 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【用户态内存调测】
Debug版本的musl-libc库为用户提供内存泄漏检测、堆内存统计、踩内存分析以及backtrace功能等维测手段,可以提高用户态内存相关问题的定位效率。原创 2024-08-06 17:31:35 · 1397 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【内核态内存调测】
内存信息包括内存池大小、内存使用量、剩余内存大小、最大空闲内存、内存水线、内存节点数统计、碎片率等。原创 2024-08-06 16:46:32 · 1124 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【进程调测】
CPU(中央处理器,Central Processing Unit)占用率分为系统CPU占用率、进程CPU占用率、任务CPU占用率和中断CPU占用率。用户通过系统级的CPU占用率,判断当前系统负载是否超出设计规格。通过系统中各个进程/任务/中断的CPU占用情况,判断各个进程/任务/中断的CPU占用率是否符合设计的预期。原创 2024-08-06 15:56:14 · 813 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【LMS调测】
LMS全称为Lite Memory Sanitizer,是一种实时检测内存操作合法性的调测工具。LMS能够实时检测缓冲区溢出(buffer overflow),释放后使用(use after free) 和重复释放(double free), 在异常发生的第一时间通知操作系统,结合backtrace等定位手段,能准确定位到产生内存问题的代码行,极大提升内存问题定位效率。原创 2024-08-06 15:37:38 · 821 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Perf调测】
Perf为性能分析工具,依赖PMU(Performance Monitoring Unit)对采样事件进行计数和上下文采集,统计出热点分布(hot spot)和热路径(hot path)。原创 2024-08-06 14:09:27 · 753 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Trace调测】
Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。原创 2024-08-06 13:55:09 · 961 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Shell 工具】上
OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统、文件、网络和动态加载相关命令。同时OpenHarmony内核的Shell支持添加新的命令,可以根据需求来进行定制。原创 2024-08-05 22:43:28 · 1011 阅读 · 0 评论 -
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【文件系统】下
通过入参的vnode获取文件系统所需的私有数据。使用私有数据完成接口的功能。将结果包装成vnode或接口要求的其他返回格式,返回给上层。核心的逻辑其实在使用私有数据完成接口的功能,这些接口都是些文件系统的通用功能,文件系统在移植前本身应该都有相应实现,所以关键是归纳总结出文件系统所需的私有数据是什么,将其存储在vnode中,供之后使用。一般情况下,私有数据的内容是可以唯一定位到文件在存储介质上位置的信息,大部分文件系统本身都会有类似数据结构可以直接使用,比如JFFS2的inode数据结构。原创 2024-08-05 21:36:19 · 409 阅读 · 0 评论