嵌入式软件开发是做什么的?要学哪些课程? |
您所在的位置:网站首页 › 安卓软件开发软件主要学什么 › 嵌入式软件开发是做什么的?要学哪些课程? |
一说到嵌入式开发,大多数人想到的是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年的经验总结出,必须要学习就是以下几个课程: C语言嵌入式和单片机开发主要是用c语言来编写程序去控制硬件完成相应的产品功能。 其实汇编也可以,但是汇编写的代码维护起来很麻烦,现在一般很少用,所以主要学C为主。 我们无际单片机编程也录制了一套单片机c语言的入门教程,非常适合新手。 这套本来是为零基础的学员录制的,后面感觉这块教程已经泛滥,干脆分享出来了。 2.电路基础 做嵌入式单片机开发主要就是写程序控制硬件,所以需要有一定的电路基础,学到看得懂电路就可以了。 3.单片机 目前市面上单片机的型号很多,基本都是大同小异,新手可以先从51单片机开始学起,比较容易上手,后面再进阶到STM32。 更详细的学习路径和教程可以参考我以下这篇文章,每个阶段学什么,学到什么程度都讲的很清楚。 单片机入门到高级开挂学习路径(附教程+工具) 最后,祝大家学有所成! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |