【发布时间】:2010-09-12 00:47:48
【问题描述】:
在一个小型嵌入式系统项目中,我们有一些代码希望在线程中运行,因此我们选择在嵌入式 RTOS (eCos) 之上构建。
以前,我们在 main() 中使用了一个循环执行程序,它驱动每个作为状态机实现的任务。对于某些任务,我们遇到了需要将任务分解为许多细粒度状态的问题,从而使代码更加复杂。
当切换到 RTOS 时,我们发现如果我们将每个单独的任务分配给它自己的线程,每个线程堆栈的内存使用量会迅速增加。 (我们只有 64k 并且需要用于通信缓冲区的内存)
我们正在考虑为我们的通信任务使用一个线程,并为循环执行程序使用另一个线程。循环执行器将驱动其他逻辑任务。
像这样混合 RTOS 和循环执行是否有意义?
【问题讨论】:
标签: multithreading embedded rtos