硬汉嵌入式论坛

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

[技术讨论] 请教一下各位坛友,关于裸机编程和RTOS在什么时候选择合适

  [复制链接]

12

主题

44

回帖

80

积分

初级会员

积分
80
发表于 2024-9-3 22:14:56 | 显示全部楼层 |阅读模式
1.各位坛友主推用裸机还是RTOS,目前项目上主要都是习惯性用裸机编程了,但是看见大家都在使用RTOS,目前也想上RTOS,从裸机切换到RTOS需要学习些什么,有一些可以参考的书籍或者手册,麻烦各位推荐一下。
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-9-4 03:16:29 来自手机 | 显示全部楼层
程序复杂到一定程度,就需要考虑上操作系统了。操作系统帮我们完成任务调度切换。不需要我们再自己定义变量设置各种标志位了
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-9-4 03:24:56 来自手机 | 显示全部楼层
我从裸机程序切换到开始用操作系统,是我开始接触单片机十年以后的事儿了,早期程序相对简单,一直用裸机。到了后来产品做的复杂了,各种变量标志位满天飞。自己感觉快崩溃招架不住了。代码每次维护修改都很麻烦。改一处代码要考虑很多地方。生怕影响程序结构。裸机程序耦合性太高了。换成操作系统以后可以把程序的各个功能模块划分开。代码逻辑清晰了。维护起来也方便了。后悔上操作系统晚了。上操作系统主要前期学习的时候需要花些时间成本。前期学习有点痛苦。后面熟悉了就好了。一旦用起来以后写代码的效率成倍的增高了
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-9-4 03:27:54 来自手机 | 显示全部楼层
一般来说只要单片机flash ram容量能够装下程序就可以考虑直接上操作系统。
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-9-4 03:40:01 来自手机 | 显示全部楼层
我这里也提出一个疑问,对于数码管需要动态扫描保持显示,在不用专门的数码管驱动芯片,自己程序实现显示的话感觉用ucos就不是很合适。我认为一旦有数码管动态扫码就需要定时扫描数码管。定时时间不能太长,太长显示闪烁。太短太占用cpu,不知道我的理解是否正确。
回复

使用道具 举报

12

主题

44

回帖

80

积分

初级会员

积分
80
 楼主| 发表于 2024-9-4 08:27:35 | 显示全部楼层
logo 发表于 2024-9-4 03:24
我从裸机程序切换到开始用操作系统,是我开始接触单片机十年以后的事儿了,早期程序相对简单,一直用裸机。 ...

感谢感谢,有什么推荐学习的书籍或者资料吗
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-9-4 09:01:21 | 显示全部楼层
使用RTOS有这么个原则,如果你当前的应用使用裸机完全满足需求,那就必要上RTOS,使用了反倒累赘。

RTOS最方便的是方便多任务管理,以及有些中间件,有了OS支持,才能更好的使用。
回复

使用道具 举报

3

主题

195

回帖

204

积分

高级会员

积分
204
发表于 2024-9-4 09:07:18 | 显示全部楼层
我是简单,实时性高的就裸机,有多任务需求的就考虑RTOS
回复

使用道具 举报

43

主题

1053

回帖

1187

积分

至尊会员

积分
1187
发表于 2024-9-4 09:37:34 | 显示全部楼层
本帖最后由 ghslfgkkl88 于 2024-9-4 09:38 编辑

我们有用RTOS的,也有不用的。当裸机能轻松应对的时候,就没必要上RTOS。
你始终牢记一点:操作系统最核心最主要的作用,是让资源利用效率最大化。比如你系统里面有读写flash的功能,读写flash速度慢,需要的时间长,如果一直死等,那就是浪费。这种情况下操作系统的作用就来了,读写flash的时候可以去干其他的,提高了资源利用效率。

不用怀疑,就这么简单,操作系统出来的时候就是解决资源利用和管理问题的。
回复

使用道具 举报

12

主题

44

回帖

80

积分

初级会员

