鸿蒙嵌入式

Android小贾14 天前
嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
鸿蒙轻内核A核源码分析系列五 虚实映射(7)虚实映射Flag属性在学习函数LOS_ArchMmuMap()代码时,我们已经了解了虚拟内存如何映射到物理内存,在映射的时候,可以通过UINT 32 flags参数定一些标签属性信息。本节,我们具体了解下内存标签属性信息。先了解下MMU标签属性,然后看看映射内存区间时的映射虚实信息,最后了解下属性信息转换函数。
Android小贾16 天前
移动开发·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小贾17 天前
驱动开发·嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
鸿蒙轻内核A核源码分析系列三 物理内存(1)从本篇开始,我们分析下鸿蒙轻内核A核的内存管理部分,包括物理内存、虚拟内存、虚拟映射等部分。物理内存(Physical memory)是指通过物理内存条而获得的内存空间,相对应的概念是虚拟内存(Virtual memory)。虚拟内存使得应用进程认为它拥有一个连续完整的内存地址空间,而通常是通过虚拟内存和物理内存的映射对应着多个物理内存页。本文我们先来熟悉下OpenHarmony鸿蒙轻内核提供的物理内存(Physical memory)管理模块。
Android小贾18 天前
嵌入式硬件·harmonyos·openharmony·鸿蒙开发·鸿蒙内核·鸿蒙嵌入式·进程关联
鸿蒙轻内核A核源码分析系列七 进程管理 (3)本文记录下进程相关的初始化函数,如OsSystemProcessCreate、OsProcessInit、OsProcessCreateInit、OsUserInitProcess、OsDeInitPCB、OsUserInitProcessStart等。
Android小贾23 天前
驱动开发·嵌入式硬件·移动开发·harmonyos·openharmony·鸿蒙开发·鸿蒙嵌入式
鸿蒙轻内核M核源码分析系列十九 Musl LibCLiteOS-M内核LibC实现有2种,可以根据需求进行二选一,分别是musl libC和newlibc。本文先学习下Musl LibC的实现代码。文中所涉及的源码,均可以在开源站点 https://gitee.com/openharmony/kernel_liteos_m 获取。LiteOS-M内核提供了和内核相关的文件系统、内存申请释放接口,其他接口可以直接使用Musl提供的。我们分别来看下内核提供的接口部分。