项目简介
BMOS是一个基础的实时操作系统(RTOS)内核,提供抢占式任务切换、不同的任务优先级以及用于同步的信号量。项目包含专为STM324L433RC设计的特定驱动程序,可与RTOS内核配合使用。该内核专为嵌入式系统开发者打造,旨在简化多任务编程和硬件驱动开发。
项目的主要特性和功能
- 任务调度:支持基于任务优先级的调度,运行中的任务可显式让出控制权。若启用抢占,高优先级就绪任务会抢占低优先级任务,否则为协作式多任务。
- 同步机制:支持计数和二进制信号量,
p()
操作可提供超时参数。 - 任务栈管理:支持静态和动态分配任务栈,通过栈末尾的填充区实现任务栈保护,并在空闲任务中进行栈溢出检查。
- 设备驱动:包含针对STM32L433RC的UART、GPIO、SWO/Semihost、时钟驱动,部分驱动可在RTOS未启动时运行,且UART驱动为全中断驱动。
- 实用工具:有静态分配的环形缓冲区、列表实现和日志子系统,避免动态分配,方便调试。
安装使用步骤
环境准备
确保已安装以下依赖:
- arm-none-eabi-gcc
- arm-none-ebai-newlib
- openocd
配置
编辑demo/Makefile
,使其反映工具链的根目录、openocd
二进制文件的路径以及开发板脚本文件的路径。
编译和烧录
- 进入
demo
目录。 - 运行
make flash
命令进行编译并将程序烧录到开发板。若要创建禁用日志的发布版本,可运行make release
。编译文件将输出到build
目录。
查看日志
可通过编辑config.h
文件选择使用SWO或Semihosting查看日志。也可使用调试工具配置SWO,或切换日志系统到Semihosting。若要启用通过LPUART1设备(通过UART转USB转换器暴露)进行日志记录,需注意在演示应用中LPUART1设备已被应用本身使用。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】