《嵌入式心得体会.docx》由会员分享,可在线阅读,更多相关《嵌入式心得体会.docx(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式心得体会 这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。 广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和DSP系统。从狭义上讲,那些运用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的专用软硬件系统称为嵌入式系统。嵌入式系统由嵌入式硬件与嵌入式软件组成;嵌入式硬件以芯片、模板、组件、限制器形式埋藏于设备内部。 理解“嵌入”的概念主要从三个方面上来理解。 1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是
2、有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口限制器芯片实现,而目前的这种串口限制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD限制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI限制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8
3、G,支持2G内存,1G10或10G1的以太网口或Febre channel的光通道。IXP系列应当是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。 2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,假如我们选择了,在CE启动后,就可以在界面中找到这些东西,假如是以前PC上将的windows操作系统,多半的东西都须要我们得新再装。 3、把软件内核或应用文件系
4、统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。 嵌入式系统分为层,硬件层、驱动层、操作系统层和应用层 1、硬件层,是整个嵌入式系统的根本,假如现在单片机及接口这块很熟识,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对简单,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟识的。但硬件平台是基础,增值还要靠软件。硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,须要驾驭的专业基础学问有,单片机原理及接口技术、微机原理及接口技术、C语言。 2、驱动
5、层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核非常的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,许多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就犹如windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有 三、四年功底,操作系统内核不探讨上几编,不是太简单胜利的,但其工资在嵌入式系统四层中可是最高的。 驱动层比较适合
6、于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要非常精通了解。 3、操作系统层,对于操作系统层目前可能只能说是简洁的移植,而很少有人来自已写操 作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性非常重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。 4、应
7、用层,相对来讲较为简单的,假如会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的改变而已。假如涉及Java方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但假如涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H. 323、Astrisk)方面又较为困难,并且有难度了。 通过网上查询我发觉目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和
8、空间效率要求较高),而且必需懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,许多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统等),驾驭这些新技术的人当然很少。嵌入式人才稀缺,身价自然就高,越有阅历价格就越高。其实嵌入式人才稀有,根本缘由可能是大多数人无条件接触,这须要相应的嵌入式开发板和软件,另外须要有阅历的人进行指导开发流程。我们软件系的人学习嵌入式,明显应偏重于嵌入式软件,特殊是嵌入式操作系统方面。对于搞嵌入式软件的人,最重要的技术明显是驾驭主流嵌入式微处理器的结构与原理,必需驾驭一个嵌入式操作系统,必需熟识嵌入式软件
9、开发流程并至少做过一个嵌入式软件项目。 然而我们都没有做过一个嵌入式软件项目,甚至连嵌入式的开发流程我也不清晰,我只了解了运用简洁工具做一个简洁的试验。只有去专研才能在嵌入式的领域站住脚,只有知道的比别人多才会更有竞争力。通过网上了解,我查询了嵌入式的入门和所须要的学问,其中C语言尤为重要,不管是做嵌入式软件还是硬件开发的人员,对C语言的驾驭这个是必需的,特殊是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言。其次,应当对操作系统有所了解,这对你对硬件和软件的理解,肯定有很大的帮助。应当把系统的管理理解一下,比如进程、线程,系统如何来安排资源的,系统如何来管理硬件的;知道了c语言和操
10、作系统之后,再来看看嵌入式系统,我们主要学的是ARM,用的是ARM7, 深化理解ARM不是件简单的事,只有在知道ARM相关学问之后才能称得上嵌入式已经入门了。 与嵌入式有关的学问我也学了不少就是不能够综合在一起运用,组成原理,数据结构,操作系统,C+,这3门与嵌入式亲密相关的学科都系统的学了一遍,但由于长时间没用到都有点遗忘了,从网上得知嵌入式的学习与这些书有很大关系之后,我把嵌入式与以前学过的学问结合起来发觉嵌入式的试验中许多都是共通的,我对嵌入式有了初步的理解。 我以为学习嵌入式应当分为2个部分:软件和硬件。关于硬件方面我接触到了数字电路教材和模拟电路方面的学问,但由于没有嵌入式CPU很难
11、亲自动手来实现嵌入式的相关理论;嵌入式入门则须要不断地试验与分析,我只在试验课时做几个与所给的程序相关的小程序来实现一下;而软件方面则学过C语言,里面通常的语法曾今熟识过;我通过下列方法来适应C语言在嵌入式中应用:首先重新翻看了下C的教材,看了些常见的语法,接着在编译器的角度来看待C,编译原理我刚学过,其中将高级语言与低级语言的翻译感觉在嵌入式中用到了许多;最终冲硬件的角度来看待C。嵌入式的核心包括嵌入式操作系统,嵌入式软件开发平台及工具以及嵌入式应用软件。这些确定怎样才能开发一个好的嵌入式系统。下面谈谈我了解的嵌入式的相关学问与应用: 首先,嵌入式系统是以应用为中心,以计算机技术为基础,且软
12、硬件可裁减,适应应 用系统对功能、牢靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式有如下几个突出的有点1.系统内核小,2专用性强,3系统精简4高实时性OS5嵌入式系统的应用程序可以没有操作系统干脆在芯片上运行,6嵌入式系统须要开发工具和环境。 嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。从20世纪七十年头单片机(最早的单片机是Intel公司的 8048,出现在1976年)的出现到今日各种各样的嵌入式微处理器,微限制器的大规模应用,嵌入式系统已经有了近30年的发展历史。经过30年的发展,嵌入式技术已经日趋成熟,在中国嵌入式机一般由嵌入式微处理器、外围硬件设备、嵌入式操作
13、系统以及用户的应用程序等四个部分组成,用于实现对其他设备的限制、监视或管理等功能。 其次,嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)特别有限,并且对成本很敏感,有时对实时响应要求很高等。特殊是随着消费家电的智能化,嵌入式更显重要。 嵌入式系统是软硬结合的学科,通常有两类人会去专研嵌入式:一类是学电子工程、通信工程等偏硬件专业的,另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。我是软件专业的学习嵌入式,越是智能设备越是困难系统,软件越起关键作用,而且这是目前的趋势。嵌入式应用
14、在许多方面,详细的可以分为工业限制,交通管理,信息家电,家庭智能管理系统,POS网络及电子商务,环境工程与自然,机器人,机电产品方面应用等方面。其中目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。例外还有许多地方用到了嵌入式系统,最近飞利浦和ARM共同推出32位RISC嵌入式限制器,适用于工业限制,采纳最先进的0.18微米CMOS嵌入式闪存处理技术,操作电压可以低至1.2伏,它还能降低25%到30%的制造成本,在工业领域中对最终用户而言是一套极具成本效益的解决方案。 那么该如何学好嵌入式我觉得应当从以下几点入手: 首先C语言,这个是毋庸置疑的,不管是做嵌入式软件还是硬件开发的人员,对
15、C语言的驾驭这个是必需的,特殊是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不驾驭它可以吗?至于如何学习C语言,我想这些基础的学问每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。许多人会问,C语言要学到怎么样,我觉得这没有标准的答案。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。 其次,应当对操作系统有所了解,这对你对硬件和软件的理解,肯定有很大的帮助。应当把系统的管理理解一下,比如进程、线程,系统如何来安排资源的,系统如何来管理硬件的,当然,不是
16、看书就能把这些理解透,假如不是一时能理解,没关系,多看看,结合以后的项目阅历,会有更好的理解的。 还有应当学习下linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,假如做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。 还有,应当学习下单片机或者ARM或者MIPS,许多人说我没有单片机的阅历,干脆学ARM可以吗?我觉得那完全没有问题的,当然假如你学习过单片机,那最好不过了,以后学习ARM就更简洁了。 最终假如你把以上的学问都有所了解后,就该去阅读阅
17、读一些优秀的代码,比如结合arm芯片手册学习去学习下UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的特别有帮助的,可以的话,还可以学习下linux的源代码,当然假如你干脆阅读2.6的代码,我想你会很苦痛的,可以先看看linux 代码早期的版本,比如0.12 的代码等等,麻雀虽 小,五脏俱全,假如你全看完了,那我想你就是一名很胜利的嵌入式工程师。 以上就是我在本学期学习嵌入式后的心得及感想。 嵌入式心得体会 嵌入式心得体会 嵌入式心得体会 嵌入式心得体会解读 嵌入式试验心得体会 嵌入式学习心得体会 嵌入式的培训心得体会 Android 嵌入式开发心得体会 嵌入式试验心得体会优秀 暑期嵌入式培训实践心得体会 本文来源:网络收集与整理,如有侵权,请联系作者删除,谢谢!第11页 共11页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页第 11 页 共 11 页