嵌入式软件开发是做什么的?要学哪些课程?

一说到嵌入式开发,大多数人想到的是ARM、Linux、C++、安卓等等。

看了很多相关的入门学习文章,一脸茫然,这学习的东西也太多了吧?门槛也太高了吧?

我做了这个行业10年,现在看到网上那些入门文章都感觉学习难度很大,很多新手就是这样从入门到放弃的。

但真实的情况是,这个行业入门门槛低到让你发指,只要你能坚持,初中文凭照样能玩得很溜。

如果你真的喜欢研究技术,喜欢做一个创客,通过自己掌握的技术把自己天马行空的想象变成现实产品,那嵌入式开发绝对是你必学的技术。

1.嵌入式软件开发是做什么的?

很多人可能还不知道,嵌入式软件开发是做什么的。

简单来说啊,就是你写程序控制硬件电路去实现电子产品的智能控制功能。

相对纯软件,嵌入式开发更有意思,纯软件学习过程大多数都是在屏幕上打印一些冷冰冰的字符。

而嵌入式开发大多数是在开发板上面,你很快就能写程序去控制一个LED灯,这是不是更有意思一些?

还有就是嵌入式开发是基于芯片开发,比如说一些ARM芯片,这种芯片就像是电脑CPU一样,只不过性能、成本、尺寸各方面比电脑CPU要精简。

这种更适合去做定制化的电子产品,比如说丰巢快递柜,平板电脑等等。

2.嵌入式开发要学习哪些课程?

很多新手从开始就已经走错了方向,嵌入式涉及的技术太多了。

就像一个公司的组织架构一样,一个公司分很多职位,比如说有做技术的、有做业务的、有做人力的等等。

同样,嵌入式开发也分很多方向的,主流的方向就是:

  • 单片机开发
  • ARM+Linux开发

还有别的FPGA/DSP等等就先不说了。

如果你前期方向不定位清楚,你基本不可能学会嵌入式开发,因为学的东西太多了,你根本学不过来,长期学习没结果肯定也会放弃。

但是如果我们定位很清晰,那学习的速度就像开挂一样。

我经常和我们无际单片机编程的学员说,要活成一道激光一样,聚焦一个点死磕,这样才能快速有效做出成绩。

那单片机开发和ARM+Linux开发有什么区别?

单片机开发主要做中低端产品,比如说大家一定接触到的ofo共享单车、智能家居传感器和网关、无人机、扫地机器人等等。

ARM+Linux主要做中高端产品,比如说平板电脑,智能机器人等等。

这两个方向没有谁比谁更好的说法,各自的应用场景和产品不同。

很多人说学嵌入式开发就学ARM、Linux,单片机开发没前途,这种纯粹是技术人和外行人的思维。

曾经我也是这样想的,我这几年一直在做单片机开发,单片机开发总是比做ARM+Linux开发的工资低,心理也很不爽。

自从后面看到一些只会51单片机,年入几百万老板的时候,才彻底颠覆我的三观。

技术再牛逼,做的东西再高端又如何?

认知和思维不进步,你的收入永远都是打工水平。

所以,技术水平和收入并不是因果联系,技术再好,从打工的层面都会有瓶颈,关键还是怎么通过技术这个工具去产生价值。

Ok,有点扯远了,回到主题,嵌入式开发要学哪些课程?

我们前面说了方向,拿我最熟悉的单片机开发来说。

一个电子产品实际开发会有2个人共同开发:硬件工程师软件工程师

我们的定位就是软件工程师,因为待遇会比硬件工程师好一点,现在硬件很多都是集成化,所以做硬件成长过程会比较坎坷,接触不到核心的技术。

如果接触不到核心技术,那硬件不如软件工资高。

这样一步步缩小我们的定位以后,再根据我们定位去收集学习的内容,最后你会发现你要学的东西其实并不多。

收集学习内容最好的方法就是去招聘平台搜相关职位。

比如说我们可以搜:单片机工程师/嵌入式工程师。

这个是某鹏汽车的单片机开发职位,结合我从事这个行业10年的经验总结出,必须要学习就是以下几个课程:

  1. C语言

嵌入式和单片机开发主要是用c语言来编写程序去控制硬件完成相应的产品功能。

其实汇编也可以,但是汇编写的代码维护起来很麻烦,现在一般很少用,所以主要学C为主。

我们无际单片机编程也录制了一套单片机c语言的入门教程,非常适合新手。

