gpt4 book ai didi

multithreading - 混合使用 RTOS 和循环执行程序是否有意义?

转载 作者:行者123 更新时间:2023-12-04 05:59:28 26 4
gpt4 key购买 nike

在一个小型嵌入式系统项目中,我们有一些代码希望在线程中运行,因此我们选择在嵌入式 RTOS (eCos) 之上构建。

以前,我们在 main() 中使用了一个循环执行器,它驱动每个作为状态机实现的任务。对于某些任务,我们遇到了需要将任务分解为许多细粒度状态的问题,从而使代码变得更加复杂。

当切换到 RTOS 时,我们发现如果我们为每个单独的任务分配自己的线程,则每个线程堆栈的内存使用量会迅速增加。 (我们只有 64k 并且需要用于通信缓冲区的内存)

我们正在考虑为我们的通信任务使用一个线程,并为一个循环执行程序使用另一个线程。循环执行器将驱动其他逻辑任务。

像这样混合 RTOS 和循环执行程序是否有意义?

最佳答案

这是一个完全有效的设计。
在我们的一个产品中,我们使用了类似的设计,其中异步 I/O channel (TCP/IP,2 个串行流)在它们自己的任务中,我们有一个“主要”任务将负责多个功能领域.

将任务简单地视为一种允许您简化设计的分区机制。

关于multithreading - 混合使用 RTOS 和循环执行程序是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/115306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com