当前位置: 首页 > news >正文

嵌入式操作系统那么方便好用!为啥还要用单片机?

从事第一份牛马工程师的时候,平时主要做单片机开发,业余没事,我也拿了一本ucos-ii的书在那啃,也浅浅学了一点Linux。

以前还blog还流行的时候,还做过笔记,已经是10几年前的事了。

想着学了这些系统,能做更牛逼的产品,工资还不蹭蹭往上涨?

后面工作没机会上系统,一直也就搁置了,随着工作经验越来越丰富,到工作了6,7年左右,就完全没心思学操作系统了。

如果你拿裸机和操作系统去比,不管是比前景,还是比钱景,我觉得毫无意义。

就像你楼下500米就是菜市场,骑雅迪去不香吗?非要开个奥迪去里面塞,所以,关键是要看实际需求嘛!

分享几个,目前单片机无法替代的点:

1.成本

说到成本,相信做过几年工程师的,都是一把泪,特别是硬件工程师。

老板天天像念经一样:"成本能再低点不?

产品经理天天找事:"竞品比我们便宜!”

对成本有要求的产品太多了。

像玩具类产品,一个遥控小车卖39块9,扣去包装、外壳、电机、轮子、电池...好家伙,控制板的成本连10块都不到。

这种情况下,要是还想上操作系统,上ARM?我怕是你想让老板要上天台。

2.实时性

说个段子,有个团队用操作系统做武器控制,结果调试时发现系统偶尔会卡那么一下。

工程师说:没事,就一毫秒。

结果军方代表当场就笑了:"一毫秒?导弹都飞出去三米了!"

工程师打开代码一看,偶尔会有其他任务抢占,导致控制延时。

这种时序性的问题最难排查,因为可能正常跑一整天都没事,突然就蹦出来一个。

其实大家想想也是,操作系统再怎么优化,它首先考虑的是多任务调度的"公平性",而不是某个特定任务的实时性。

就像食堂打饭,讲究的是先来后到,但你要是饿得要命,就会想着插队。

以前有个研发经理跟我说过一句话,一听就是被毒打过。

他说:宁可又LOW逼又简单,不能不稳定。

他做51单片机的产品,指针都不用,他做了研发10几年,难道他不会吗?

现在很多人一上来就用操作系统,感觉不用系统就low了。

其实在实时性要求高的场合,单片机的简单反而成了优势,主要体现在以下几点:

第一,程序流程清晰可控,每个时钟周期都可以预测

第二,不会出现莫名其妙的任务抢占

第三.再小的延时抖动都可以通过调整来消除

所以你看,那些对时序要求特别严格的场合,基本都是用单片机的。

3功耗

再讲一个段子,一哥们用操作系统做了个手环,美滋滋地给老婆展示:"你看,这功能多齐全,画面多漂亮!

结果老婆淡淡地问了句:"为啥每天都要充电?"

最后,这位老哥默默地换成了单片机方案...

单片机在最低功耗下,能达到nA级别,上了操作系统的芯片,咋比?

4.开发周期

虽然都是调库侠,个人感觉用单片机开发效率比较高,特别是出现BUG排查的时候。

其实,想用裸机,又想上点类似于实时操作系统这样的架构装逼,完全可以自己写一个。

比如我在早期就做过一个轮询的小系统:

什么?不会?正好我录过一套教程,来个三连找我安排,先看看实力不收费,哈哈。

最近发现,很多私聊我学单片机的小伙伴,99%的人都走了弯路,所以我花几个小时,写了一篇保姆级学习路线^ ^

单片机怎么学?保姆级学习路线(附教程+工具)icon-default.png?t=O83Ahttps://blog.csdn.net/2401_86645590/article/details/141437874


http://www.mrgr.cn/news/62053.html

相关文章:

  • pyav保存视频
  • 019集——获取CAD图中多个实体的包围盒(CAD—C#二次开发入门)
  • LeetCode 3211.生成不含相邻零的二进制字符串:二进制枚举+位运算优化
  • 聊一聊Elasticsearch的一些基本信息
  • 地球上的中国:世界地图概览
  • WinDbg符号表下载问题解决
  • StructRAG简介
  • Open SSH服务配置
  • 20 Docker容器集群网络架构:三、Docker集群部署
  • Java项目:超市管理系统(有源代码)
  • Python小白学习教程从入门到入坑------第二十课 闭包修饰器(语法基础)
  • 财务透明度不足对企业运营决策的影响
  • HarmonyOS 5.0应用开发——文件读写
  • HBuilderX 下载安装
  • 【含文档】基于ssm+jsp的高校隔离宿舍管理系统(含源码+数据库+lw)
  • idea main 不是模块 导致找不到或无法加载主类
  • OpenSSH用户枚举漏洞修复——ubuntu升级ssh版本
  • minio javascript 常用操作整理(未完继续)
  • 在AdaBoost中,分类错误的样本的权重会增大
  • 《达梦》达梦数据库安装步骤(VMware16+麒麟 10+DM8)
  • JS:列表操作
  • 『Linux学习笔记』如何在 Ubuntu 22.04 上安装和配置 VNC
  • Python第六次作业
  • 云腾五洲的智联引擎是什么?
  • Day 3 DNS劫持
  • 微信小程序app.js里面onLaunch里面的函数比page里面的onshow里面的方法后执行