# Maize-RTOS **Repository Path**: jianglin998/maize-rtos ## Basic Information - **Project Name**: Maize-RTOS - **Description**: Maize-RTOS是一款免费开源的基于优先级全抢占式非公平调度算法内核的实时操作系统 - **Primary Language**: C - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2023-10-14 - **Last Updated**: 2024-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Maize-RTOS ## 作者信息 Author:**Jiang Lin** E-mail:andrew998@126.com Github:https://github.com/JiangLin998 ## 注意事项: 1. **请注意代码著作权和开源协议问题,Maize-RTOS采用GPL2.0开源协议,代码不允许修改后和衍生的代码做为闭源的商业软件发布和销售。未经允许擅自应用视为承担法律风险者。** 2. TODO警告:当你所调用的函数部分包含todo,请**谨慎使用**(不一定不能用,可能只是功能不全),因为它可能并不会按照你的预期所工作 3. **请不要在代码工程中加入一些垃圾代码** ## 简介 Maize-RTOS是一款免费开源的基于**优先级全抢占式非公平调度算法内核**的**实时操作系统**。 Maize-RTOS目前支持的CPU内核: - arm - cortex-m3 Maize-RTOS目前支持的组件: - 软件定时器 Maize-RTOS目前支持的IPC机制: - mutex Maize-RTOS目前支持的功能: - 基于优先级全抢占式非公平调度内核 - 最大32线程优先级 - 时间片轮转 - 代码临界段 - 软件定时器 - 内核对象列表 ## 更新记录 ### 2023-10-14 #### 14:00 - 实现双向链表功能及链表地址推算结构体首地址功能 - 实现内核对象功能 - 实现系统节拍计时 - 实现mz_strcpy函数 - 实现cortex-m3内核滴答定时器初始化 - 实现cortex-m3内核临界段功能并支持嵌套 - 增加软件定时器组件,并挂载到内核对象中 - 增加线程结构体 ## 2023-10-15 ### 13:17 - 增加线程保存上下文和线程切换功能(线程切换功能为beta版本) - 增加线程多优先级(调度算法中暂未支持多优先级) ### 15:00 - 增加空闲线程(优先级为最低) - Scheduler - 实现线程优先级全抢占式非公平调度算法(支持多优先级) - 修复未设置current_thread的bug - 增加每次节拍都会系统调度一次的功能(下一个版本会取消掉,改为时间片轮转) - 增加mz_thread_delay功能(实现了基本的阻塞操作,下一个版本会完善线程的各种状态) ## 2023-10-16 ### 11:07 - 修复mz_thread_delay函数卡死的bug - 增加线程避让函数 - 增加时间片轮转 ## 2023-11-02 ### 16:58 - 增加IPC父对象 - 增加mutex互斥锁 - 增加cortex-m3的keil例程 ## TODO - [ ] 实现内存管理功能 - [ ] 完善线程状态 - [x] 实现IPC机制中mutex功能 - [ ] 实现IPC机制中messagebox功能