Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >微控制器的状态机与RTOS

微控制器的状态机与RTOS
EN

Stack Overflow用户
提问于 2011-08-19 04:15:19
回答 3查看 4.3K关注 0票数 4

我偶然发现了一个free state machine tool。这似乎是为了以图形方式对嵌入式系统进行编程。通过这样做,作者声称所产生的代码比使用RTOS时更容易维护。这个工具是基于UML的,这是很好知道的,但是有一个陡峭的学习曲线。

我想知道这里一些更有经验的程序员是如何看待这个工具的。

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

所以我的两难境地是:我发现了这个很酷的图表到代码的一体化文档工具,我很想使用它,但更重要的是,我只想完成我的项目。我是按老方法做呢,还是花几周时间学习UML?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-21 08:46:39

您可能还会对Miro Samek的书"Practical UML Statecharts in C/C++“感兴趣。请注意,Miro是Quantum Leaps的创始人和总裁,因此本书与该工具齐头并进。

Miro似乎在状态图开发上投入了大量资金,而不是RTOS开发,他写了这本书,并在这个主题上发表了大量的博客。他在LinkedIn的实时嵌入式工程小组上发起了题为"Is an RTOS really the best way to design embedded systems?“的帖子-那里有很多关于这个主题的意见!

我不确定这两者是否一定是不同的;将单独的RTOS线程实现为状态机通常很有用(而且经常这样做)。他在他的博客"I Hate RTOSes,但他的推理在很大程度上是基于糟糕的应用程序设计而不是实时操作系统技术本身。正如C或C++在不明智的使用时可能是危险的,实时操作系统也是如此。我通常看到的是线程太少,内聚力和紧密耦合都很差,但我相信米罗一想到解决方案是更多的线程就会撕裂他的头发!“

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

票数 5
EN

Stack Overflow用户

发布于 2011-08-19 08:24:36

我没有尝试过这个工具,但是如果你得到UML图,那么它对你的项目文档来说总是更好的。使用类图从UML生成代码现在已经很好了,我想其他图也是一样的。

票数 0
EN

Stack Overflow用户

发布于 2011-09-21 18:30:45

http://www.StateSoft.org上提供了一种可能满足您需求的方法,它使用非常小但功能完整的UML子集-如果您查看状态机图库中的图形化API集,您将在几分钟内直观地了解所需的UML符号子集。为了提高嵌入式系统内存的使用效率,产生了高度优化的表。根据您使用的是C还是C++,您可以选择紧凑表执行器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7116881

