当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《混合RTOS和循环执行程序是否有意义?》经验,为你挑选了1个好方法。

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

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

当切换到RTOS时,如果我们给每个单独的任务提供自己的线程,我们发现每个线程堆栈的内存使用量会很快增加.(我们只有64k,需要内存用于我们的通信缓冲区)

我们正在考虑使用轮胎进行通信任务,并考虑使用其他线程进行循环执行.循环执行程序将驱动其他逻辑任务.

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



1> Benoit..:

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

将任务视为一种分区机制,可以简化您的设计.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有