嵌入式行业与纯软件差异
ARM与嵌入式 2024-07-12

嵌入式的坑

烧钱

嵌入式的学习十分烧钱,这就让人有点望而却步。我是做DSP起步的,更是能体会到嵌入式绝对是一个拿钱搭梯子的学习行业。

在我的学习过程中身边有不少的人投向了CS行业,也就是纯软件开发,比如网页、手机应用、数据库等。他们有一台联网的电脑几乎可以搞定,也是基于这个原因,我当时也想做纯软件开发。当时老师想让我们买开发板,我都没钱。

在CS行业有一些资深的玩儿家,买一台服务器就算可以了。

然而做嵌入式的你,需要买开发板,买模块,做到天人合一,软硬结合,等着做稍微高端点了,你又萌生出自己画板子买芯片的想法,这个坑越走越深。等着差不多了,回头看看自己来过的路,就发现自己给自己搭了围城,想转行,已经花那么多钱了,能甘心吗,想继续走,那就继续烧钱吧。

我的第一个开发板是C51的开发板,好多年前的一个板子,我的第一个C51开发板花了168,那时候大一,一个月生活费就1000块,省吃俭用买了个这么大的。拿着个板子学到大二,觉得特别没劲,后来碰到了我的老师,入行了DSP,那时候看某宝,F2812稍微好点儿的六七百,还要买仿真器,仿真器奇贵无比,加起来1000多。

后来我决定趁老师在就去实验室用学校的DSP试验箱,据说那个试验箱4000块钱呢,老师不在的时候就看书。压力很大,可学习很有动力,慢慢的开始接项目做,小来小去的也做,赚一笔,投一笔,收二手板子,后来板子一大堆,现在STM32,MSP430,DSP的C5000,C6000都有,还有小孩玩儿的电子积木arduino,自己买了示波器,各种工具电烙铁,万用表。后来玩电路板,印PCB很贵,买芯片也很贵。主要原因是我比较有兴趣,别人喜欢赌博砸钱,我喜欢给自己屯设备,东玩西玩的,挺有意思。

这东西,你光看书肯定不行,必须要编,去调。程序都是20%编,80%调,这调呢,就需要板子了。如果没兴趣,估计每花一笔钱都肉疼,如果有兴趣,可以省吃俭用的搞。或许吧,兴趣就是这么大魅力。但无论兴趣与否,这钱必须要花。

一堆必要的理论
以前想随大流学Java,学了三个月放弃,我甚至为自己规划路线,Java语言开始,然后后边三大框架Spring什么的,我现在忘了。后期就觉得没有挑战力非常容易入门,并非我多大牛,现在Java,做网页,安卓,市面上基本是大专,高职,他们但凡有点儿兴趣和上进心的,都能做的很不错。差异化竞争十分的不明显。

做嵌入式学习的理论就多了,一个大的分支,你可以以专家模式学习,你也可以以工程师模式学习。

软件方面学习的量不亚于做Java,C++编程的,甚至和底层打交道还要学的更深入,难度更加大,算法数据结构神马的都要了解。

硬件方面就更多了,电子行业基本入门知识,电容电阻这些不用说了,模电了解,数电必须熟练,还要学PCB,PCB里面Layout,各种大小,功率信号完整性,不说精通,你需要掌握和明白,看各种芯片各种文档,然而经验积累也十分重要。这些才是冰山一角,做DSP的,算法仿真,数学理论各种专业的理论知识和程序杂糅在一起,需要考虑硬件设备,一些芯片的编程还要考虑电路结构,电容大小,这还没结束。调试上面,我们需要外接设备啊,软硬不分家,你还要看懂示波器,看懂频谱,真是够学了。有的时候觉得,学这么多也没用,人还是应该学的精,可常常最后的结果是,书到用时方恨少!学习量是个考验。做上EE工程,从来都是活到老学到老,不断的学习,不断的实践,现学现卖,现开发现积累。十分有挑战性。这是很坑的一点。

起始工资与纯软件差异
学了这么多,总想着付出就要有回报,实际上不然,互联网现在是热门的话题,各个行业都很缺人,到了社会上CS是又容易找,给的钱又多。我身边这些同学,参加培训,去了软件公司,曾经的屌丝手机也换成苹果了,小生活也好了,时而在朋友圈抱怨抱怨加班,实际上还是很享受生活的。

与CS比,嵌入式无为是卧薪尝胆。CS也一直树立整个信息行业程序员的形象,一提程序员,外行不得不联想开发出一个软件的工作。可见CS群体的巨大。可嵌入式也有自己的优势,这些优势也不得不写在后面。

嵌入式VS纯软件

1 学的多,自然也就硬

嵌入式行业是个柔性的后路极多的行业,可能嵌入式软件势头不好,我可以转去做硬件,做硬件势头不好,我在努力一下去研究算法。在学嵌入式之出,入门之前,我们建立了一个庞大的地基,风向不好,则选另头建。就算整个嵌入式行业轰榻,嵌入式工程师转CS轻而易举,反而有高屋建瓴的优势。相比于CS,只能一条路走到黑,不甘心一直写代码的,瞄准产品,运维,风险还是有的。

2 沉淀经验

