硬汉嵌入式论坛

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

裸机写多了写RTOS程序思路转变不过来。

[复制链接]

97

主题

537

回帖

843

积分

金牌会员

积分
843
发表于 2025-1-18 14:27:43 | 显示全部楼层 |阅读模式

总想着用状态机+轮询去解决业务问题。
但是用了RTOS还在轮询,感觉好浪费,完全没用起来。

原来裸机上积累的一些驱动全是基于轮询实现的。唉,如果开个任务去轮询,感觉还是和裸机的时候一个用法。

共产主义一定胜利!
回复

使用道具 举报

97

主题

537

回帖

843

积分

金牌会员

积分
843
 楼主| 发表于 2025-1-18 14:36:54 | 显示全部楼层
在单片机开发中我们应该注重的到底是什么?

软件程序员花费时间去做一些自认为能够提高代码质量或者说code clean的事情有必要吗?
例如直接移植裸机的驱动,花费半个小时。还是说要思考一下,把原来的驱动改成OS支持,用非轮询的事件方式去实现,花费几天。

功能并不是不能实现,芯片性能也完全绰绰有余。
可以说两种方式都能做到业务需求,并且性能表面上看不出来。
重构代码完全是为了自我满足。

花费这种时间有必要吗?

话题再展开去
我看到还有很多朋友会去折腾编译环境
例如好好的keil不用,非要去研究怎么用gcc编译,用cmake或者scons构建工程。
这个有必要吗?

作为一名单片机软件程序员,我们的生命有限,而技术无限。
我们应该把有限的生命专注于什么事情上呢?
是否只要能够把一个产品的做出来可以了呢?至于它里面的代码是怎么实现的,用的什么编译器,是否使用了设计模式。我们都不用关心呢?
共产主义一定胜利!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116226
QQ
发表于 2025-1-18 16:02:10 | 显示全部楼层
会飞的猪_2020 发表于 2025-1-18 14:36
在单片机开发中我们应该注重的到底是什么?

软件程序员花费时间去做一些自认为能够提高代码质量或者说co ...

1、在满足性能的情况下可以不用改,但随着程序的复杂,一些裸机的用法会在OS得到高效执行,问题自然会暴露出来,这个时候再修改就可以。
2、没有使用MDK和IAR,最大的一个原因还是版权,如果MDK和IAR免费使用,几乎将没有人愿意自己搭建环境。最明显的树莓派单片机,之前官方明确说了,不想为这些IDE交费。
  折腾这些还有一个原因,就是一些开源项目用的是GCC,有时候想测试下,就需要搭建环境了。
3、关于这条,首先是实现产品功能,这个确实是最重要的,这个基础上再说软件实现方法和后续迭代优化。

个人看法,仅供参考
回复

使用道具 举报

0

主题

280

回帖

280

积分

高级会员

积分
280
发表于 2025-1-19 14:33:24 | 显示全部楼层
吧查询状态的先改成信号量,邮箱,事件,然后会发现,其实RTOS和裸机比,差异没那么大了
回复

使用道具 举报

12

主题

37

回帖

73

积分

初级会员

积分
73
发表于 2025-1-20 08:40:17 | 显示全部楼层
转到OS应当改变软件结构,变成事件驱动,而不是之前的裸机思维的时间驱动

当然,能拔脓的就是好膏药,先解决问题,再考虑提升,现在是因为你的工程就只有你在维护,要是个大工程,各种规定就要随之而来,为了就是让别人也能看懂你的代码

关于MDK,但凡它自动补全、自动上色等常见IDE功能有的话,也不至于这么难用
至于集成AI,它更是没影
回复

使用道具 举报

97

主题

537

回帖

843

积分

金牌会员

积分
843
 楼主| 发表于 2025-1-20 09:48:26 | 显示全部楼层
eric2013 发表于 2025-1-18 16:02
1、在满足性能的情况下可以不用改,但随着程序的复杂,一些裸机的用法会在OS得到高效执行,问题自然会暴 ...

谢谢硬汉哥指教。
共产主义一定胜利!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-10 15:48 , Processed in 0.327795 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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