嵌入式 入门要学什么?

嵌入式 入门要学什么?

嵌入式虽然只有简单的三个字,但它牵涉到的东西却很广,现在很多人对嵌入的理解都比较狭隘。
不知道你是学什么专业的,所以我说的系统点。
首先从工作内容来分:有嵌入式硬件工程师,嵌入式软件工程师。
嵌入式硬件工程师要做啥?
当然是设计原理图(涉及模电,数电,高频),画PCB板等,他们只负责硬件,和软件有关的都由嵌入式软件工程师来负责,所以通常一个新产品研发,需硬件工程师和软件工程师密切的配合,才能出成果。
嵌入式软件工程师要学啥?
大部分人说的的嵌入式,估计就是说嵌入软件了,忽略硬件,所以说比较狭隘。
首先介绍几种嵌入式系统
1,以单片机为核心的嵌入式系统,如51,AVR,要求会C语言或汇编,比较简单,大多数只做单片机的公司,会要求同时会硬件和软件,特别是小公司(大公司软硬件分工较细),也就是说自己设计电路,自己写程序,如你是学电子专业的,这个合适,这个电子专业的做的比较多。
2,以ARM7,M0,M3等为核心的嵌入式系统,功能比单片机多了不少,要求会C语言或汇编,或UCOS等一些微内核的嵌入式系统,这些可以说是一些强大的单片机了,开始有专门的硬件工程师来做硬件,软件专门负责软件,除非一些比较变态的小公司,既要你做硬件又要你写代码,我就碰到一个,一心不得不二用。
3,以ARM9,ARM11等更高位核心的嵌入式系统,功能复杂,要求C或C++,会LINUX系统或WINCE等其他一些系统,如现在很火的安卓系统,软件和硬件严格分工,软件工作量很大,硬件很复杂,需多人合作。
当然还有其他的嵌入式系统如MIPS,DSP,FPGA等等的,多了去了。
如你学的计算机专业第三种你最合适。
所以不要认为嵌入式就是LINUX和C了,有时一个产品里,这几种嵌入式系统同时存在,综合的组成一个完整的产品。
所以在学嵌入式之前,先全面的了解嵌入式,找准自己的方向
(纯手写,欢迎追问)
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-09-11
嵌入式开发要学哪些?在这个技术瞬息万变的年代,嵌入式技术毫无疑问也得紧跟技术发展,这对于初涉行业的新人而言,摆在面前的问题很明显,嵌入式开发我得学习哪些技术点才能跟随企业的脚步呢?我愿意谈谈我接近十年对嵌入式开发的看法。我的职业生涯起步于嵌入式开发,那时候在日企从事汽车的嵌入式开发,最后也曾当过三年的讲师。不过现在依然混迹于嵌入式底层,以及android底层研发。可能还是觉得研发才是我的最爱。那么针对嵌入式开发要学哪些我简单的说一下,仅代表当前主流观点。嵌入式开发作为新人,第一步C语言,有很多人自认为自己C语言很厉害,但是实际上一个从事嵌入式开发的老人,至少需要3-5年你才敢对C语言说精通,特别涉及到的常用的指针、数组、数据类型、运算符与表达式、控制语句时?你真的都懂么?这些是学习嵌入式最基础的知识。第二步,有了这些代码的基础你才能能根据需求写程序,也就是常说的应用层,应用层是相对简单的。要有理解和编码调试的能力,如系统编程、标准的I/O,文件I/O,库的制作等等。一般而言这种应用层开发有1-2个月的时间都能学会。剩下的就是大量的编码来提升自己的经验。但只会这些也能找到工作,但我相信你看完下面的发现那绝对不是你的梦想!第三步,更高级的内容也是最难的内容,前两步是让你会根据需求编码,但是如何能让你的程序能在硬件平台上运行,这才是真正的难题。所以每当再进一步的话,我们会发现我们什么有很多的东西都运行的是Linux系统,可是他们和我的PC运行的Linux有什么区别呢,为什么我电脑要用风扇而手机不用风扇呢,我们打开网页查找手机的详细参数的时候,会看到Cortex-A15、四核、ARM等等字眼,什么是ARM,什么是Cortex-A15,这需要进一步的了解。了解完ARM之后,就需要利用开发板了。这时操作系统的移植又成了一个比较重要的内容了,什么是bootloader,什么是kernel,什么是rootfs等等……。花了很长时间系统做好了,发现板子上很多的什么不能用,怎么呢?这时我们需要写一些驱动来驱动这些设备,这时我们需要知道,什么是字符设备驱动、块设备驱动、网络设备驱动,为了更好的写驱动我们需要了解的硬件相关的东西,我们需要看懂芯片手册,我们需要看懂原理图,只有我们懂我们的设备,才能更好的驱动它。等等,这里就列举的内容了,因为还有很多。所以对于嵌入式开发者来说,他们都经历了学习的痛苦。有句话说的好,不经历风雨怎么见彩虹。对于学习嵌入式我比较不赞成自学,他不同于一般的应用层开发。你会面临很多问题。问百度?太慢了!来机构学习虽然花了一部分钱,从时间成本和效率上来讲,无疑还是比较值得的。
第2个回答  2022-03-02

嵌入式学完能干啥?
手机,相机,汽车导航仪,只要跟电子控制相关的,都可以去学习。计算机这行都是偏向于实践的课程,所以要注重动手能力,基础理论的学习也是不能忽略的。
C语言是基础,嵌入式开发是一个偏实战的技能,当然编程也是必不可少的。C语言是嵌入式开发的基础。

嵌入式系统基本原理?
接下来就要学习一下操作系统的基本原理,嵌入式软件这个领域太大了,平常接触多的嵌入式操作系统就是Linux还有其他的操作系统,选择一个方向就好。强调一点:汇编很重要,特别是做控制方面的程序时。虽然不同类型的芯片汇编 都不一样,接触多了会发现 ,那些其实也都相通的。

嵌入式学习方向?
关于嵌入式的学习方向,大致可以总结为:嵌入式首先懂得熟悉C语言,而后可以从系统编程入手,再深入到裸机开发、系统移植、驱动开发等。嵌入式需要懂得的一些基本诸如Linux,C语言,数据结构,文件IO,并发程序设计,进程间通信,网络编程,数据库开发,在线词典,ARM-4412,系统移植,驱动开发,Android系统开发。

结语:嵌入式开发是一个长期技术能力积累的过程,对于目前市场来说更多的是嵌入式高端人才,所以提高自身技能知识是关键!

第3个回答  2017-09-14
看你是做嵌入式平台上的应用程序开发 还是嵌入式平台本身的开发
如果是应用级别的开发,现在主要是C语言和C++语言,不过手机游戏现在大量是用java
如果是平台本身的开发你就需要 创客学院 好好学习汇编语言和操作系统。因为要自己写平台的驱动和小型的操作系统。本回答被提问者采纳
相似回答