项目简介
本项目展示了在嵌入式设备上实现抢占式多任务操作系统(OS)的方法。该系统依托STM32L476G - DISCO开发板,利用STM32Cube IDE进行开发,借助定时器中断达成任务的抢占式调度。
项目的主要特性和功能
- 抢占式调度:借助定时器中断实现任务的抢占式调度,保证系统能实时响应多任务需求。
- 线程管理:支持线程的创建、执行和切换,采用
setjmp/longjmp
机制进行上下文切换。 - 同步机制:通过计数信号量实现线程间的同步。
- 调试输出:支持通过UART2进行调试输出,可通过编译器定义或修改
Usercode/debug.h
文件中的开关来启用。 - 基础示例:提供基础使用示例,展示在控制台打印信息以及控制LED灯闪烁的方法。
安装使用步骤
- 环境准备:
- 安装STM32Cube IDE。
- 确保开发环境已配置好gcc编译器。
- 导入项目:将项目源码导入STM32Cube IDE。
- 配置调试输出:
- 若需启用调试输出,可在
Usercode/debug.h
文件中定义DEBUG_PRINT
宏,或在编译时通过编译器定义启用。 - 配置UART2参数:波特率9600,数据位8,停止位1,无奇偶校验。
- 若需启用调试输出,可在
- 编译和烧录:编译项目并将其烧录到STM32L476G - DISCO开发板上。
- 运行示例:运行示例代码,观察控制台输出和LED灯的闪烁情况。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】