鸿蒙嵌入式

OH五星上将1 个月前
嵌入式硬件·物联网·harmonyos·openharmony·系统开发·鸿蒙嵌入式·liteos-m
OpenHarmony(鸿蒙南向开发)——轻量系统内核(LiteOS-M)【内核通信机制】事件(Event)是一种任务间的通信机制,可用于任务间的同步操作。事件的特点是:任务间的事件同步,可以一对多,也可以多对多。一对多表示一个任务可以等待多个事件,多对多表示多个任务可以等待多个事件。但是一次写事件最多触发一个任务从阻塞中醒来。
OH五星上将2 个月前
linux·驱动开发·嵌入式硬件·移动开发·harmonyos·鸿蒙嵌入式
OpenHarmony(鸿蒙南向)——平台驱动指南【MIPI CSI】CSI(Camera Serial Interface)是由MIPI联盟下Camera工作组指定的接口标准。CSI-2是MIPI CSI第二版,主要由应用层、协议层、物理层组成,最大支持4通道数据传输、单线传输速度高达1Gb/s。
OH五星上将2 个月前
驱动开发·嵌入式硬件·硬件工程·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
OpenHarmony(鸿蒙南向)——平台驱动开发【Regulator】Regulator模块用于控制系统中各类设备的电压/电流供应。在嵌入式系统(尤其是手机)中,控制耗电量很重要,直接影响到电池的续航时间。所以,如果系统中某一个模块暂时不需要使用,就可以通过Regulator关闭其电源供应;或者降低提供给该模块的电压、电流大小。
OH五星上将2 个月前
驱动开发·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·鸿蒙内核·鸿蒙嵌入式
OpenHarmony(鸿蒙南向)——平台驱动开发【PIN】PIN即管脚控制器,用于统一管理各SoC的管脚资源,对外提供管脚复用功能。PIN是一个软件层面的概念,目的是为了统一对各SoC的PIN管脚进行管理,对外提供管脚复用功能,配置PIN管脚的电气特性。
OH五星上将2 个月前
linux·驱动开发·嵌入式硬件·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
OpenHarmony(鸿蒙南向)——平台驱动开发【PWM】PWM(Pulse Width Modulation)即脉冲宽度调制,是一种对模拟信号电平进行数字编码并将其转换为脉冲的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。通常情况下,在使用马达控制、背光亮度调节时会用到PWM模块。
Android小贾5 个月前
嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
鸿蒙轻内核A核源码分析系列五 虚实映射(7)虚实映射Flag属性在学习函数LOS_ArchMmuMap()代码时,我们已经了解了虚拟内存如何映射到物理内存,在映射的时候,可以通过UINT 32 flags参数定一些标签属性信息。本节,我们具体了解下内存标签属性信息。先了解下MMU标签属性,然后看看映射内存区间时的映射虚实信息,最后了解下属性信息转换函数。
Android小贾5 个月前
移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙内核·鸿蒙嵌入式
鸿蒙轻内核A核源码分析系列五 虚实映射(2)虚实映射初始化在文件kernel/base/vm/los_vm_boot.c中的系统内存初始化函数OsSysMemInit()会调用虚实映射初始化函数OsInitMappingStartUp()。该函数代码定义在文件arch/arm/arm/src/los_arch_mmu.c,代码如下。⑴处函数使TLB失效,清理虚实映射缓存数据,涉及些cp15寄存器和汇编,后续再分析。⑵处函数切换到临时TTB。⑶处设置内核地址空间的映射。下面分别详细这些函数代码。
Android小贾5 个月前
驱动开发·嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
鸿蒙轻内核A核源码分析系列三 物理内存(1)从本篇开始,我们分析下鸿蒙轻内核A核的内存管理部分,包括物理内存、虚拟内存、虚拟映射等部分。物理内存(Physical memory)是指通过物理内存条而获得的内存空间,相对应的概念是虚拟内存(Virtual memory)。虚拟内存使得应用进程认为它拥有一个连续完整的内存地址空间,而通常是通过虚拟内存和物理内存的映射对应着多个物理内存页。本文我们先来熟悉下OpenHarmony鸿蒙轻内核提供的物理内存(Physical memory)管理模块。
Android小贾5 个月前
嵌入式硬件·harmonyos·openharmony·鸿蒙开发·鸿蒙内核·鸿蒙嵌入式·进程关联
鸿蒙轻内核A核源码分析系列七 进程管理 (3)本文记录下进程相关的初始化函数,如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。
Android小贾5 个月前
驱动开发·嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
鸿蒙轻内核M核源码分析系列十九 Musl LibCLiteOS-M内核LibC实现有2种,可以根据需求进行二选一,分别是musl libC和newlibc。本文先学习下Musl LibC的实现代码。文中所涉及的源码,均可以在开源站点 https://gitee.com/openharmony/kernel_liteos_m 获取。LiteOS-M内核提供了和内核相关的文件系统、内存申请释放接口,其他接口可以直接使用Musl提供的。我们分别来看下内核提供的接口部分。