积分
80
 楼主| 发表于 2024-9-11 21:38:17 | 显示全部楼层
ghslfgkkl88 发表于 2024-9-4 09:37
我们有用RTOS的,也有不用的。当裸机能轻松应对的时候,就没必要上RTOS。
你始终牢记一点:操作系统最核心 ...

感谢宝贵的建议
回复

使用道具 举报

12

主题

44

回帖

80

积分

初级会员

积分
80
 楼主| 发表于 2024-9-11 21:41:31 | 显示全部楼层
eric2013 发表于 2024-9-4 09:01
使用RTOS有这么个原则,如果你当前的应用使用裸机完全满足需求,那就必要上RTOS,使用了反倒累赘。

RTOS ...

硬汉老师你好,我现在有这么一个需求,需要做到任务可以自行配置,比如我这一次有20个任务的配置,然后现在客户需求变更,需要用到10个任务,我要实现通过通信的方式(串口,网络等形式)去增减这种任务,并支持变化任务执行的顺序。这种情况下适合用裸机还是操作系统
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2024-9-12 07:32:40 | 显示全部楼层
frankff 发表于 2024-9-11 21:41
硬汉老师你好,我现在有这么一个需求,需要做到任务可以自行配置,比如我这一次有20个任务的配置,然后现 ...

如果你现在的管理使用裸机可以比较方便实现,那没必要使用RTOS,使用RTOS反倒累赘
回复

使用道具 举报

12

主题

44

回帖

80

积分

初级会员

积分
80
 楼主| 发表于 2024-9-12 08:11:19 | 显示全部楼层
eric2013 发表于 2024-9-12 07:32
如果你现在的管理使用裸机可以比较方便实现,那没必要使用RTOS,使用RTOS反倒累赘

好的,谢谢
回复

使用道具 举报

5

主题

40

回帖

55

积分

初级会员

积分
55
发表于 2024-9-12 20:56:10 | 显示全部楼层
单纯使用RTOS的话,写代码比裸机简单多了,因为有些逻辑用裸机不好写,或者就算写出来了也不好维护,流程不够清晰
我觉得除了资源受限或者连任务调度这点时间都需要考虑的话,其他情况都尽量上
很多中间件都依赖RTOS
回复

使用道具 举报

12

主题

44

回帖

80

积分

初级会员

积分
80
 楼主| 发表于 2024-9-14 22:07:59 | 显示全部楼层
p00equal1 发表于 2024-9-12 20:56
单纯使用RTOS的话,写代码比裸机简单多了,因为有些逻辑用裸机不好写,或者就算写出来了也不好维护,流程不够清 ...

好的,感谢,现在还不太熟悉RTOS,需要花点时间去学习一下
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-9-20 23:19:44 | 显示全部楼层
p00equal1 发表于 2024-9-12 20:56
单纯使用RTOS的话,写代码比裸机简单多了,因为有些逻辑用裸机不好写,或者就算写出来了也不好维护,流程不够清 ...

这里的中间件一般指的是什么
回复

使用道具 举报

78

主题

278

回帖

512

积分

金牌会员

积分
512
发表于 2024-9-20 23:24:46 | 显示全部楼层
frankff 发表于 2024-9-4 08:27
感谢感谢,有什么推荐学习的书籍或者资料吗

推荐直接跑网上各种开发板配套的代码,自己跑一下。书籍作为手册查阅。我的学习路径是这样的。
回复

使用道具 举报

5

主题

40

回帖

55

积分

初级会员

积分
55
发表于 2024-9-21 21:47:12 | 显示全部楼层
logo 发表于 2024-9-20 23:19
这里的中间件一般指的是什么

图形界面,文件系统,各种协议栈这些
回复

使用道具 举报

11

主题

60

回帖

93

积分

初级会员

积分
93
发表于 2024-9-22 23:16:50 | 显示全部楼层
用惯了RTOS,裸机回不去了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-12 02:51 , Processed in 0.058864 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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