📚往期笔录记录🔖:
🔖鸿蒙(HarmonyOS)北向开发知识点记录~
🔖鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
🔖鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
🔖嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
🔖对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
🔖鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
🔖记录一场鸿蒙开发岗位面试经历~
🔖持续更新中……
一、LiteOS-M 介绍
LiteOS-M 内核是面向轻量级物联网操作系统内核。具有小体积、低功耗、高性能的特点。根据与硬件相关性,主要分为以下两大块:
- 硬件相关层
- arch 向上提供统一的 HAL 接口。以及 HAL 硬件及平台相关接口的实现
- 硬件无关层
- Kernel: LiteOS 内核源码,任务调度、信号量等实现
- Componets 可选组件,网络、文件系统等模块
- Utils 工具相关,提供错误处理、调测等能力
- KAL 内核抽象层。向上层提供标准的操作系统接口
组织结构如下图所示:

源码中目录结构如下:
.
├── arch # 内核指令架构层目录
├── components # 可选组件
├── drivers # 驱动框架Kconfig
├── kal # 内核抽象层
├── kernel # 内核最小功能集支持
└── utils # 通用工具
二、LitesOS 源码介绍
2.1、硬件无关代码
以下是 LiteOS 的核心功能源码。
./kernel
├── include
│ ├── los_config.h //系统时钟、系统节拍、堆栈、任务、裁剪等配置
└── src
├── los_event.c //事件初始化
├── los_init.c //内核初始化 内核启动
├── los_mux.c //互斥锁
├── los_queue.c //队列
├── los_sched.c //任务调度
├── los_sem.c //信号量
├── los_sortlink.c //排序链表
├── los_swtmr.c //软件定时器
├── los_task.c //任务创建
├── los_tick.c //Tick时钟
└── mm
├── los_membox.c //静态内存管理
└── los_memory.c //动态内存管理
2.2、硬件相关代码 以 cortex-m3 为例
./arch
├── arm
│ ├── cortex-m3 特定体系架构层
│ │ └── keil
│ │ ├── los_arch_atomic.h # 头文件 与平台相关的arch原子操作定义
│ │ ├── los_arch_context.h # 任务调度初始化
│ │ ├── los_arch_interrupt.h # 头文件 中断接管与处理
│ │ ├── los_arch_timer.h # 头文件 systick底层实现
│ │ ├── los_atomic.S # 与平台相关的arch原子操作实现 对内存的一些操作 没看到使用
│ │ ├── los_context.c # 任务调度初始化
│ │ ├── los_dispatch.S # 中断开关、任务调度等实现
│ │ ├── los_exc.S # 异常向量处理(向量号为负值)
│ │ ├── los_interrupt.c # 中断接管与处理
│ │ ├── los_startup.s # 向量表->复位向量,main入口
│ │ └── los_timer.c # systick底层实现
├── include 通用体系架构层
│ ├── los_arch.h # 定义arch初始化
│ ├── los_atomic.h # 定义通用arch原子操作
│ ├── los_context.h # 定义通用arch上下文切换
│ ├── los_interrupt.h # 定义通用arch中断
│ ├── los_mpu.h # 定义通用arch内存保护
│ └── los_timer.h # 定义通用arch定时器
三、内核及编译平台介绍
arm 处理器目前在智能手机及平板电脑占有率达到 95%。Cortex-M 系列在中低端嵌入式硬件也占据了绝对的领导地位。以下 arm 家族内核介绍:

Cortex 系列 、ARM 公司在经典处理器 ARM11 以后的产品改用 Cortex 命名,并分成 A、R 和 M 三类,旨在为各种不同的市场提供服务。Cortex 系列属于 ARMv7 架构,由于应用领域不同,基于 v7 架构的 Cortex 处理器系列所采用的技术也不相同,基于 v7A 的称为 Cortex-A 系列,基于 v7R 的称为 Cortex-R 系列,基于 v7M 的称为 Cortex-M 系列。
- Application Processors(应用处理器):面向移动计算,智能手机,服务器等市场的的高端处理器。这类处理器运行在很高的时钟频率(超过 1GHz),支持像 Linux,Android,MS Windows 和移动操作系统等完整操作系统需要的内存管理单元(MMU)。 如果规划开发的产品需要运行上述其中的一个操作系统,你需要选择 ARM 应用处理器.
- Real-time Processors (实时处理器):面向实时应用的高性能处理器系列,例如硬盘控制器,汽车传动系统和无线通讯的基带控制。多数实时处理器不支持 MMU,不过通常具有 MPU、Cache 和其他针对工业应用设计的存储器功能。实时处理器运行在比较高的时钟频率(例如 200MHz 到 >1GHz ),响应延

最低0.47元/天 解锁文章
2042

被折叠的 条评论
为什么被折叠?



