如何开始学习嵌入式
如何开始学习嵌入式
学习啦在线学习网 目前嵌入式主要开发环境有 Linux、Wince等;Linux因其开源、开发操作便利而被广泛采用。下面学习啦小编收集了一些关于学习嵌入式的方法,希望对你有帮助
学习嵌入式方法篇一
第一步,电路基础与语言基础;具体将理论学到什么程度就可以开始着手学习嵌入式了呢?把中学的电路基础常识回想一下,能够搭建简单的电路,比如串联并联、欧姆定律、电容电感等。再把大学的模拟电子课本扫一遍,不求甚解,有了解即可。另外,对于C语言,能够做的起国家二级考试的试题,不是说一定要得多少分,而是你做错了题能够通过看答案或者注释明白自己为什么错了。有这样的基础就可以开始学习嵌入式了。
第二步,开发板;前面说不要盲目的购买开发板追求处理器,但是学习前期买一个单片机开发板(型号不限,51单片机、IAR、STM32均可)作为入门必备还是必要的。跟着学习视频跑跑例程也是入门时学习的一个好方法。在学习开发板的时候,初步能接触一些单片机外围设备,如时钟芯片、继电器、温度传感器等。
学习啦在线学习网 第三步,这一步就相当重要了,有朋友第二步之后就开始学习其他处理器,走入误区。其实这个时候你应该趁热打铁,利用你刚刚学会的单片机处理器去设计各种各样的嵌入式系统。笔者曾经学习时,花了两个月时间将常见的外围设备都通过自己搭建电路成功驱动。包括1602液晶、12864液晶、TFT液晶、ZLG7290、DTH11、DTMF编解码、时钟芯片、温度芯片、超声波、光耦、SD卡、GSM模块、蓝牙模块、语音芯片、AD/DA、摄像头等等,随后为了准备电子设计大赛,又花了两个月时间学习电源,自己焊接了30多个调试板,充分掌握了DC-DC降压、升压原理、AC-DC原理(现在后悔没有尝试逆变电源)。
学习啦在线学习网 有了这些基本模块设计与调试经验之后,后面做项目就是水到渠成。笔者也做过小车、无线传输、直流稳压电源、高效恒流电源,当然在大学毕业设计的时候利用Cortex-M3做了一个将PSTN座机电话与GSM手机结合的智能语音转接系统。后面也移植过LINUX,编写过驱动程序,但是由于毕业的原因没有太多时间学习,但是由于有之前的那些基础,对整个系统的架构就相当熟悉,上手起来就相对容易。告诉大家一个秘密,一个月前笔者从来没有接触过STM32,但是后来由于IT指路灯的需要,我开始了STM32的学习,如今笔者同样可以利用STM32作为处理器加上之前的那些外围器件设计出相应的项目。
第四步,知识面的扩展;由于第三步对技术方面已经有了积累,对整个嵌入式系统构成有了深入的了解。这个时候主要扩大知识面,了解如何将你学到的嵌入式技术与其他潮流技术,如云服务、安卓手机等结合起来,形成更大的系统。这样一个优秀的物联网人才就诞生了。
学习啦在线学习网 第五步,之前学到的知识是时候用啦,挑一个自己喜欢的工作(为什么是挑,因为你无法被取代,公司抢还来不及呢)开始尽展才华,独领风骚的时候啦。当然,仍然别忘了学习提高和分享。
学习嵌入式方法篇二
(1) C语言是所有编程语言中的强者,单片机、DSP、类似ARM的种种芯片的编程都可以用C语言搞定),因此必须非常熟练的掌握。 推荐书籍:谭浩强的很不错,《The C Programming Language》 这本经典的教材是老外写的,也有中译版本。
(2) 操作系统原理,是必需的,如果你是计算机专业毕业那也就无所谓了,如果是非计算机专业的就必须找一本比较浅显的计算机原理书籍看一看,把啥叫“进程”“线程”“系统调度”等等基本问题搞清楚。
(3) Linux操作系统就是用C语言编写的,所以你也应该先学习下Linux方面的编程,只有你会应用了,才能近一步去了解其内核的精髓。 推荐书籍:《UNIX环境高级编程》(第2版)
(4) 了解ARM的架构,原理,以及其汇编指令,我们在嵌入式开发中,一般很少去写汇编,但是最起码的要求是能够看懂arm汇编。
学习啦在线学习网 (5) 系统移植的时候,就需要你从最下层的bootloader开始,然后内核移植,文件系统移植等。而移植这部分对硬件的依赖是非常大的,其配置步骤也相对复杂,也没有太多详细资料。
(6) 驱动开发 linux驱动程序设计既是个极富有挑战性的领域,又是一个博大精深的内容。 linux驱动程序设计本质是属于linux内核编程范畴的,因而是对linux内核和内核编程是有要求的。在学习前你要想了解linux内核的组成,因 为每一部分要详细研究的话足够可以扩展成一本厚书。
掌握嵌入式后,工作地点
学习啦在线学习网 1. 研究类机构
这类机构很多都很轻松,研究成果也不一定能转化为成果,挣钱靠资历,刚毕业薪水一般不高,打拼基本没用。不过很适合不想竞争,但是想深入研究一些课题的人。
学习啦在线学习网 2. 小的芯片设计公司
学习啦在线学习网 这类公司往往只需要你有能力解决某些问题,对时间要求不是很紧,产品开发周期长,有大量的时间供你研究某项技术,薪水起点较高。这类公司一边接触市场,一边接触最前沿的科技,确实对学习嵌入式技术很有效,但是同样,对人的要求就高了。
3. 芯片设计公司的技术部门
学习啦在线学习网 这部分要单提出来,因为很多国外或者台湾的IC公司,在大陆设立了技术支持部门,但是这些部门的人并不能接触到核心的技术,甚至有些公司连源码都看不到,这比下游的厂商来说,唯一有优势的地方就是最先得到本公司的培训和技术资料,关于本公司芯片的应用技术非常精通,其他也没什么。不过还是有很多公司的FAE可以和研发一起工作的,这些就另当别论了。再说其他,薪水自然没有芯片设计的高,不过工作强度却不小,毕竟和客户打交道。
4. 方案公司
这类公司可以和上面说的芯片设计公司的技术支持部门等同,但是在技术上,接触的东西要广的多。一般会接触到10家左右芯片公司的产品,并且能够设计到很多产品功能的设计。如果没有能力进入芯片公司做设计,在这类公司做也是不错的选择。这类公司的薪水差别都比较大,有高有低,工作强度不会小。
5. 方案二次开发公司
这类公司普遍的特点就是小,大的也超不过七八十。工作简单,往往就是修改UI,修改模块,改个语言什么的。而且与工厂配合密切,这意味着你的工作时间基本上是无法确定的,工厂有订单,你就得加班,最主要的是,工厂一般周末不休息....薪水不高,个别水平很高的可以做老板的合伙人,这是唯一比较有诱惑的地方。
6. 有研发能力的公司
这类的公司工厂有很多,有研发能力很强的,不用说如今智能时代的产品公司非常多,如:华为、中兴、乐视、小米、华硕等等自己的产品全部是自己研发,这些和自己开发Solution的方案公司很像,也不过,只是工作时间要长一些,毕竟和工厂打交道。还有刚开始建立研发部门的,这类一般是老板开工厂赚到钱了,想转型。后者就比较危险,很多转型不成功的情况,老板都会把研发部门裁掉,然后继续做工厂。技术上来说,前者可以学到很多东西,后者要求有比较好的领悟力和自学能力,毕竟一般没有人教你。至于薪水,前者还不错,后者看老板的魄力,不过后者因为长期雇佣工人,一般不会太舍得钱给一般员工,除非你去了做研发部的头。
猜你感兴趣: