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