硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2212|回复: 23
收起左侧

最近在做裸机开发的项目,用到状态机,这一块不太熟?

  [复制链接]

72

主题

113

回帖

329

积分

高级会员

积分
329
发表于 2023-8-9 15:22:04 | 显示全部楼层 |阅读模式
有没有什么好的技术资料呀,关于这方面的。领导安排不用RTOS,说是返璞归真,用裸机。让我把一个旧项目用FREERTOS的,改成裸机实现。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2023-8-9 16:48:07 | 显示全部楼层
论坛置顶帖V6标准库网盘的出厂程序就是个很大的状态机,没有使用RTOS
回复

使用道具 举报

27

主题

96

回帖

177

积分

初级会员

积分
177
发表于 2023-8-9 23:26:52 | 显示全部楼层
上电---》IDLE---->STATE1
              |
              |
              STATE2


不同状态输出不同,就是和fpga的状态机差不多。没用verilog写过状态机吗?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2023-8-10 00:05:09 | 显示全部楼层
珠联璧合 发表于 2023-8-9 23:26
上电---》IDLE---->STATE1
              |
              |

从设计的角度来说,大部分FPGA的状态机V代码设计要简单的多,计数器就是个状态机。主要是Mealy和 Moore状态机。

现在C编程的状态机要复杂很多,像UML状态机,现在很多支持的软件,可以一键生成代码。当然FPGA也可以做UML状态机,但麻烦很多。

回复

使用道具 举报

7

主题

134

回帖

155

积分

初级会员

积分
155
发表于 2023-8-10 08:56:53 | 显示全部楼层
习惯了OS 写裸机无从下手了,单从写程序来说用OS 确实简单许多,我刚入行前几年就习惯用OS,最近8-9年都是用裸机写程序
回复

使用道具 举报

85

主题

774

回帖

1029

积分

至尊会员

积分
1029
发表于 2023-8-10 08:57:01 | 显示全部楼层
搜一下有限状态机或许对你有帮助
回复

使用道具 举报

13

主题

89

回帖

128

积分

初级会员

积分
128
发表于 2023-8-10 11:12:11 | 显示全部楼层
只能状态机了,自己在实现个互斥量,好一点
回复

使用道具 举报

4

主题

50

回帖

62

积分

初级会员

积分
62
发表于 2023-8-10 13:03:40 | 显示全部楼层
强烈推荐QP状态机
回复

使用道具 举报

3

主题

114

回帖

123

积分

初级会员

积分
123
发表于 2023-8-10 21:29:53 | 显示全部楼层
我们这边的SB领导啥都要上RTOS,也是醉了
回复

使用道具 举报

85

主题

774

回帖

1029

积分

至尊会员

积分
1029
发表于 2023-8-10 22:53:22 | 显示全部楼层
萌军总司令 发表于 2023-8-10 21:29
我们这边的SB领导啥都要上RTOS,也是醉了

上OS很多好处的
回复

使用道具 举报

27

主题

96

回帖

177

积分

初级会员

积分
177
发表于 2023-8-11 09:36:26 | 显示全部楼层
萌军总司令 发表于 2023-8-10 21:29
我们这边的SB领导啥都要上RTOS,也是醉了

不要骂i领导傻逼,其实他才是过来人。
带RTOS好维护,换个MCU移植也方便。

裸机程序写的不好,换个MCU不累死你,分层不明,有条件还是上个RTOS好,当然简单项目,RAM又小就没必要。
回复

使用道具 举报

10

主题

252

回帖

287

积分

高级会员

积分
287
发表于 2023-8-11 10:25:46 | 显示全部楼层
珠联璧合 发表于 2023-8-11 09:36
不要骂i领导傻逼,其实他才是过来人。
带RTOS好维护,换个MCU移植也方便。

RTOS和可移植性没有强相关,业务和驱动强耦合的写法,用啥OS都无解。
写好兼容层,裸机都能实现分隔
回复

使用道具 举报

3

主题

114

回帖

123

积分

初级会员

积分
123
发表于 2023-8-14 15:40:40 | 显示全部楼层

如果是同步开发,驱动有人做,业务有人做也行。
回复

使用道具 举报

42

主题

986

回帖

1117

积分

至尊会员

