2025-07-28 09:20:20 嵌入式心得体会 浏览:29896 小编:念想岛
【#学习心得体会# #嵌入式心得体会1500字八篇#】在日常生活中,我们常常会产生新思路,撰写心得体会是总结和积累经验的良好方式。那么,优质的心得体会应具备什么特征呢?下面是好查范文网小编整理的关于嵌入式系统的心得体会,希望能够给大家提供一些帮助。
这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。
广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和DSP系统。从狭义上讲,那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的专用软硬件系统称为嵌入式系统。嵌入式系统由嵌入式硬件与嵌入式软件组成;嵌入式硬件以芯片、模板、组件、控制器形式埋藏于设备内部。
理解"嵌入"的概念主要从三个方面上来理解。
1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL上网功能。IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。
2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。而在定制操作系统内核时所选择的应用程序组件就是完成了软件的"嵌入",比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。
3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的"嵌入"。
嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层
1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。但硬件平台是基础,增值还要靠软件。硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。
2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。
驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。
3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。因此这部分工作相对来讲没有太大意义。
4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。如果涉及Java方面的编程也是如此的。嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。
通过网上查询我发现目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业IT人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如ARM处理器、嵌入式操作系统等),掌握这些新技术的人当然很少。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。我们软件系的人学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面。对于搞嵌入式软件的人,最重要的技术显然是掌握主流嵌入式微处理器的结构与原理,必须掌握一个嵌入式操作系统,必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。
然而我们都没有做过一个嵌入式软件项目,甚至连嵌入式的开发流程我也不清楚,我只了解了使用简单工具做一个简单的实验。只有去专研才能在嵌入式的领域站住脚,只有知道的比别人多才会更有竞争力。通过网上了解,我查询了嵌入式的入门和所需要的知识,其中C语言尤为重要,不管是做嵌入式软件还是硬件开发的人员,对C语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言。其次,应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的;知道了c语言和操作系统之后,再来看看嵌入式系统,我们主要学的是ARM,用的是ARM7,深入理解ARM不是件容易的事,只有在知道ARM相关知识之后才能称得上嵌入式已经入门了。与嵌入式有关的知识我也学了不少就是不能够综合在一起运用,组成原理,数据结构,操作系统,C++,这3门与嵌入式密切相关的学科都系统的学了一遍,但由于长时间没用到都有点忘记了,从网上得知嵌入式的学习与这些书有很大关系之后,我把嵌入式与以前学过的知识结合起来发现嵌入式的`实验中很多都是共通的,我对嵌入式有了初步的理解。
我以为学习嵌入式应该分为2个部分:软件和硬件。关于硬件方面我接触到了数字电路教材和模拟电路方面的知识,但由于没有嵌入式CPU很难亲自动手来实现嵌入式的相关理论;嵌入式入门则需要不断地实验与分析,我只在实验课时做几个与所给的程序相关的小程序来实现一下;而软件方面则学过C语言,里面通常的语法曾经熟悉过;我通过下列方法来适应C语言在嵌入式中应用:首先重新翻看了下C的教材,看了些常见的语法,接着在编译器的角度来看待C,编译原理我刚学过,其中将高级语言与低级语言的翻译感觉在嵌入式中用到了很多;最后冲硬件的角度来看待C。嵌入式的核心包括嵌入式操作系统,嵌入式软件开发平台及工具以及嵌入式应用软件。这些决定怎样才能开发一个好的嵌入式系统。下面谈谈我了解的嵌入式的相关知识与应用:
首先,嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。嵌入式有如下几个突出的有点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语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用C语言,你说不掌握它可以吗?至于如何学习C语言,我想这些基础的知识每个人都有自己的方法,关键要去学习,看书也好,网上找些视频看也好。很多人会问,C语言要学到怎么样,我觉得这没有标准的答案。我想至少你在明白了一些基础的概念后,就该写代码了,动手才是最重要的,当你动手了,遇到问题了,再反过来学习,反过来查查课本,那时的收获就不是你死看书能得到的。
其次,应该对操作系统有所了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的,当然,不是看书就能把这些理解透,如果不是一时能理解,没关系,多看看,结合以后的项目经验,会有更好的理解的。
还有应该学习下linux或者wince下的编程,这些对以后做应用的编程很有帮助,当然,如果做手机的话,那可以学习MTK、塞班、Android等操作系统,Android是以后发展的趋势,现在很热门,Android也是基于linux系统封装的,所以建议先学习下linux。
还有,应该学习下单片机或者ARM或者MIPS,很多人说我没有单片机的经验,直接学ARM可以吗?我觉得那完全没有问题的,当然如果你学习过单片机,那最好不过了,以后学习ARM就更简单了。
最后如果你把以上的知识都有所了解后,就该去阅读阅读一些优秀的代码,比如结合arm芯片手册学习去学习下UBOOT的源代码,了解下最小的系统开发,那对你整个嵌入式开发的非常有帮助的,可以的话,还可以学习下linux的源代码,当然如果你直接阅读2.6的代码,我想你会很痛苦的,可以先看看linux代码早期的版本,比如0.12的代码等等,麻雀虽小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。
以上就是我在本学期学习嵌入式后的心得及感想。
实践报告学习嵌入式是我的梦想,我很羡慕能够在嵌入式方面独当一面的高手,希望有一天我也能像他们那样自信自如的在嵌入式这片热土上挥洒着自己的青春和浪漫。带着无比豪迈的心情和缤纷的梦想来到易嵌学习嵌入式,在新的老师、新的同学和新的环境中,我开始了我的嵌入式学习,开始了新一轮的拼搏。
在易嵌短暂的两个月,我们从linux的基础入手,强化了c语言编程,学习了linux系统编程和网络编程。时间虽短,但成长很快,无论是理论知识还是实践能力都得到了大幅度的提高。在这里将理论和实践相结合,相互促进,相互补充,使得学习更加透彻。通过用不同方法实现同一个项目,不断深入,层层推进,学以致用!
在易嵌的这个暑假,我过得充实而快乐。在这里有着同学间的探讨、师生间的互动和魔鬼般的训练!在我丰富多彩的人生路上留下了永远亮丽与难忘的记忆!
实践报告正文:看着四年的大学生活就快要结束了,心中隐隐有一种伤感与失落,我陷入了沉思:该挺直腰杆走自己的路了!学习嵌入式是我的梦想,我很羡慕能够在嵌入式方面独当一面的高手,希望有一天我也能像他们那样自信自如的在嵌入式这片热土上挥洒着自己的青春和浪漫。
当我决定好好利用这个暑假,学习我一直都想去学的嵌入式的时候,就注定要在我丰富多彩的人生路上留下永远亮丽与难忘的记忆!算算毕业的时间,我已经闻到了离别的气息,在这即将远离大学时代的时刻,才真正懂得回眸的意义。想想走过的路,想想现在的路,想想来时的路,不知道未来能否成功,既然选择了远方,就注定要风雨兼程!带着无比豪迈的心情和缤纷的梦想来到易嵌学习嵌入式,希望在这崭新的一页留下人生的美好!在新的老师、新的同学和新的环境中,我开始了我的嵌入式学习,开始了新一轮的拼搏。
无论现在多么努力都无法追回失去的金色年华,所以在开班典礼的时候,我便为自己制定了目标!我将好好利用最后一个暑假,多学些知识锻炼自己,为自己储备一些精神食粮并不断开拓视野和提升自己的能力,让自己能够在毕业的时候成为学校的骄傲!
在易嵌短暂的两个月,我们从linux的基础入手,强化了c语言编程,学习了linux系统编程和网络编程。时间虽短,但成长很快,无论是理论知识还是实践能力都得到了大幅度的提高。
通过对linux操作系统的学习,我初步掌握了linux的基础。刚开始我对linux只是有一点儿了解,但并没有真正的去接触。在这段时间里,从linux系统安装开始着手,了解linux的发展,相比其他系统,它有很多优点。在安装好系统后,学习了linux的分区命名、linux的常用命令、文本编辑器vi、shell的使用、源代码的编译和调试、多模块的编译和链接以及管理工具。通过这些学习,我基本能够在linux系统下通过vi编辑器编写c语言程序,通过一些常用命令来调试、查看程序。
能够在这么短的时间内初步掌握linux,与在学校学习一门课程意义完全不同,通过老师的讲解,自己的练习,同学之间的交流,能够加深印象,熟练操作。
学习linux的基础只是我嵌入式学习历程的一个开始,虽然有好多命令还不太熟悉,有好多命令都还没有去尝试过,但我相信随着后期的学习,我将逐渐熟练掌握。在c语言学习阶段,我学到了很多新的知识,变量、函数、数组、指针、指针函数、函数指针、指针数组、数组指针、结构体、结构体指针数组、关键字……,从模块到整体,从写代码的'风格到代码优化……,通过这段时间的学习,我感觉自己写出的代码比以前更直观,更注重细节,bug也更少了!
在半个月时间的c语言学习中,我从刚开始的重温c语言到后来的位运算、堆栈、单向链表、双向链表以及list_head。新知识以及注意点渐渐增多,在这段时间,我创造了很多个记录,比如11小时完成30道编程题,独自完成一个功能比较齐全的学生选课管理系统等,特别是刚接触到链表和list_head的时候,不在像前面那样轻松了,还记得那段时间,每到晚上热醒的时候,又想起了我的学生管理系统,本来就少的可怜的睡觉时间,又被……,真可谓苦我心志矣!
不过,等我美美的睡上一觉,醒来回想起这段时间的学习,真是一个大丰收!虽然不能说是很精通c语言,至少可以说真的入门了……,我又向自己的目标迈出了坚实的一步!这段时间,我时常会想,如果一切可以重来,我会选择另外一种学习方式,从一开始就夯实基础!可是这是不现实的,经历了无数次的风雨后,柔弱的我早已学会了坚强。通过不断的交流与学习,我懂得了生活,懂得了学习,懂得了时间,懂得了成长,懂得了奋斗和拼搏。现在知道,为时不晚,从现在开始,我将为自己开辟一条适合自己的道路。
伴随着烈日,我们又开始了新的征程,开始深入学习linux系统程序设计,在这个阶段,我们学习了操作系统基础、并发性、linux系统接口、进程和线程以及进程间的通信。通过这阶段的学习,我对linux有了更加深入的了解,能
够熟练进行多线程多进程的操作。
紧接着就进入了网络编程学习阶段,从网络基础到linux网络编程,我更加深入的学习了tcp/ip协议和osi模型,理解了数据报的传输过程,对网络在嵌入式方面的应用进行了深入的学习,学会了socket编程。学完后重新对学生选课管理系统进行了改写,用c/s模型改写成多用户登录,利用线程实现资源共享。在项目改写中,不仅融合了前面的c语言知识,还充分的应用了linux系统编程和socket编程,将理论和实践相结合,相互促进,相互补充,使得学习更加透彻。通过用不同方法实现同一个项目,不断深入,层层推进,学以致用!
在易嵌的这个暑假,我过得充实而快乐。在这里有着同学间的探讨、师生间的互动和魔鬼般的训练!军队通过扎实的训练培养出来一代代革命军人,相信不久的将来,我也会成为一名优秀的嵌入式工程师!
短短三周的很快就过去了,在中软国际嵌入式方向班的第二次实习马上就要结束了。虽然只有短短的三周,但我学会了很多知识,学习了在Linux-Fedora14操作系统的环境下完成基于Smart210SDK开发板和DS18B20的温度采集及显示系统还有按键控制LED灯并实现开机和关机的相关功能,这些知识让我们对嵌入式有了更进一步的了解与熟悉。 作为一名大学生,纵观现在的就业形势,国家高校的扩招,世界金融危机的横扫,大学生应该有一种居安思危的紧迫感,特别是对已经度过几年大学的我来说,毕业并不是一个遥远的词汇。宝剑锋从磨砺出,梅花香自苦寒来,缺少了平时的锻炼,没有厚积当然不能有薄发。首先我得有思想上的紧迫感,在学校学习的都是理论知识,实践经验则是少之又少。综合能力强的人才才是这个社会需要的,成长成为社会需要的人才是我的个人奋斗目标。有了强大的精神动力,有了坚如磐石的毅力,相信成功并不遥远。
首先,通过这些天的实训我学到了很多知识。这一阶段在Linux-Fedora14操作系统的环境使用Smart210SDK开发板做一些程序设计并烧写到SD卡中通过Smart210SDK开发板来实现程序的执行,通过对Smart210SDK开发板的一步一步的熟悉和了解我们开展了嵌入式的基本的程序烧写、调试、执行这些相关的锻炼过程。
最后我们做了两个项目:
第一个是基于Smart210SDK开发板的按键控制LED灯并且实现开机和关机的相关功能与实现---项目功能是:实现长按开发板上的K1键实现开机或关机,在开机状态下能够实现K1短按控制LED1的点亮与熄灭、K2短按控制LED2的点亮与熄灭、K3短按控制LED3的点亮与熄灭、K4短按控制LED4的点亮与熄灭。项目涉及的相关技术是:相关寄存器的调用,延时子函数的调用,LED灯的初始化,实现按键的长按与短按的控制的C语言程序的设计与实现。
第二个是基于Smart210SDK开发板和DS18B20的测量并在minicom上显示的功能与实现---项目功能:首先实现DS18B20的初始化,然后在DS18B20中写数据、数据转换、读数据、进行数据间的格式转换,最后在minicom上显示出所
读出的温度,并且实现当温度高于32°C的时候LED灯闪烁,当温度高于35°C的时候蜂鸣器响。项目涉及的相关技术是:相关寄存器的调用,UART的串口与DS18B20的初始化,延时子函数的调用,字符与字符串的输入输出,计算温度的并进行数据类型的转换的C语言程序的设计与实现!
在此次的实训中我感觉到我们最大的不足就是动手的能力太差,这次实训也让我深刻的了解到,不管在工作中还是在生活中要和老师、同学保持良好的关系是很重要的.。做事首先要先做人,要明白做人的道理,如何与人相处是现代社会的做认得一个最基本的问题,对已自己这样一个即将步入社会的人来说,需要学习的东西很多。从一起做项目的同学身上我看到了谦虚谨慎、细心努力的态度,在以后我的生活中我还会留意身边同学的优点,从他们身上找寻我所缺少的品质,不断学习。从老师那里我看到了企业人的生活面貌,没有事情可以不劳而获,今天老师们能够领导我们是他们之前努力的结果,虽然老师没有和我们讲很多公司里的事情,可是他们的言行中所表现出来的都是比我们要严谨的多的对工作的态度。最后谢谢老师辛苦的教导我们!
这个题目很大,给人一种感觉我好像很成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸!
工作三年、几成废人!
我XX年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来说是天文数字。大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。并且我个人也有特殊的人生背景(悲景更确切),这里不多说了,写十篇也写不完,同时偏离主题。这样我就参加了工作。一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感觉。在工作中虽然是与自己专业有点关系,但是很少。专业几乎荒废。我自己也思考,如果再不出去,自己将会成废人,只好让国家养了。两年后决定出去,但是几成废人,谁要呢,只好到学校去镀金。这是中国教育和社会的悲哀!
至于专业就改为计算机方面,听说好找工作,我说实话不是很对计算机特别感兴趣,生存第一需要。不要笑我,哈哈!
考研成绩出来,超过了国家线几十分。那个方向要两个,我第三,但是那年非碘,不面试就按分数来排,自然我落选了。其实给我面试机会也不一定要我,哈哈,自己几斤几两很清楚。
最后调剂到另外一个学校,交钱,咬咬牙,交吧!现在仍然债台高筑!
进入学校前夕为什么要把这段列出,看后就知道了。
单位有网络,经常上网查些英语资料,在那里唯独英语没有丢很多。于是我就在网上查资料,学什么好呢,最后确定学嵌入式把,听说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。当然在这之前也自学过数据结构,计算机组成原理等。c语言在大学就学了。哈哈这就是我的家底。
我知道自己的基础差,于是我就拿操作系统,数据库、数据结构、c++来看,机关有这个好处,空余时间多,于是平常就看书,很痛苦,没有人请教。
另外就上网到论坛上去,我就到各个专业的技术论坛,其实是电子论坛和嵌入式论坛。我几乎没有发帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有很多重复的`,我才知道嵌入式是个什么东东。这些帖子对我以后的学习产生了极大的影响。
最关键两点:
1、嵌入式是什么?
2、嵌入式需要哪些知识?
知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++。同时论坛上了解到,实时操作系统ucos是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操作系统书时,根本就不知道进程是个什么东西。
在这段时间掌握的东西不多,但是,对我以后的影响很大,我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。
进入我的避难所对我来讲,再次进入大学不再是大学,而是避难所。希望这次进入给我喘气和养精蓄锐的机会和时间。我是这样认为和实践的。
在学校我有三件事:上课,上图书馆,上网。
对于上课,学校开了很多课程,非常好,很多是名人名师讲解,于是很多同学都想学,都去听。我也考虑过,最后放弃。我是这样认为的,时间是有限的,什么都想学,什么都学不成。于是我把我自己学的课进行了分化,一般的课程通过就行,重要的一定好好学。我希望不要什么争论学习课程多和少的问题,这仅仅是我的看法。所以我的成绩应该是很差的。分数低。好在后来的单位没有要我的成绩单,否则就惨了。
我个人感觉是上图书馆的效率比在寝室里高多了,这是我的经验。
本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,if,for,while循环什么的,感觉也就能算一些小学就会的题目,全国计算机等级二级也就糊涂的过了。我这个专业没学过C++,一开始不知道什么是向对象,什么叫面向过程,这可能让大家笑话了。不过这说的是实话,大学的时候比较喜欢动手,喜欢硬件方面的东西,也喜欢看书。在大一的时候就听学长说,单片机很难学,在没事的时候就从图书管借了本关于51的书,一开始还真是不怎么懂,然后硬着头皮去看,当我把51的结构看完了,就不像一开始那样一头雾水了,自己在纸上把51的结构图默画一遍,然后再把各个寄存器功能写一下,各个功能口的结构也画一遍,然后就不觉得51有什么难了。其实有些时候不是这个东西你不会,而是在不会的时候自己先告诉自己这个太难了,自己先放弃了。我们学习51芯片,是为了以后的打基础,知道是怎么通过配置寄存器来实现功能。
大二下学期的时候,我们开了51的课,这个课几乎就没怎么去,因为我认为没有必要去听自己会的东西了。后来听别人说avr的资源会比51的丰富的很多,所以就想试试,看看有什么难的,就从网上买了本马潮老师《AVR单片机嵌入式系统原理与应用实践>,一边看书,一边想自己画一个板了,一开始想实现一个点阵屏,实现滚动效果,后来想想做个板也花不少钱呢,为什么不多加一些功能呢,还能多学到些知识,所以就加了温感,红外,铁电存储器等并把所有的扩展口都扩展了出来,备以后用,那时还挺自豪的呢,同学们都很羡慕,不过现在想想其实也没什么了。
大学也听说过嵌入式这个词,不过不太明白是什么意思,20xx年的时候从网上找到中嵌视频,有四张DVD(大约13G),下载下来后,从头到尾的看了一遍,没什么印象,只记得讲一些不知所云的函数,然后莫名其妙的讲怎么使用那个44b0的开发板,不过听完了,还是有很大收获的,就有一种想装一个linux的冲动,我是大二下学期才有的自己电脑,不过电脑的配置比较低,1g内存,跑虚拟机就像个蜗牛,所以就想着怎么才能装个linux,自己用XP习惯了,如果全换了又舍不得,那时从书上知道linux的文件系统和windows不一样,只有一个根分区,所以也害怕一装linux全盘就被格式化了,不过最后还是欲望战胜了担心,买了张redhat 9的光盘,小心的装这个系统,里边的英文也不是太难,还是知道大概意思的,所以一步步的装,最后装到我的硬盘的最后空间,重新启动,竟可以选择进入哪一个系统了,从这之后,自己就不害怕怎么装系统了,应了那句言,纸上得来终觉浅,绝知此事要躬行。所以我认为,买一个开发板是完全有必要的,拿到实物操作一下就不会感觉太抽象了。后来也想学学arm,但不知道arm是什么东西,所以就买了本《从51到arm》,讲的是关于arm的大体结构,看完后感觉,原来arm就是一个速度更快,接口更丰富的单片机埃如果想做linux设备驱动的同学应该对arm硬件有一些了解。如果对驱动不感兴趣,完全没有必要去看。交叉编译器会帮我们做好这些事情,他比我们更了解arm结构。
大三下学期开始准备考研了,所以自己这些兴趣就先放下了,报的北邮的信通学院通信专业,当时就是想一定要上个好学校好专业,也没想太多,结果考了的成绩差了点,没有被录取,也不想调剂一个二流的学校,然后就参加工作了,工作中每天都用的到开发板,当我看到一个小板上还可以跑系统的时候感觉很不可思议,以为要很大工程。后来边工作边学习,每天都要看电脑看到眼发疼,晚上也都差不多十二点时才睡觉。感觉到累,不过也感觉到自己在进步。
闲话有点多了,说了很多都是自己大学那点破事。
听很多的初学者说不知道从哪里开始,学习嵌入都要学哪些东西,从网上搜了一下,一大堆的东西要学,一下就推荐十几本书,说看完这本书怎么怎么样,看完那本书怎么怎么样,一下子就给初学者给吓住了,其实完全没必要把网上的那些东西全部看一遍,那样又费时,又感觉工程太大,让初学者没有信心去把每一种都看完。网上说的些方面都要知道,不一定全部都掌握,我们可以退成求其次,每一个都知道一些,当然会的越多越好。今天学点这个明天学点那,换着样来也不会觉得烦。而且还能感觉到每天都有收获。
下面给嵌入式初学者一些自己的我个人建议。
1、嵌入式涉及到很多的基础知识:
c语言,关于C语言要知道基本的语法,什么是结构体,什么是共用体,有什么区别,不用强记一些二级考的东西,因在实际中用的很少。
c++要知道什么是类,怎么定义,继承,接口,要深刻理解,当然基本语法也是必不可少的。
操作系统原理也应该知道基本的原理的,我记得我大学没这个课还是去电信学院蹭别的专业的课呢,后来学习发现很多的东西都是在这个课上学到的。什么时间片啊,任务调度啊,都是在那里知道的。
Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),我们现在很多的人都习惯用鼠标了,很少用到命令,我们学习嵌入linux可要改改这个习惯了,linux用命令操作一是效率高,二是功能非常强大,远非图形界面能比的了的,其实我们用图形界面的操作都要转化为命令传给硬件的。
Linux文件系统的管理要清楚,哪个目录存放是什么东西,有什么用,文件权限管理等Shell编程也要了解一些,在这给大家推荐一个教程,周朝剑的shell编程,也就七八讲吧,讲的很全面。初学者看前4讲就可以了。
Linux设备驱动的架构要了解,初学者可以以飞凌的OK6410开发板上的led驱动分析一下,结合原理图和linux设备驱动相关书籍把每一行代码都分析明白。关于驱动给大家推荐一本书《LINUX社备驱动程序》中国电力出版社出版的,很经典的,初学者看可能看不太明白,不过要坚持看,最次也得把前6章看完了。
2、看书不要希望一次就会,一次就明白是什么意思,也不要死记硬背,看不明白也没关系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就记住了,遇到的少的,忘记也就忘记了。还有,不要直接阅读linux内核源代码,看一些自己把头撞破也想不明白的事,会打击初学者的积极性,要循序渐进,今天学个做个led,明天做个串口,后天说不定就做硬件编解码了。
3、你可以不接受培训,但是不能不买开发板。
如果你想学习嵌入式一定要买块学习板,现在的开发板很便宜了,给我们初学者减轻了很多经济负担。看再多的'视频,看再多的书,也不如自己动手试一下,看着很简单的东西,做起来就可能遇到很多的问题,遇到问题找到原因,解决问题,只有这样才能学到东西,记得我第一次写led的驱动,想自己试一下,网上也有人写过相关的代码,可是自己一试,就出了好多的问题,那个led弄了我一天才把led灯点亮。所以不要眼高手低。
还有关于培训,现在的培训机构很多,讲的也不错,老师也很好,但是有一个问题,太集中了,而且学生动手的机会也不太多,记得我们公司还招了一个在北京某个培训机构培训半年的员工呢,花了一万多,来了之后也没感觉有多高,问他都学了什么,也就是我前边说的那些基础知识,很多的东西还是不知道的,照着书弄个helloworld模块驱动两天没搞定。不是培训不好,但我个人见解效果并不是很好。记住:只有自己动手做过的东西才是自己的。
现在买一块开发板很便宜,飞凌的OK6410的开发板就不错,源码完全开放,而且资料也很丰富,完全能满足初学者学习用,有人说友善的板子也不错,我个人觉得友善的板子不错,但是不适合初学者,因为他的很多的东西是不给代码的,用过友善的板子的同学经常有这样的痛苦,想学一个东西,去找他的代码的时候,却找不到,很多友善提供的代码中很多的都是封装好的,只提供给客户一个库,初学者想要找代码的时候就不知道怎么办了。
4、不要好高骛远,要脚踏实地
对于初学者,还有一点小建议,我们拿到一个开发板,很兴奋也很激动,想法自然也很多,想用开发板实现自己的这个想法,实现那个想法,然后又不知道从何下手,然后就去论坛中发一个贴,“那个什么什么怎么实现啊,哪位大侠能详细说一下啊,跪求!1然后等着别人去回复。见没人回复就抱怨。有想法是好的,我们要实现自己的想法也是有前提的,首先,我们对这部分知识了解吗?如果不了解就去google一下(最好别用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到问题,再去发贴问,这样也显得咱们有水平。比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊,就是人家把代码给咱,咱也不明白是怎么回事埃。
5、多看代码,多写代码
见多识广,熟能生巧。多看代码,要从代码中读出代码的意思来。自己平时也要多写代码,多练习(这一点我做的不好,写的少)。
写完已经晚上两点了,思路有些乱,有些也是个人的见解,在有些人看来可能是错误的,每个人有每个人的学习方法,但是我们的目的只有一个——希望我们学到更多的知识。
学期开始,我们开始学习《嵌入式系统及应用》,由于初次接触嵌入式系统,感觉蛮难的,所以收获不是很大,很多的概念都比较模糊,等到学期结束开始做嵌入式课程设计时,真是茫然无从下手,自从拿到设计主题后,我就像热锅上的蚂蚁,一个字"急"。最后实在没有办法,逼着自己去学习,查资料,总算对嵌入式有了浅层理解。
嵌入式系统本身是一个相对模糊的定义,一个手持的Mp3和一个pC104的微型工业控制计算机都可以认为是嵌入式系统。总体来说,嵌入式系统是"用于控制,监视或者辅助操作机器和设备的装备"。一个典型的桌面Linux系统包括3个主要的软件层———linux内核、C库和应用程序代码。内核是唯一可以完全控制硬件的层,内核驱动程序代表应用程序与硬件之间进行会话。内核之上是C库,负责把pOSIXApI转换为内核可以识别的形式,然后调用内核,从应用程序向内核传递参数。应用程序依靠驱动内核来完成特定的任务。
在了解了基础知识之后,我开始进行上机操作,当然,其中遇到很多的难题,很多东西都是第一次接触,又没有别人在旁边指导操作,完全凭借自己去摸索练习。其中的困难可想而知。然而坚持就是胜利,牙一咬眼一闭坚持做下去,而通过本次实验,我感觉收获还是蛮多的。可能我对于嵌入式的知识学习的还是不太多,但是这之外的东西收获颇丰。它让我学会了如何通过自己的努力去认知一个新事物,更重要的是端正自己的学习态度,只有真正下功夫去学习,才能有收获,正所谓"一份耕耘,一份收获。"没有付出,何谈回报呢?再者,通过本次实验,我也学会了如何去分析问题,如何找出自己设计中的不足,继而去排除解决问题,这就是一个自主学习的过程。当我们通过实验去学习理论知识时,自己动手得出的.结论,不仅能加深我们对嵌入式的理解,更能加深我们对此的记忆。
当然,在这其中,我也发现自己的许多不足之处,由于学期伊始我没有好好学习,才落到如此地步,这也可以说是一个教训吧!我相信在以后的学习工作中,我一定会端正自己的学习态度,一丝不苟的去对待每一件事。只有做好足够的准备,才能事半功倍!
本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,if,for,while循环什么的,感觉也就能算一些小学就会的题目,全国计算机等级二级也就糊涂的过了。我这个专业没学过C++,一开始不知道什么是向对象,什么叫面向过程,这可能让大家笑话了。不过这说的是实话,大学的时候比较喜欢动手,喜欢硬件方面的东西,也喜欢看书。
在大一的时候就听学长说,单片机很难学,在没事的时候就从图书管借了本关于51的书,一开始还真是不怎么懂,然后硬着头皮去看,当我把51的结构看完了,就不像一开始那样一头雾水了,自己在纸上把51的结构图默画一遍,然后再把各个寄存器功能写一下,各个功能口的结构也画一遍,然后就不觉得51有什么难了。其实有些时候不是这个东西你不会,而是在不会的`时候自己先告诉自己这个太难了,自己先放弃了。我们学习51芯片,是为了以后的打基础,知道是怎么通过配置寄存器来实现功能。
大二下学期的时候,我们开了51的课,这个课几乎就没怎么去,因为我认为没有必要去听自己会的东西了。后来听别人说avr的资源会比51的丰富的很多,所以就想试试,看看有什么难的,就从网上买了本马潮老师《AVR单片机嵌入式系统原理与应用实践》,一边看书,一边想自己画一个板了,一开始想实现一个点阵屏,实现滚动效果,后来想想做个板也花不少钱呢,为什么不多加一些功能呢,还能多学到些知识,所以就加了温感,红外,铁电存储器等并把所有的扩展口都扩展了出来,备以后用,那时还挺自豪的呢,同学们都很羡慕,不过现在想想其实也没什么了。
大学也听说过嵌入式这个词,不过不太明白是什么意思,20xx年的时候从网上找到中嵌视频,有四张DVD(大约13G),下载下来后,从头到尾的看了一遍,没什么印象,只记得讲一些不知所云的函数,然后莫名其妙的讲怎么使用那个44b0的开发板,不过听完了,还是有很大收获的,就有一种想装一个linux的冲动,我是大二下学期才有的自己电脑,不过电脑的配置比较低,1g内存,跑虚拟机就像个蜗牛,所以就想着怎么才能装个linux,自己用XP习惯了,如果全换了又舍不得,那时从书上知道linux的文件系统和windows不一样,只有一个根分区,所以也害怕一装linux全盘就被格式化了,不过最后还是欲望战胜了担心,买了张redhat 9的光盘,小心的装这个系统,里边的英文也不是太难,还是知道大概意思的,所以一步步的装,最后装到我的硬盘的最后空间,重新启动,竟可以选择进入哪一个系统了,从这之后,自己就不害怕怎么装系统了,应了那句言,纸上得来终觉浅,绝知此事要躬行。
所以我认为,买一个开发板是完全有必要的,拿到实物操作一下就不会感觉太抽象了。
后来也想学学arm,但不知道arm是什么东西,所以就买了本《从51到arm》,讲的是关于arm的大体结构,看完后感觉,原来arm就是一个速度更快,接口更丰富的单片机啊。
如果想做linux设备驱动的同学应该对arm硬件有一些了解。如果对驱动不感兴趣,完全没有必要去看。交叉编译器会帮我们做好这些事情,他比我们更了解arm结构嵌入式学习。
大三下学期开始准备考研了,所以自己这些兴趣就先放下了,报的北邮的信通学院通信专业,当时就是想一定要上个好学校好专业,也没想太多,结果考了的成绩差了点,没有被录取,也不想调剂一个二流的学校,然后就参加工作了,工作中每天都用的到开发板,当我看到一个小板上还可以跑系统的时候感觉很不可思议,以为要很大工程。后来边工作边学习,每天都要看电脑看到眼发疼,晚上也都差不多十二点时才睡觉。感觉到累,不过也感觉到自己在进步
闲话有点多了,说了很多都是自己大学那点破事。
听很多的初学者说不知道从哪里开始,学习嵌入都要学哪些东西,从网上搜了一下,一大堆的东西要学,一下就推荐十几本书,说看完这本书怎么怎么样,看完那本书怎么怎么样,一下子就给初学者给吓住了,其实完全没必要把网上的那些东西全部看一遍,那样又费时,又感觉工程太大,让初学者没有信心去把每一种都看完。网上说的些方面都要知道,不一定全部都掌握,我们可以退成求其次,每一个都知道一些,当然会的越多越好。今天学点这个明天学点那,换着样来也不会觉得烦。而且还能感觉到每天都有收获。
4月10号,为期一个阶段的Linux开发基础培训课程圆满结束,回首这些天所留下的点点滴滴,感触深深,学习上知识点的积累,灵活运用的过程中感受到了Linux操作的快速高效性能,这也是我所追求的效率!
当初初涉培训课程的第一门课程时,都说Linux操作很繁琐复杂,心里总有些顾忌,带着种植话灿胄┬砥床┑木鲂模剂俗晕姨嵘锥蔚“充电”,由徐海兵老师教授我们基础课程的培训,我们则像着小学生般认真的记着笔记,仔细听着并学会如何去在实践中运用所学的Linux下的各种强大的命令集。
在Unit1中,徐老师详细生动的为我们讲述了有关Linux的诞生、初成长以及辉煌的发展至今,今后应用范围则愈来愈广泛,讲解了为Linux这个伟大的OS做出巨大贡献的一位位出色的、伟大的人物,他们那种学习钻研的精神、锲而不舍的信念、勇于把握住难得的机会,从小处着手,踏踏实实的创造出了对人类科技发展做出卓越贡献的Linux(Unix)系统,他们的种种,都值得我们去深刻反省、刻苦学习、传承并永远发展下去。
查看ip地址和重启网络服务是我学的`第一个命令:ifconfigeth0、ifconfigeth0IP地址、servicenetworkrestart。了解到远程登录软件可用xmanager。
secureCRT是我们常用的,安装好后利用其登录到了RedhatLinux,需要知道Linux主机的ip地址。徐老师为我们介绍了重要内容:SHELL,即运行程序的程序,如echo$$SHELL可查看SHELL的环境变量是csh还是bash。
指令pwd可查看当前所在路径,passwd:更改Linux下的密码,仅限root用户有此权限,当然我们是利用虚拟机VMware程序来运行LinuxOS的,懂得了如何设置虚拟机的网卡设置、暂停、恢复、全屏等。
推荐阅读
中国式现代化学习心得体会与感悟通用
驾驶证学习心得体会
新课标学习心得体会
交流心得体会
禁毒学习心得体会
运动心理学学习心得
嵌入式心得体会
大学习心得
学习心得
积极应对老龄化学习心得