系统将虚拟内存分割为称为虚拟页的内存块,大小一般为4KiB或64KiB,LiteOS-A内核默认的页的大小是4KiB,根据需要可以对MMU(Memory Management Units)进行配置。虚拟内存管理操作的最小单位就是一个页,LiteOS-A内核中一个虚拟地址区间region包含地址连续的多个虚拟页,也可只有一个页。同样,物理内存也会按照页大小进行...
LiteOS-M内核主要应用于轻量系统,面向的MCU(Microprocessor Unit)一般是百K级内存,可支持MPU(Memory Protection Unit)隔离,业界类似的内核有FreeRTOS或ThreadX等;LiteOS-A内核主要应用于小型系统,面向设备一般是M级内存,可支持MMU(Memory Management Unit)隔离,业界类似的内核有Zircon或Darwin等。 说明:OpenHarmony针对...
LiteOS-A 当前支持 ARMv7-a 指令集架构,如果三方芯片为 ARMv7-a 架构,可以进行内核基础适配;否则还需要先根据芯片的架构来新增内核对该芯片架构的支持,这个工作较为复杂,不在这篇文章范围内。 基础适配 LiteOS-A 提供系统运行所需的系统初始化流程和定制化配置选项。移植过程中,需要关注初始化流程中跟硬件配置相...
main core booting up... OsSampleModInit SUCCESS! releasing 1 secondary cores cpu 1 entering scheduler cpu 0 entering scheduler 根据上述系统启动阶段的打印可知,内核在启动时进行了该注册模块的初始化函数调用,完成该模块的初始化操作。 系统启动完毕后进入内核态 shell,能够运行 task 命令能够正常显示即可。 O...
LiteOS-A内核特性都是建立在CPU硬件的基础上,而中断控制器在支持LiteOS-A内核的CPU中发挥着巨大的作用:它管理和控制可屏蔽中断并对可屏蔽中断进行优先权判定,减少CPU的负载,使得CPU更加专注于计算。 在嵌入式领域,ARM公司提供的芯片目前是市场的主流,OpenHarmony LiteOS-M内核目前支持的ARM公司的Cortex-M系列的芯片...
LiteOS-A当前支持ARMv7-a指令集架构,如果三方芯片为ARMv7-a架构,可以进行内核基础适配;否则还需要先根据芯片的架构来新增内核对该芯片架构的支持,这个工作较为复杂,不在这篇文章范围内。 目录规范 LiteOS-A目录规范参考LiteOS-A 简介。 基础适配 LiteOS-A提供系统运行所需的系统初始化流程和定制化配置选项。移植...
LiteOS-A内核特性都是建立在CPU硬件的基础上,而中断控制器在支持LiteOS-A内核的CPU中发挥着巨大的作用:它管理和控制可屏蔽中断并对可屏蔽中断进行优先权判定,减少CPU的负载,使得CPU更加专注于计算。 在嵌入式领域,ARM公司提供的芯片目前是市场的主流,OpenHarmony LiteOS-M内核目前支持的ARM公司的Cortex-M系列的芯片...
LiteOS-A内核中的procfs文件系统分析 一、 procfs介绍procfs是类UNIX操作系统中进程文件系统(process file system)的缩写,主要用于通过内核访问进程信息和系统信息,以及可以修改内核参数改变系统行为。需要注意的是,procfs文件系统是一个虚拟文件系统,不存在硬盘当中,而是系统启动时动态生成的文件系统,储存在内存中。procfs...
图1OpenHarmony LiteOS-A内核架构图 目录 /kernel/liteos_a ├── apps # 用户态的init和shell应用程序 ├── arch # 体系架构的目录,如arm等 │ └── arm # arm架构代码 ├── bsd # freebsd相关的驱动和适配层模块代码引入,例如USB等 ├── compat # 内核接口兼容性目录 │ └── posix # ...
内核态 OpenHarmony LiteOS-A内核的LMS模块提供下面几种功能,接口详细信息可以查看API参考。 表1 LMS模块接口说明 功能分类 接口名 描述 添加指定内存池被检测 LOS_LmsCheckPoolAdd 将指定内存池的地址范围添加到LMS的内存检测链表上,当访问的地址在链表范围内时,LMS才进行合法性校验;且LOS_MemInit接...