积分
1117
发表于 2023-8-14 18:31:52 | 显示全部楼层
珠联璧合 发表于 2023-8-11 09:36
不要骂i领导傻逼,其实他才是过来人。
带RTOS好维护,换个MCU移植也方便。

谁说的?我的裸机程序,最近几年因为缺芯片各种换各种移植,200K(BIN)左右大小的程序,一两天就搞定了,尤有闲暇。
回复

使用道具 举报

72

主题

113

回帖

329

积分

高级会员

积分
329
 楼主| 发表于 2023-8-18 14:21:00 | 显示全部楼层
eric2013 发表于 2023-8-9 16:48
论坛置顶帖V6标准库网盘的出厂程序就是个很大的状态机,没有使用RTOS

好的,谢谢
回复

使用道具 举报

1

主题

12

回帖

15

积分

新手上路

积分
15
发表于 2023-8-21 14:01:22 | 显示全部楼层
eric2013 发表于 2023-8-10 00:05
从设计的角度来说,大部分FPGA的状态机V代码设计要简单的多,计数器就是个状态机。主要是Mealy和 Moore状 ...

能否推荐一个??还没过软件生成代码
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
111540
QQ
发表于 2023-8-22 09:14:21 | 显示全部楼层
晚起的鸟 发表于 2023-8-21 14:01
能否推荐一个??还没过软件生成代码

IAR状态机软件 IAR Visual State 11.1发布,支持跨平台,支持C/C++,C#和JAVA程序生成
https://www.armbbs.cn/forum.php? ... 1880&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

346

主题

2112

回帖

3155

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3155
发表于 2023-8-22 10:00:35 | 显示全部楼层
珠联璧合 发表于 2023-8-11 09:36
不要骂i领导傻逼,其实他才是过来人。
带RTOS好维护,换个MCU移植也方便。

自从用过RTOS后,觉得真香。 现在的mcu在芯片设计上也用了双指针,有利于RTOS。

用了RTOS后,思考方式更符合人性,功能容易分解,问题追踪也比较方便。
回复

使用道具 举报

0

主题

3

回帖

3

积分

新手上路

积分
3
发表于 2023-9-19 10:48:10 | 显示全部楼层
给你分享一个st的sequencer状态机框架,蛮不错的。file:///C:/Users/qweas/Documents/WXWork/1688854473461553/Cache/Image/2023-09/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_16939113062332.png

test_seq.rar

12.95 MB, 下载次数: 57

回复

使用道具 举报

0

主题

12

回帖

12

积分

新手上路

积分
12
发表于 2023-10-20 08:34:57 | 显示全部楼层
RAM足够用RTOS吧
回复

使用道具 举报

75

主题

1257

回帖

1482

积分

至尊会员

积分
1482
发表于 2023-10-20 16:46:23 | 显示全部楼层
fengxin32 发表于 2023-8-11 10:25
RTOS和可移植性没有强相关,业务和驱动强耦合的写法,用啥OS都无解。
写好兼容层,裸机都能实现分隔

说的很对。。。
回复

使用道具 举报

43

主题

224

回帖

353

积分

高级会员

积分
353
发表于 2023-10-20 20:07:26 | 显示全部楼层
只要带了GUI,就上RTOS。这个硬汉已经上过课了,大家学习不积极呀。
状态机是在某些场合好用,例如用户按开始,需要执行A,B,C,D很多步骤,但是每个步骤之间又要有响应,比如说可以随时停止。
如果是RTOS,可以在每个步骤里边等待信号量+超时,如果是超时,那就继续B步骤,说明用户没有按下停止,如果不是超时,那就根据标志,知道是用户要停止干嘛。这个思路好吧。
回复

使用道具 举报

3

主题

106

回帖

115

积分

初级会员

积分
115
发表于 2023-10-21 11:06:11 | 显示全部楼层
我们公司的一颗M0+内核的芯片,没有上操作系统,才4KB的RAM,使用的systick+软件定时器实现的裸机。
回复

使用道具 举报

75

主题

1257

回帖

1482

积分

至尊会员

积分
1482
发表于 2023-10-22 11:38:19 来自手机 | 显示全部楼层
2859932063 发表于 2023-10-21 11:06
我们公司的一颗M0+内核的芯片,没有上操作系统,才4KB的RAM,使用的systick+软件定时器实现的裸机。

不错不错
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-11-1 07:27 , Processed in 0.756655 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表