硬汉嵌入式论坛

 找回密码
 立即注册
查看: 555|回复: 10
收起左侧

[其它] ST新推出的一个合作式调度软件层Sequencer,用于RTOS的简单替代

[复制链接]

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121830
QQ
发表于 7 天前 | 显示全部楼层 |阅读模式
Overview - Sequencer 2.0.0 documentation

目的
Sequencer 工具是实时操作系统的一种简单替代方案,适用于复杂度较低的应用场景。但它并不提供完整操作系统所具备的全部服务。

主要特性
Sequencer 的主要特性如下

任务创建:初始化一个任务,并使其能够被 Sequencer 的内部调度器调用。
任务启用:从另一个任务或中断中启用一个任务,以便调度器可以运行它。
任务暂停/恢复:从调度器的角度暂停或恢复任务的执行,这与任务是否启用无关。
空闲任务:当没有任务可运行时,调用一个可选钩子函数来管理空闲状态。

架构
下图展示了 Sequencer 模块的软件组件。它描绘了用户应用程序、核心层、可选配置层、系统支持 (CMSIS) 以及硬件组件之间的交互关系。

plantuml-980b3b1907ed3bc9dcf8556f0fa78108595597d0.png

组件结构
核心 (sequencer.c / sequencer.h):用精简的协作式引擎取代了更繁重的调度方案。它通过将每个任务运行至完成来简化任务管理;通过鼓励编写简短的任务体来降低死锁风险;通过单一的事件暂停机制实现受控等待;并提供可选的空闲和任务钩子函数,用于功耗管理和监控。

可选配置 (seq_user_conf.h):通过一个轻量的配置层在构建时调整调度器。它设置任务数量和优先级等级等限制,定义临界区和空闲处理的工作方式以匹配目标平台,并允许在需要时替换小型工具宏(如内存填充等)。所有与平台相关的调整都置于核心层之外,从而使主逻辑保持干净且可移植。当没有提供自定义设置时,系统会自动应用安全的默认配置。

plantuml-af3a4979bd9b562602d0c79cab321c5ec1682ae2.png

回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
121830
QQ
 楼主| 发表于 7 天前 | 显示全部楼层
回复

使用道具 举报

30

主题

444

回帖

534

积分

金牌会员

积分
534
发表于 7 天前 | 显示全部楼层
沁恒的蓝牙协议栈用的他们自己做的一个轮询式任务框架TMOS,但没开源出来
回复

使用道具 举报

1

主题

64

回帖

67

积分

初级会员

Link

积分
67
发表于 7 天前 | 显示全部楼层
tovinz 发表于 2026-3-24 16:07
沁恒的蓝牙协议栈用的他们自己做的一个轮询式任务框架TMOS,但没开源出来

是跟杰里的差不多吗
回复

使用道具 举报

30

主题

444

回帖

534

积分

金牌会员

积分
534
发表于 6 天前 | 显示全部楼层
YFS 发表于 2026-3-24 17:32
是跟杰里的差不多吗

杰理我稍微用过AC6951那个片子,用的 AC63_BT_SDK,它的调度用的是 FreeRTOS,蓝牙应该是从zephyr那边摘过来的。
回复

使用道具 举报

0

主题

17

回帖

17

积分

新手上路

积分
17
发表于 6 天前 | 显示全部楼层
tovinz 发表于 2026-3-24 16:07
沁恒的蓝牙协议栈用的他们自己做的一个轮询式任务框架TMOS,但没开源出来

抄的TI的OSAL。可以说是完全一模一样。
回复

使用道具 举报

1

主题

64

回帖

67

积分

初级会员

Link

积分
67
发表于 6 天前 | 显示全部楼层
tovinz 发表于 2026-3-25 09:50
杰理我稍微用过AC6951那个片子,用的 AC63_BT_SDK,它的调度用的是 FreeRTOS,蓝牙应该是从zephyr那边摘 ...

我看的是AC6921A 的SDK 没看出来FreeRTOS 的影子,底层都封装了
回复

使用道具 举报

30

主题

444

回帖

534

积分

金牌会员

积分
534
发表于 6 天前 | 显示全部楼层
YFS 发表于 2026-3-25 14:53
我看的是AC6921A 的SDK 没看出来FreeRTOS 的影子,底层都封装了

https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK

os内核在这个目录 include_lib/system/os/FreeRTOS
回复

使用道具 举报

1

主题

64

回帖

67

积分

初级会员

Link

积分
67
发表于 6 天前 | 显示全部楼层
tovinz 发表于 2026-3-25 16:23
https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK

os内核在这个目录 include_lib/system/os/FreeRTOS

噢噢 我看了一下我那个SDK 下面有UCOS 的文件夹,但里面的内容好像都被杰里修改一遍
回复

使用道具 举报

30

主题

444

回帖

534

积分

金牌会员

积分
534
发表于 6 天前 | 显示全部楼层
YFS 发表于 2026-3-25 16:48
噢噢 我看了一下我那个SDK 下面有UCOS 的文件夹,但里面的内容好像都被杰里修改一遍

从配置来看应该是可以切换内核的, FreeRTOS 和 UCOS-II
https://gitee.com/Jieli-Tech/fw- ... system/os/os_type.h
我只用过 FreeRTOS。
用杰理的真是痛苦
回复

使用道具 举报

1

主题

64

回帖

67

积分

初级会员

Link

积分
67
发表于 5 天前 | 显示全部楼层
tovinz 发表于 2026-3-25 17:08
从配置来看应该是可以切换内核的, FreeRTOS 和 UCOS-II
https://gitee.com/Jieli-Tech/fw-AC63_BT_SDK/ ...

是的 第一次看时一脸懵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2026-3-31 05:08 , Processed in 0.278148 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表