这套本来是为零基础的学员录制的,后面感觉这块教程已经泛滥,干脆分享出来了。

2.电路基础

做嵌入式单片机开发主要就是写程序控制硬件,所以需要有一定的电路基础,学到看得懂电路就可以了。

3.单片机

目前市面上单片机的型号很多,基本都是大同小异,新手可以先从51单片机开始学起,比较容易上手,后面再进阶到STM32。

更详细的学习路径和教程可以参考我以下这篇文章,每个阶段学什么,学到什么程度都讲的很清楚。

单片机入门到高级开挂学习路径(附教程+工具)

最后,祝大家学有所成!

无际单片机编程
关注 关注
  • 36
    点赞
  • 158
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
博客
单片机入门到高级开挂学习路径(附教程+工具)
02-26 6万+
一、先帮大家解答几个问题:1. 单片机是什么?答:单片机就是一个微型CPU,把程序烧录芯片里面,通过控制不同的外围电路实现不同产品的功能。2. 学单片机编程对数学英语有要求吗?答:数学会基本的加减乘除就行,英语会认单词a-z就行,很多外行人看到代码里一堆英文就头嗡嗡响,其实不然,只有少数语法是固定的,大多数英文都是工程师自己定义的,比如大神你也可以定义成DaShen(中文缩写)。那很多人此时就开始质疑,当初这么辛苦学数学和英语到底是为毛?数学和英语不是单片机开发的门槛,但却决定你以后能达到的高度,
博客
嵌入式软件天花板是不是不高?
05-07 696
我粗略算过下他们的运营成本,月光租金都要几万甚至十几万,还有人工成本,研发部6个人,一个月工资至少都得发7-8万,加上其它乱七八糟的开支,每个月固定成本都要10几万以上。工薪阶层以内,天花板有多高,和学历,行业,能力关系最大,不一定是技术深度,做单片机开发比Linux高的,也很多。而他的运营成本,估计比我们还低,自己一个人,租个小办公室,硬件,软件全自己做,然后生产外包,自己跟进下就好。前几天,有个做贴片厂的朋友和我们说,他有个客户,和我们一样,也是技术出身,然后自己做产品,找渠道卖。
博客
干货 | 嵌入式OTA升级实现原理
05-06 902
早期,我对接过一些第三方云平台,有些平台,我怀疑是干java设计的通讯流程和协议,在协议设计上经验不足,如果通讯流程和协议设计不好,明明可以用一条指令搞定,最后要2,3条指令,增加通讯双方的程序难度,稳定性也会受影响。假如当前程序运行的是A部分的代码,那我们固件升级的时候,就升级程序块B部分的代码,如果程序B升级OK,则由bootLoader程序,指向程序块B区的起始位置,下次程序重启,则执行程序块B。全量升级就是每次都更新整个固件,差分升级就是更新时,会和老版本固件进行数据比对,修改的部分,才会升级。
博客
单片机编程实例400例大全(100-200)
05-02 809
通过按键输入控制步进电机的转动方向和速度,通过P1端口输出相应的控制信号,驱动步进电机按照预定的步进序列转动。这段代码是一个8051单片机红外通信和数码管显示的程序,程序的主要功能是接收红外信号,解码,然后根据解码结果在数码管上显示相应的按键值。通过外部中断0接收红外信号,定时器0计算信号的时间间隔,然后通过中断服务程序和主循环中的函数调用,完成红外信号的接收、解码和显示。通过P1.3,P1.4,P1.5,P1.6四个IO口,来控制步进电机,包括电机的转动方向和速度控制。除此以外,再含泪分享我压箱底的。
博客
单片机编程实例400例大全(1-100)
04-30 443
整个程序的工作流程是:通过按键输入(程序中定义了两个按键,分别用于加速和减速)改变电机的PWM占空比,从而控制电机的速度,同时,使用定时器中断服务程序来实现数码管的动态显示和电机PWM的控制。所以,我整理了100个单片机编程的实例,涵盖了很多小功能,注释也详细,非常适合新手参考,利用这些参考代码,去做自己的项目,事半功倍。就是多参考,多实践,然后碰到类似的功能,就能举一反三了,都是用时间堆经验的笨办法,没什么骚操作。但是成长效率,是你可以控制的,在同一时间内,你实践的越多,经历的越多,比别人成长的就越快。
博客
9种单片机常用的软件架构
04-29 3644
后面有幸,接触了稍微复杂点的项目,感觉以前水平Hold不住,然后借着项目需求,学习了很多优秀的代码架构,比如以前同事的,一些模组厂的SDK,还有市面上成熟的系统。因为我在做研发工程师的第6年,才开始意识到这个东西,在此之前,都是做一些比较简单的项目,一个main函数干到底,架构复杂了反而是累赘。下面是一个简化的示例,展示如何在C语言中模拟面向对象的编程风格,以51单片机为背景,创建一个简单的LED类。事实上,真正的事件型驱动架构,是非常复杂的,我职业生涯的巅峰之作,就是用的事件型驱动架构。
博客
读研三年和做嵌入式工作三年,究竟哪个更值?
04-28 905
因为工作了,能接触到很多项目,能有不同段位的前辈指导,在学校你可能是老大,工作以后就是社畜了,不行也得硬着头皮上。前几天,和徐工出去吃晚饭,他说如果我们当初好好上学,考个清华北大啥的,或者考个研啥的,就没现在这么辛苦了。如果工作了,一直在做简单的项目,比如用51单片机做小家电,别说做3年了,做10年,水平也很难更上一层楼。这些对学历基本是硬性要求了,有些硕士,都只能进去打杂,真正的核心算法,像声呐之类的,都是博士干。我说,我是没希望了,我小学就开始沉迷游戏,知识体系落后太多了,跟不上了。
博客
单片机为什么有多组VDD?
04-26 638
模拟电路对电源的质量要求较高,因为电源噪声和波动可能会直接影响模拟信号的精度和稳定性,比如我们采集ADC值的时候,参考电源的稳定性,直接决定ADC值的准确性。数字电路对电源的稳定性和纯净度要求相对较低,因为数字信号具有较强的抗干扰能力,数字电源和地线的设计更多考虑的是减少数字电路内部的噪声和干扰。当所有的电流都通过单一的VDD/VSS引脚时,这些引脚需要承受更大的电流负荷,这可能会使引脚发热,降低单片机的可靠性和寿命。以前我在画尺寸小的PCB时,比较头痛,特别是芯片引脚又多的,芯片底下,又不能打太多过孔。
博客
经验丰富也被裁了,失业快2年找不到工作?
04-25 659
可能公司辛辛苦苦开发的软件,好不容易有点火了,几个月后就被人抄了,玩到后面,90%可能都不是技术问题,而是运营能力的问题。归根到底,其实就是拼供应链,谁能拿到成本更低,质量又还可以的原材料,谁能把生产不良率控制到最低,生产效率最高,成本最低。而纯软不一样,大多都是在电脑或者手机上跑,硬件基本不变,所以很多代码生成了,都能直接运行。徐工说,你不是做了很多年了吗?经验这么丰富也被裁?我觉得没有,这种产品,拼技术是不可能了,最后都是拼品质,拼价格。小公司,运营成本低,就像我之前呆过的一家,倒闭的,好像基本没有。
博客
【无标题】
04-24 939
这个有些老工程师很喜欢用,我一般开发STM8单片机和TI蓝牙协议栈的时候会用,个人感觉没Keil顺手,用不熟的话,经常会有奇奇怪怪的问题,比如无法go to define....这个经常也会用,有网页版也有客户端,最爽的是有丰富的元件库,整合了立创商城的元器件目录,方便工程师在设计过程中进行元器件的选型和采购。我的启蒙电路设计工具,是Protel 99se,不过已经10年前了,现在基本没人用了,以下几个是目前国内用的比较多的。特点:支持SSH、Telnet和rlogin协议的终端仿真程序,安全性高。
博客
做了几年单片机开发,没有激情了
04-23 782
刚开始,都很新鲜,很有趣,慢慢熟练到一定程度,又会变得枯燥无味,想突破,又觉得遥不可及,慢慢就进入躺平的内耗状态,或者又想转行了。怎么会有这么坑的公司?我能理解他的感受,说直白点,就是当前的付出和回报,不成正比,不想为了这点工资,给吊毛老板卖命。一般都是唯唯诺诺的,领导的话就是圣旨,老板说屁是香的,你觉得是臭的,都会反思是不是自己的问题。在公司做个2年,项目基本都很熟了,做来做去都是用那几款单片机,类似的功能,没什么提升。我就辞职了,踩过坑以后,我觉得,小公司的股份,一文不值,还不如拿个高工资。
博客
找到单片机实习工作,啥也不会,怎么顺利转正?
04-22 827
一般单片机外设,都是他们提供例程,我们直接拿过来用的,除非非常冷门的芯片,要自己看数据手册配置寄存器使用,碰到这种,就认命吧,除了硬着头皮干,没别的办法了。想转正,排第一的,不是当下的能力,而是态度,应届生或刚转行,不能按时完成任务,很正常,领导也会理解的,出多少钱就招什么水平,心里都有逼数。最难忘的一次,我嫌工资低,要辞职,老板娘答应给我涨2-3k,具体多少忘了,不过我还是走了,最后把老板娘都气哭了,撒谎是狗。就是拿到一个新的项目,没用过的单片机,我应该怎么去做,第一步应该做什么,第二步应该做什么。
博客
在单片机开发中,常用算法有哪些?
04-19 1403
第二,不管算法多么复杂,最终在程序里面,都是进行加减乘除,左移右移运算,哪怕算法不懂,可以花钱找个数学厉害的人,把需求给他,让他给你个加减乘除的公式,你用代码去实现这个计算就好。如遗传算法、模拟退火算法等,用于寻找问题的最优解或近似最优解,像遗传算法一般用来做机器人的路径规划,以找到最优的移动路径,避开障碍物,做过智障小车的小伙伴,应该比较熟悉了。在需要显示或处理图像的单片机应用中,可能会用到点阵显示、图形变换、颜色处理等算法,在一些点阵屏,TFT屏的应用比较多,这个一般根据实际的图形或者屏尺寸制定算法。
博客
刚找到工作,碰到新项目,怎么入手?
04-18 492
我也不例外,从改代码维护老产品都费劲,到自己能勉强独立完成简单项目,再到独立完成复杂的项目,最后能设计整体程序架构,保证实现功能为前提,又不失可扩展性和可移植性,这条路,我摸索了快10年。我刚工作时,着急完成任务,一上来就抱着代码啃,通过代码去理解功能是逆向工程,没经验的情况下,比较困难,正确的顺序是,先理解功能,再思考实现思路。还有就是程序版本的管理,可以用Git管理,我一般直接以文件夹的形式,保存在本地,自己电脑存一份,移动硬盘存一份,公司电脑存一份,稳得一批。
博客
嵌入式工程师如何摸鱼?
04-17 980
我刚做开发那会,啥也不懂,每天基本都要加班到晚上7-9点不等,我并不抵触加班,因为早早回家,也没什么事干,多学点东西,工资还能涨得快一点。我觉得这点,是最重要的,毕竟摸鱼的前提,还是要有点实力的,如果你干啥啥不成,天天还在那找借口,哪怕赔上N+1,老板都会把你干掉。1万块干1万块的活,2万块干2万块的活,如果工资不高,就不要出头装逼了,能说难绝不说简单,一天把Bug改完,分1周再提交。我在2019年还录了一套比较系统的教程,本来想拿来卖的,后面工作忙,现在干脆分享给粉丝了,有礼貌的,找我可安排。
博客
嵌入式工程师如何利用周末提升自己?
04-16 326
我们顺着产业链,找到一个细分的点,看能否喝口汤就行了,哪怕是打工,工资都高点,典型的就是现在做新能源的嵌入式工程师。时代红利则看命了,我觉得普通人想抓住太难了,哪怕能看懂,也不一定有你的事,在资本介入的情况下,所有个体都是蝼蚁。能大器晚成的人,圈子多多少少有点背景资源啥的,浸泡在好的圈子,慢慢自己的思维习惯,性格也会被圈子的人所影响。在30岁之前,是否完成了从0到1的积累,或技术,或能力、或钱,或认知,或人脉,或别的资源...我觉得每代人都是公平的,都有每代人的时代红利,或许他们的时代红利,是AI呢?
博客
为什么学完了c语言觉得自己什么都干不了?
04-15 568
就像如果在学校,老师们事先给同学们说好,学好数学啊,学好物理啊,学好化学啊,这些知识可以造导弹用。不过现在有个尴尬的问题是,入行群体太卷了,你不能突破这个瓶颈,就很难找到工作, 找不到工作, 又突破不了这个瓶颈,进入这个恶性循环了。很多人看了钢铁侠之后,才对技术产生兴趣的,可惜,知道的太晚了,过了做技术沉淀最佳年纪了。学C语言也是如此,虽然语法都会了,让去实现某个功能,就懵逼了,没思路,也不知道代码怎么写。等项目做的多了,你会发现,C语言能做的事情,足以颠覆你的认知,小到家电产品,大到操作系统。
博客
工程师一般怎么记编程笔记?
04-12 673
之前无际单片机项目特训营总是有老铁说,代码容易忘,记不住,怎么办?我说,都不用记的,哪怕让爱因斯坦去记,都摇头喊苦。不知道大家会不会这样,我上个月写得代码,现在都忘得一干二净。那我是怎么"记住"以前写过的代码的?俗话说,好记性不如烂笔头。我一般是有个移动硬盘,资料都放在里面了。然后每个项目都会有清晰度文件夹目录:记录资料,是一个慢工细活,挺费时间的,很多工程师,图省事,目录不清晰,记录的东西一多以后,就像个垃圾堆了。
博客
为什么学生很难真正学好嵌入式?
04-11 642
刚开始那一年,基本就是修修改改别人的屎山代码,给客户定制功能,有时看别人代码,还不如自己写快,先要熟悉功能,再揣摩上一任工程师的实现思路,最后分析代码实现方法,整个过程,跟破案似的。那几个月,我还是学到了不少东西,比如GPS、雷达、菜单.....算是职业生涯第一个比较复杂的产品了,遗憾的是,还是修修改改,没有从0到1完整做一个产品的机会,所以能学到的东西也有限。后面,我才知道,是软件组长,偷偷说了我的好话,说我为完成公司的产品,经常自掏腰包学习。
博客
2024,嵌入式还适合入吗?为什么好多人劝退?
04-10 1125
我也是电气工程转行,刚开始想转java,没成功,然后又转单片机开发,做了10年后裸辞,跨行创业半年,没失败,但感觉没什么竞争壁垒,都是同行在卷价格战,做不大,又回到熟悉的单片机行业继续创业,目前是第四个年头。我在刚毕业时,找工作屡次碰壁,后面突然有家公司叫我去面试,我屁颠屁颠跑过去,聊了一会,他说我的基础太差,应付工作的话还不够,需要我再学一下,然后他们有什么什么班,建议我去报。现在想想再正常不过了,就像学单片机开发,哪怕你学了c语言,单片机,硬件电路,做不出项目,太正常了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • ASCII码对应表,ASCII码值的大小顺序 76940
  • 单片机入门到高级开挂学习路径(附教程+工具) 67352
  • plc和单片机哪个更有前途?为什么本科生都不搞plc? 57435
  • 嵌入式开发真的不如程序员吗? 49805
  • 嵌入式工作会越来越少吗? 48293

