编程语言应用

注册

 

发新话题 回复该主题

嵌入式开发入门很难吗嵌入式开发要学哪些 [复制链接]

1#

一说到嵌入式开发,大多数人想到的是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。

最后,祝大家学有所成!

分享 转发
TOP
发新话题 回复该主题