diff --git a/README.md b/README.md new file mode 100644 index 0000000..4c68591 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +

MR-X

+ +MR-X是一个高度模块化的内核,专为资源受限的嵌入式系统设计。提供确定性执行环境和完整系统服务,使开发者能够构建可靠的嵌入式应用,同时保持极小的内存占用和高效的资源利用。 + +## 核心特性 + +- **模块化架构**:通过配置宏按需引入功能模块,实现极致的资源优化 +- **对象管理系统**:基于Kobject的统一对象模型,实现引用计数和分层组织 +- **内存管理**:高效的动态内存分配器,支持标准内存操作接口 +- **定时器系统**:精确的定时服务支持一次性和周期性定时任务 +- **工作队列**:灵活的任务延迟执行框架,优化系统响应性 +- **同步机制**:提供自旋锁、原子操作等线程安全原语 +- **标准库实现**:轻量级的字符串处理、格式化输出等基础函数 +- **初始化框架**:依赖感知的系统初始化机制,确保组件正确启动顺序 + +## 关键组件 + +### Kobject系统 + +Kobject(内核对象)系统是MR-X的核心基础设施,提供统一的对象管理框架: + +- **引用计数**:通过Kref实现精确的对象生命周期管理,防止内存泄漏,确保资源正确释放 +- **层次结构**:对象按父子树结构组织,支持基于路径的对象查找和遍历 +- **类型系统**:ktype机制支持多态行为和特定对象的释放方法,实现通用与特定行为的分离 +- **属性接口**:对象可暴露可读写属性,支持运行时配置和状态监控 +- **命名空间**:类文件系统的路径访问方式,简化对象定位和管理 + +![Kobject](document/resource/README/kobject.png) + +### Ktimer系统 + +Ktimer(内核定时器)提供高精度的定时服务,是实时操作的关键组件: + +- **双模式支持**:一次性定时与周期性定时统一接口 +- **回调机制**:定时到期时自动触发用户定义函数 +- **动态控制**:运行时可启动、停止、修改定时参数 +- **精确调度**:基于系统时钟提供确定性的时间行为 +- **对象化管理**:作为Kobject实例,集成引用计数和层次管理 + +### 工作队列系统 (kworkqueue) + +kworkqueue提供任务延迟执行机制,实现资源高效利用: + +- **执行模式**:支持即时执行和定时延迟执行 +- **上下文转换**:安全地将中断上下文任务转移到线程上下文 +- **任务模型**:通过工作项封装回调函数和上下文数据 +- **定时集成**:与ktimer紧密集成实现精确的执行调度 +- **电源管理**:支持自定义挂起/唤醒钩子函数,便于系统线程/功耗管理 +- **对象化设计**:利用Kobject特性实现统一的生命周期管理 + diff --git a/document/resource/README/kobject.png b/document/resource/README/kobject.png new file mode 100644 index 0000000..e0a3aa4 Binary files /dev/null and b/document/resource/README/kobject.png differ diff --git a/include/kernel/mr_kversion.h b/include/kernel/mr_kversion.h index d188711..cbef606 100644 --- a/include/kernel/mr_kversion.h +++ b/include/kernel/mr_kversion.h @@ -17,7 +17,7 @@ /* MR-X kernel version definition */ #define MR_KVERSION_MAJOR 1 #define MR_KVERSION_MINOR 0 -#define MR_KVERSION_PATCH 1 +#define MR_KVERSION_PATCH 0 /** * @brief This macro function constructs a kernel version code.