分类专栏

  • nb-iot独立式报警烟感 1篇
  • 无线红外探测器项目实战 4篇

最新评论

  • keil把源代码生成lib的方法

    骑着毛驴数星星: 麻烦请教一下,我把stm32f4xx_it.c也封装到lib里了,但是发现这个文件不能从工程中删除,否则程序就会卡住不运行。这是为什么?一点点排除的,main.c删掉是可以的,只有这个it.c不可以。

  • 单片机编程实例400例大全(100-200)

    2401_84538544: 优质好文,支持支持。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 9种单片机常用的软件架构

    刘梓谦: 涨知识了

  • stm32f103最小系统的组成及各部分功能

    湫potential: 这个好清晰

  • 手把手教你c语言队列实现代码,通俗易懂超详细!

    十岁卖切糕丶: 假如是串口数据,数据处理放在哪里,多久处理一次,还是队列不为空就处理

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 嵌入式软件天花板是不是不高?
  • 干货 | 嵌入式OTA升级实现原理
  • 单片机编程实例400例大全(100-200)
2024
05月 3篇
04月 22篇
03月 23篇
02月 4篇
01月 3篇
2023年19篇
2022年32篇
2021年243篇

目录

目录

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码上饶关键词排名价格金昌优秀网站设计公司海北关键词排名包年推广多少钱大芬百度标王多少钱飞来峡营销网站公司海西网站推广工具推荐和县推广网站宜宾网站优化推广推荐亳州网络营销推荐光明建站多少钱宣城外贸网站建设沈阳网络广告推广多少钱济南企业网站设计清远关键词按天扣费价格晋城网页设计报价飞来峡网站开发价格黄冈百度关键词包年推广报价广安如何制作网站多少钱吉祥网站优化按天计费推荐金昌网站开发公司广安营销型网站建设天门百度seo哪家好濮阳建网站阜阳网站开发推荐天门网站制作保定设计网站价格长春SEO按天计费临夏百度竞价哪家好河池seo网站推广哪家好宝鸡外贸网站建设歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化