复制
相关文章
到底该不该用RTOS——rtos的优点
······等等一些关于RTOS的问题,其实归根结底还是你对RTOS了解的不够,项目开发的经验还不足等。
全栈程序员站长
2022/09/20
3K0
到底该不该用RTOS——rtos的优点
为什么航天器、导弹喜欢用单片机,而不是嵌入式系统?
前几天和一个在某研究所的发小聊天,他说:现在的航空、航天和导弹等武器装备中,控制系统几乎都是用单片机,而不是嵌入式系统。
IOT物联网小镇
2021/05/13
1.3K0
为什么航天器、导弹喜欢用单片机,而不是嵌入式系统?
状态机的概念与设计
一般情况下,状态触发器的数量是有限的,其状态数也是有限的,故称为有限状态机(Finite State Machine,简称为FSM)。状态机中所有触发器的时钟输入端被连接到一个公共时钟脉冲源上,其状态的转换是在同一时钟源的同一脉冲边沿同步进行的,所以它也被称作时钟同步状态机。
timerring
2023/02/24
6330
状态机的概念与设计
AIoT应用创新大赛-基于TencentOS Tiny的Lot-MP3
开发板:EVB_AIoT RT1062——核心板采用的RT1062处理器属于i.MX RT 系列 MCU,是由 NXP 推出的跨界处理器,跨界是指该系列MCU的定位既非传统的微控制器、也非传统的微处理器,i.MX RT 系列 MCU 则综合了两者的优势,既具备高频率(最高主频600M)、高处理性能,也具备中断响应迅速、实时性高的特点。
Mr just
2022/03/15
7490
FreeRTOS系列第7篇---Cortex-M内核使用FreeRTOS特别注意事项
在阅读本文之前,有两个定义在FreeRTOSConfig.h中的宏,你必须先明白它们是什么意思,《FreeRTOS内核配置说明》一文中,讲解了这两个宏:
李肖遥
2020/07/16
1.3K0
FreeRTOS系列第7篇---Cortex-M内核使用FreeRTOS特别注意事项
JavaScript与有限状态机
有限状态机(Finite-state machine)是一个非常有用的模型,可以模拟世界上大部分事物。 简单说,它有三个特征:   * 状态总数(state)是有限的。   * 任一时刻,只处在一
ruanyf
2018/04/12
9910
JavaScript与有限状态机
嵌入式裸机过渡到RTOS七点建议~
实时操作系统已经成为许多嵌入式系统中的关键组件,从裸机调度过渡到RTOS可能是一件棘手的事情。这里有七个小技巧可以帮助嵌入式开发人员更轻松地完成过渡。
混说Linux
2023/02/24
4140
嵌入式裸机过渡到RTOS七点建议~
yarn中的事件分发与状态机框架
在早之前的文章《YARN——任务提交启动流程》中提到了,其处理逻辑是围绕applicaiton、container、attempt实例对象的创建,各自状态机的变化来实现的。
陈猿解码
2023/02/28
7750
yarn中的事件分发与状态机框架
相亲模型与有限状态机
如果有人问你需要几步可以把大象关进冰箱里,你脑海中肯定浮现起宋大妈的笑容并脱口而出:3步。
CS实验室
2022/08/01
4960
相亲模型与有限状态机
机器人操作系统ROS1和ROS2各版本联通性笔记
ROS1在windows和linux下,indigo,kinetic,melodic和noetic,都能互通,不会遇到问题。
zhangrelay
2021/03/03
1.5K0
stm32CubeIDE中CMSIS_V1和CMSIS_V2选项的区别
STM32CubeIDE在stm32开发者起着最基础的作用,在STM32CubeIDE中配置FreeRTOS中间层时需要选择interface,其中有三个选项:Disable、CMSIS_V1和CMSIS_V2
李肖遥
2022/12/22
1.7K0
stm32CubeIDE中CMSIS_V1和CMSIS_V2选项的区别
消息队列在RTOS的应用
传说互联网应用有两大利器,一个是缓存,另一个就是消息队列。 一直相对消息队列做一下梳理,希望早日另有成文。 一叶知秋,实际上消息队列在嵌入式系统中同样有着广泛的应用。 近来致力于IoT和智能硬件,现学习一下消息队列在RTOS中的应用场景。
半吊子全栈工匠
2018/08/22
1.1K0
消息队列在RTOS的应用
8051微控制器简介
版权声明:本文为博主原创文章,转载请注明博客地址: https://blog.csdn.net/zy010101/article/details/80096480
zy010101
2019/05/25
7560
有限状态机FSM的原理与GO的实现
有限状态机(Finite-state machine, 简写FSM)又可以称作有限状态自动机。它必须是可以附着在某种事物上的,且该事物的状态是有限的,通过某些触发事件,会让其状态发生转换。为此,有限状态机就是描述这些有限的状态和触发事件及转换行为的数学模型。 有限状态机组成 有限状态机有两个必要的特点,一是离散的,二是有限的。基于这两点,现实世界上绝大多数事物因为复杂的状态而无法用有限状态机表示。 而描述事物的有限状态机模型的元素由以下组成: 状态(State):事物的状态,包括初始状态和所有事件触发后的状
李海彬
2018/03/28
3.6K0
有限状态机FSM的原理与GO的实现
RTOS函数命名规则
函数名包含了函数返回值的类型、函数所在的文件名和函数的功能,如果是私有的函 数则会加一个 prv(private)的前缀。
小锋学长生活大爆炸
2020/08/13
1.9K0
RTOS函数命名规则
该不该用RTOS?
一些初学者,以及刚工作不久的工程师都有这样的疑惑,今天就来分享一下这个话题:该不该用RTOS?
MCU起航
2022/03/31
1.9K0
RTOS 采样任务设计
在现实生活中,大多数我们所接触到的信号都是一种模拟信号,电压、电流、声音信号等。我们在嵌入式开发过程中,有时候会涉及到模拟信号的采集,在采集过程中,为了更好地还原出信号原本的样子,有这个一个采样定理,被称之为 Nyquist 采样定理,采样定理的内容是这样的:要从采样信号中不失真地恢复原始信号,那么采样频率应该大于原始信号最高频率的两倍,所以在编写程序中,我们为了能够从采样信号中不失真的恢复出原始信号,那么我们必须设置合适的采样率,下面笔者将不同地角度阐述几种确定采样率的方法,也就是确定采样周期。
wenzid
2021/03/04
5970
RTOS 采样任务设计
不要用烂了RTOS
今天跟一个工程师聊到嵌入式实时操作系统的话题,随着嵌入式实时操作系统(RTOS)越来越多的应用以及流行,如,linux, freeRTOS, uClinux, ucOSIII,MQX,等等。有越来越多的工程师动不动一个项目就给出使用RTOS的方案,这在做设计时候是一个很大的误区和陷阱,其实有的小项目,用裸机实现可能更简单和节省成本和维护难度,调试方便。要根据项目中的实际应用选择无RTOS和有RTOS的方案,切勿人云亦云。但在一些大型复杂的项目中可以使用RTOS. 如果有license需求的在商业产
用户1605515
2018/04/10
2.8K0
CMSIS的简介_CMSInitiatingOccupancyFraction
Cortex微控制器软件接口标准(Cortex Microcontroller Software Interface Standard)是ARM和一些编译器厂家以及半导体厂家共同遵循的一套标准,是由ARM专门针对CORTEX-M系列提出的标准。在该标准的约定下,ARM和芯片厂商会提供一些通用的API接口来访问Cortex内核以及一些专用外设,以减少更换芯片以及开发工具等移植工作所带来的金钱以及时间上的消耗。只要都是基于Cortex的芯片,代码均是可以复用的。CMSIS是 Cortex-M 处理器系列的与供应商无关的硬件抽象层。使用 CMSIS可以为处理器和外设实现一致且简单的软件接口,从而简化软件的重用、缩短微控制器新开发人员的学习过程,并缩短新设备的上市时间。
全栈程序员站长
2022/09/20
7710
点击加载更多

相似问题

RTOS与微控制器

14

与rtos

28

RTOS中的RTOS

31

RTOS与传统固件编码

344

RTOS TCB与任务堆栈

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文