首先,嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式有如下几个突出的有点1.系统内核小,2专用性强,3系统精简4高实时性OS5嵌入式系统的应用程序可以没有操作系统直接在芯片上运行,6嵌入式系统需要开发工具和环境。
嵌入式系统是近几年才风靡起来的,但是这个概念并非新近才出现。从20世纪七十年代单片机(最早的单片机是Intel公司的 8048,出现在1976年)的出现到今天各式各样的嵌入式微处理器,微控制器的大规模应用,嵌入式系统已经有了近30年的发展历史。经过30年的发展,嵌入式技术已经日趋成熟,在中国嵌入式机一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
其次,嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。
嵌入式系统是软硬结合的学科,通常有两类人会去专研嵌入式:一类是学电子工程、通信工程等偏硬件专业的,另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。我是软件专业的学习嵌入式,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。嵌入式应用在很多方面,具体的可以分为工业控制,交通管理,信息家电,家庭智能管理系统,POS网络及电子商务,环境工程与自然,机器人,机电产品方面应用等方面。其中目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。例外还有很多地方用到了嵌入式系统,最近飞利浦和ARM共同推出32位RISC嵌入式控制器,适用于工业控制,采用最先进的0.18微米CMOS嵌入式闪存处理技术,操作电压可以低至1.2伏,它还能降低25%到30%的制造成本,在工业领域中对最终用户而言是一套极具成本效益的解决方案。
本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,if, for, while循环什么的,感觉也就能算一些小学就会的题目,全国计算机等级二级也就糊涂的过了。我这个专业没学过C++,一开始不知道什么是向对象,什么叫面向过程,这可能让大家笑话了。不过这说的是实话,大学的时候比较喜欢动手,喜欢硬件方面的东西,也喜欢看书。
在大一的时候就听学长说,单片机很难学,在没事的时候就从图书管借了本关于51的书,一开始还真是不怎么懂,然后硬着头皮去看,当我把51的结构看完了,就不像一开始那样一头雾水了,自己在纸上把51的.结构图默画一遍,然后再把各个寄存器功能写一下,各个功能口的结构也画一遍,然后就不觉得51有什么难了。其实有些时候不是这个东西你不会,而是在不会的时候自己先告诉自己这个太难了,自己先放弃了。我们学习51芯片,是为了以后的打基础,知道是怎么通过配置寄存器来实现功能。
大二下学期的时候,我们开了51的课,这个课几乎就没怎么去,因为我认为没有必要去听自己会的东西了。后来听别人说avr的资源会比51的丰富的很多,所以就想试试,看看有什么难的,就从网上买了本马潮老师《AVR单片机嵌入式系统原理与应用实践》,一边看书,一边想自己画一个板了,一开始想实现一个点阵屏,实现滚动效果,后来想想做个板也花不少钱呢,为什么不多加一些功能呢,还能多学到些知识,所以就加了温感,红外,铁电存储器等并把所有的扩展口都扩展了出来,备以后用,那时还挺自豪的呢,同学们都很羡慕,不过现在想想其实也没什么了。
大学也听说过嵌入式这个词,不过不太明白是什么意思,09年的时候从网上找到中嵌视频,有四张DVD(大约13G),下载下来后,从头到尾的看了一遍,没什么印象,只记得讲一些不知所云的函数,然后莫名其妙的讲怎么使用那个44b0的开发板,不过听完了,还是有很大收获的,就有一种想装一个linux的冲动,我是大二下学期才有的自己电脑,不过电脑的配置比较低,1g内存,跑虚拟机就像个蜗牛,所以就想着怎么才能装个linux,自己用XP习惯了,如果全换了又舍不得,那时从书上知道linux的文件系统和windows不一样,只有一个根分区,所以也害怕一装linux全盘就被格式化了,不过最后还是欲望战胜了担心,买了张redhat 9的光盘,小心的装这个系统,里边的英文也不是太难,还是知道大概意思的,所以一步步的装,最后装到我的硬盘的最后空间,重新启动,竟可以选择进入哪一个系统了,从这之后,自己就不害怕怎么装系统了,应了那句言,纸上得来终觉浅,绝知此事要躬行。
所以我认为,买一个开发板是完全有必要的,拿到实物操作一下就不会感觉太抽象了。
后来也想学学arm,但不知道arm是什么东西,所以就买了本《从51到arm》,讲的是关于arm的大体结构,看完后感觉,原来arm就是一个速度更快,接口更丰富的单片机啊。
如果想做linux设备驱动的同学应该对arm硬件有一些了解。如果对驱动不感兴趣,完全没有必要去看。交叉编译器会帮我们做好这些事情,他比我们更了解arm结构嵌入式学习心得体会5篇心得体会。
大三下学期开始准备考研了,所以自己这些兴趣就先放下了,报的北邮的信通学院通信专业,当时就是想一定要上个好学校好专业,也没想太多,结果考了的成绩差了点,没有被录取,也不想调剂一个二流的学校,然后就参加工作了,工作中每天都用的到开发板,当我看到一个小板上还可以跑系统的时候感觉很不可思议,以为要很大工程。后来边工作边学习,每天都要看电脑看到眼发疼,晚上也都差不多十二点时才睡觉。感觉到累,不过也感觉到自己在进步
闲话有点多了,说了很多都是自己大学那点破事。
听很多的初学者说不知道从哪里开始,学习嵌入都要学哪些东西,从网上搜了一下,一大堆的东西要学,一下就推荐十几本书,说看完这本书怎么怎么样,看完那本书怎么怎么样,一下子就给初学者给吓住了,其实完全没必要把网上的那些东西全部看一遍,那样又费时,又感觉工程太大,让初学者没有信心去把每一种都看完。网上说的些方面都要知道,不一定全部都掌握,我们可以退成求其次,每一个都知道一些,当然会的越多越好。今天学点这个明天学点那,换着样来也不会觉得烦。而且还能感觉到每天都有收获。
学期开始,我们开始学习《嵌入式系统及应用》,由于初次接触嵌入式系统,感觉蛮难的,所以收获不是很大,很多的概念都比较模糊,等到学期结束开始做嵌入式课程设计时,真是茫然无从下手,自从拿到设计主题后,我就像热锅上的蚂蚁,一个字“急”。最后实在没有办法,逼着自己去学习,查资料,总算对嵌入式有了浅层理解。
嵌入式系统本身是一个相对模糊的定义,一个手持的MP3和一个PC104的微型工业控制计算机都可以认为是嵌入式系统。总体来说,嵌入式系统是“用于控制,监视或者辅助操作机器和设备的装备”。一个典型的桌面Linux系统包括3个主要的软件层---linux内核、C库和应用程序代码。内核是唯一可以完全控制硬件的层,内核驱动程序代表应用程序与硬件之间进行会话。内核之上是C库,负责把POSIX API转换为内核可以识别的形式,然后调用内核,从应用程序向内核传递参数。应用程序依靠驱动内核来完成特定的任务。
在了解了基础知识之后,我开始进行上机操作,当然,其中遇到很多的难题,很多东西都是第一次接触,又没有别人在旁边指导操作,完全凭借自己去摸索练习。其中的困难可想而知。然而坚持就是胜利,牙一咬眼一闭坚持做下去,而通过本次实验,我感觉收获还是蛮多的可能我对于嵌入式的知识学习的还是不太多,但是这之外的东西收获颇丰。它让我学会了如何通过自己的努力去认知一个新事物,更重要的是端正自己的学习态度,只有真正下功夫去学习,才能有收获,正所谓“一份耕耘,一份收获。”没有付出,何谈回报呢?再者,通过本次实验,我也学会了如何去分析问题,如何找出自己设计中的不足,继而去排除解决问题,这就是一个自我学习的过程。当我们通过实验去学习理论知识时,自己动手得出的结论,不仅能加深我们对嵌入式的理解,更能加深我们对此的记忆。
当然,在这其中,我也发现自己的许多不足之处,由于学期伊始我没有好好学习,才落到如此地步,这也可以说是一个教训吧!我相信在以后的学习工作中,我一定会端正自己的学习态度,一丝不苟的去对待每一件事。只有做好足够的准备,才能事半功倍!