项目简介
本项目名为skibios
,是一个基于C语言开发的小型实时操作系统(RTOS),属于兴趣项目。它能够运行在支持ARM Cortex M3/M4以及MPC57xx(Power architecture - e200)架构的任意微控制器上,但对MPC57xx的支持还不完全,部分集成工作仍在推进。
项目的主要特性和功能
- 预占式调度:具备带优先级反转处理的预占式调度器。
- 资源保护:利用MPU(若可用)保护内核资源(向量表、主堆栈、内核变量和堆标记)以及进程栈。
- 双层安全:提供基于MPU的硬件保护和软件定义的安全机制两层安全保障。
- 用户定制:有三个用户定义的MPU区域。
- 动态更新:支持在运行时更新ISR,且向量表受MPU保护。
- 堆管理:支持基于元数据的堆管理API。
安装使用步骤
假设已下载本项目的源码文件,可按以下步骤操作:
1. 配置参数:在param.xml
文件中定义相关配置变量:
- KERNEL_REGION_SIZE
:定义内核区域可占用的总SRAM大小(单位:KB),支持的值有8、10、12、14、16、20、24、28、32、40、48、56、64。
- UPPER_REGION_SIZE
:定义上内核区域(向量表 + 内核变量 + 主堆栈)的最大大小,支持的值有3、4、5。
- GHMB_REGION_SIZE
:定义堆标记簿记区域的总大小(单位:KB),支持的值有1、2。
- PROCCESS_STACK_SIZE
:定义每个用户进程的固定堆栈大小(单位:字节),支持的值有512、1024。
- PROCESS_PER_SECOND
:定义调度器每秒的速度。
2. 编译生成文件:运行objgen
文件夹中的start.py
脚本生成目标文件,具体调用可参考Makefile
。需定义BIN
来定位arm - gcc
二进制文件夹。
3. 排除文件(ARM):若使用ARM架构,需在arm - m3m4/scripts/arch_source.mak
中注册以排除startup.c
文件参与构建。
4. 启动代码(MPC57xx):若使用MPC57xx架构,需定义自己的启动代码,完成所有初始化后调用kernel_init
。
5. 设备配置:tm4c1294ncpdt.xml
包含设备特定的详细信息。
6. 部署运行:将生成的二进制文件部署到目标硬件上,启动硬件,RTOS将开始运行并管理多任务。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】