嵌入式行业是个时间沉淀的过程,无人能逆袭,做不到极致,只能做的更好。这话怎么说呢,就是五年的不如十年的硬,十年的不如二十年的硬。年轻人的优势就是思维灵活,接受新东西快,所以入行常常靠软件这个门路,入行几年开始积累硬件的知识,从底层追求极致,硬件是个慢功夫,经验比书本上的知识准,或者说,有些东西写不进书里只能自己明白,这就需要经历,所以,每个人都要爬台阶。

然而CS,处境十分尴尬,做几年,前有同行挡路,后有新人竞争,两头堵。这是我们公司的一个老软件工程师说的,虽然喝酒的时候吹牛逼,但是可以看到他很为自己担忧:做十年和做五年功效是一样的,换句话说,很容易“满级”。

3 纯软件越开发越简单

现在开发软件,有没有觉得越来越简单,封装性,模块化,流程化趋近完美。这要感谢大批进入CS行业的前辈们,在方便的同时,也堵死了CS的道路。太容易就不需要那么多人了,大口径的收纳这么多人,等着一潮波浪向东过去,反作用的时候,会淹死后来的一批人,这是有迟滞性,当前看不出来。你可以保证这个潮流走10年,敢保证20年吗?越积累,后劲儿越可怕。

4 嵌入式稳如老牛

平心而论,在大牛的世界,互联网行业百万年薪的人很多,可嵌入式这样的顶层人很少,处于搬砖阶段的,也可能码代码赚的多些。但最主要的中坚力量,还是嵌入式稳。人要把眼光放长,定位好自己,追求互联网顶层的人可能很多,但这条路上死的更多。在嵌入式上,你可以做的不温不火,大多数都能丰衣足食吧。

选择嵌入式,我相信,到了40岁的时候,你会感谢自己的选择,感谢自己的辛苦。耕耘多,总会有收获的。毕竟天道酬勤。人不能只看眼前不是。 


声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【立即预约】Keysight直播:搞懂介电常数那些事儿


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    2小时前
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    2小时前
  • 51单片机定时器工作原理及用法

    TMOD : 控制定时器的工作方式。8个bit,高四位 bit 控制 T1,、低四位 bit 控制 T0。因为定时器有4种工作方式;TMOD = 0x00(工作方式0),TMOD = 0x01(工作方式0),TMOD = 0x02(工作方式2),TMOD = 0x03(工作方式3)。...

    2小时前
  • 51单片机学习单片机之路总结

    学习单片机有一学期了,现在也由51转到STM32了。一直想对51的学习做一个总结。也希望对别人有一些启发。也给后学者提供一些建议。当然本文是我对自己学习过程的总结,若有不对的地方,还请高手指出。 我想,再看本...

    2小时前
  • hot51增强型单片机开发板原理图

    功能要求: 一):绿灯25s倒计时,绿灯过度红灯有5s黄灯时间,红灯25s后直接跳绿灯。 二):按键按下模拟闯红灯输入,产生5s蜂鸣器鸣叫。 开发环境: 软件:Keil uVision4 硬件:HOT51增强型单片机开发板 程序代码:...

    昨天
  • 51单片机的延时子程序

    延时程序在单片机编程中使用非常广泛,但一些读者在学习中不知道延时程序怎么编程,不知道机器周期和指令周期的区别,不知道延时程序指令的用法, ,本文就此问题从延时程序的基本概念、机器周期和指令周期的区别和联系...

    昨天
  • 什么是Flash盘?Flash盘的结构是什么样的?

    Flash是大家常使用的存储之一,对于Flash,大家或多或少有所了解。上篇文章中,小编对Flash闪存的类型有所介绍。为继续增进大家对Flash的认识,本文将对Flash盘、Flash盘结构以及Flash读写操作予以介绍。如果你对本...

    昨天
  • 深谈嵌入式系统,嵌入式系统是如何组成的?

    嵌入式系统在生活中有诸多应用,大家对于嵌入式系统或多或少有所耳闻。在前两篇文章中,小编对嵌入式系统进行过详细介绍。为继续增进大家对嵌入式系统的认识,本文将对嵌入式系统的组成加以说明。如果你对嵌入式系...

    06-27
  • 嵌入式系统秘籍共享,最全嵌入式系统解析

    嵌入式系统的应用十分广泛,因此越来越多的人学习嵌入式系统。由此,在学习嵌入式系统之前,我们应当对嵌入式系统具备一些认识。所以在本文余下部分,小编将对嵌入式系统进行全面解析。如果你对嵌入式系统具有兴趣...

    06-27
  • 51单片机超声波测距程序详解

    51单片机超声波测距程序详解 超声波四通道测距:超声波测距实现分为三大块: 其一是12864带字库的液晶驱动程序: 代码如下: /////////////////12864驱动程序/////////////////////////// //1写数据 void WriteDat...

    06-25
  • 51系列单片机的引脚图

    51系列单片机的引脚图 端子介绍 l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。 l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。 l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。 l P3.0~P3.7 P2口8...

    06-25
  • 51单片机串口通信需要加超时中断吗?

    接收数据时,超过一定时间就算出错. 这个超时的时间是单片机自己算出的吗?超时的时间是由编程序的人定的,他定多长就多长从一段程序开始 实现电脑向 单片机发送一些数据,单片机返回Iget +数据 #include #define u...

    06-25
下载排行榜
更多
评测报告
更多
EE直播间
更多
广告