状态机与微控制器的RTOS

Ott*_*unt 4 uml rtos state-machine

我偶然发现了一个免费的状态机工具.这似乎是用于以图形方式编程嵌入式系统.通过这样做,作者声称,与使用RTOS相比,生成的代码更易于维护.这个工具基于UML,很高兴知道,但学习曲线陡峭.

我想知道一些比较有经验的程序员在这里想到这个工具.

我正在为LM3S5P36微控制器开发嵌入式应用程序.TI有一个名为Code Composer Studio(CCS)的IDE.我还没有进入CCS,但我怀疑它有一个很酷的功能,即能够将所需的行为输入状态机图表,转动曲柄,并弹出C或C++代码.然后返回并编辑图表以生成相应的修订代码.我用C语言编写了微控制器,但对UML几乎一无所知.在过去,我保留了两个文件,其中一个是微控制器代码,另一个是流程图.每个代码修订版意味着维护两个单独的文

所以我的困境是:发现这个很酷的图表到代码一体化文档包含的工具,我很乐意使用它,但是,更重要的是,我只想完成我的项目.我是用旧方法做的,还是花几周时间学习UML?

Cli*_*ord 5

您可能还对Miro Samek的书" C/C++中的实用UML状态图 "感兴趣.请注意,Miro是Quantum Leaps的创始人和总裁,因此本书与该工具密切相关.

似乎Miro在RTOS开发方面的状态图开发方面投入了大量资金,已经编写了这本书并在博客上广泛发表了博客.他在LinkedIn的Real-Time Embedded Engineering小组上发起了一个题为" RTOS真的是设计嵌入式系统的最佳方式吗? "的话题 - 关于这个主题有很多意见!

我不确定这两者是否必然不同; 将各个RTOS线程实现为状态机通常很有用(并经常完成).他在他的博客" 我讨厌RTOS中提出了一些好处,但他的推理主要是基于糟糕的应用程序设计而不是RTOS技术本身.正如C或C++在使用不当时可能会有危险,因此可以使用RTOS.我是什么通常看到的是线程太少,内聚力差,耦合性差的应用程序,但我确信Miro会因为解决方案更多线程而撕掉他的头发!

UML 2.2指定了14种类型的图,状态机只是一种,因此不需要完整地学习UML.在这种情况下使用它是因为它是一个定义良好的模型,具有清晰的语法和语义,适用于定义行为细节.状态机图(或状态图)可能是最容易理解的UML行为图,并且具有任何UML图的最明确定义的语义.