人人范文网 范文大全

嵌入式系统学习心得

发布时间:2020-03-03 22:13:58 来源:范文大全 收藏本文 下载本文 手机版

篇一:嵌入式心得体会

这学期才接触嵌入式系统感觉还称不上入门,我通过学习知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。

广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和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 的代码等等,麻雀虽

小,五脏俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程师。

以上就是我在本学期学习嵌入式后的心得及感想。 篇二:嵌入式学习总结

一.为什么学习嵌入式?

1.就业前景

近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。

随着消费家电的智能化,嵌入式更显重要。像我们平常见到的手机、pda、电子字典、可视电话、vcd/dvd/mp3player、数字相机(dc)、数字摄像机(dv)、u-disk 、机顶盒(set top box)、高清电视(hdtv )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。

在中国,嵌入式软件发展过程中,政府已充分认识到它的重要作用,并在政策、资金等方面给予了大力支持。 2004 年国家发改委、科技部、商务部联合颁布的《当前优先发展的高技术产业化重点领域指南》,把嵌入式软件产业作为国家发展的一个重要领域。

最近几年来,中国的嵌入式软件发展速度一直高于中国软件产业的发展速度和全球嵌入式软件的发展速度,在中国软件产业和全球嵌入式软件产业中所占的比重越来越大。目前,中国嵌入式软件产业在整个软件产业中的比重已经超过了三分之一强。 从2006年至2010年,中国嵌入式软件产业规模仍将保持快速增长态势,年均复合增长率为25.8%,到2010年将达到3339.6亿元的规模。

中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等。

同时,不可否认的是长期以来,由于人才、宣传、资金等诸多问题以及嵌入式本身所特有的软硬结合特性,使嵌入式软件人才一直处于供不应求的状态。

2.自身发展

嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类。

一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,如bootloader、board support package(像pc的bios一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。他们的优势是对硬件原理非常清楚,不足是他们更擅长定义各种硬件接口,但对复杂软件系统往往力不从心(例如嵌入式操作系统原理和复杂应用软件等)。

另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写bsp和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给台湾或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责

开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

二.怎样学习嵌入式?

1.arm嵌入式开发领域

包括什么?

软件开发

操作系统以下的底层偏硬件驱动

在简单操作系统如uc/os-ii之上的程序开发

不包括什么?

硬件设计

类似linux这样操作系统以上的纯应用开发

2.arm基础知识

#1.arm体系结构:

load/store体系,big/little endian大小端格式,risc/cisc指令集,pipeline流水线

#2.arm工作模式: 7种工作模式:usr,sys,svc,irq,fiq,und,abt;其中5种异常模式 #3.arm寄存器:

37个寄存器:r0-r12, r13(sp),r14(lr),r15(pc),cpsr(spsr) #4.arm异常: 7种异常,异常向量表,异常优先级,异常处理程序,处理器现场,现场的保存和恢复

#5.amba总线: ahb(高性能总线),asb(系统总线),apb(外设总线) #6.arm内核技术: trustzone,jazelle,neon,thumb-2,simd,mmu,mpu #7.jtag标准: ieee1149.1,tdi,tdo,tck,tms,trst,边界扫描链,h-jtag,banyan,giveio #8.arm内核分类: arm7tdmi,arm926,strongarm/xscale,arm10,arm11,cortex-(a/r/m),securcore #9.arm汇编指令: mov,add,sub,b,bl,ldr,str,ldmfd,stmfd,mrs,msr,swi,mrc,mcr #10.mmu内存管理单元: va/pa,i-cache/d-cache,write buffer,context switch,cp15,tlb,ap,domain acce control,cache coherence #11.arm芯片外设控制器:

memory controller(内存控制器),watchdog(看门狗),gpio(通用io),uart(串口),timer(定时器),interrupt controller(中断控制器),nand flash controller,clock & power management(时钟和电源管理),dma(直接存储访问),usb controller,lcd controller,adc,iic,iis,spi,ac97,camera,mmc/sd #12.最小系统:

处理器,时钟,电源,pll锁相环,存储器,通讯端口,外设接口

存储器件

sram,sdram,nor flash,nand flash #13.arm处理器: samsung: s3c4510,s3c44b0,s3c2410,s3c2440,s3c6410,

#14.soc设计: fpga,cpld,vhdl,verilog #15.arm开发调试工具: sdt,ads1.2,axd,realview,keil mdk 4.11 (rvmdk4.11) #16.arm命令行工具: armcc,armasm,armlink,fromelf #17.嵌入式操作系统: vxworks,rtlinux,uc/os-ii,wince/wm #18.外设驱动程序: volatile关键字,位操作bit,时序图timing,管脚功能pin function,外设控制/数据/状态寄存器

#19.程序的存储,加载和运行: ro段,rw段,zi段,ro-base/rw-base,栈空间,堆空间,位置无关代码pic,启动搬移代码

3.核心概念

#1.寄存器:

arm内核寄存器

r0-r12 r13(sp) r14(lr) r15(pc) cpsr, spsr arm soc 特殊功能寄存器

sfr(special function register) #2.地址

c程序中变量的“地址” :&a soc 特殊功能寄存器的“地址” :0x48000000 寻址方式里面的“地址” :ldr r0, [r1] 二进制指令里面的“地址” :0xe59ff018 存储芯片内部的“地址” :0x4h 操作系统之上应用程序的“(虚)地址”

cpld器件对应的“(假)地址”

#3.异常和中断

异常是属于arm内核体系结构的概念

中断是属于arm soc处理器的概念

了解软件中断(swi)是实现操作系统提供系统调用的重要手段

了解硬件中断(例如timer定时器)是实现操作系统时间片的重要手段

三.三个问题。

#1.为什么要编写一个bootloader?

从根本上掌握一个嵌入式开发板底层的软硬件系统是怎样运转起来的

时钟频率如何设置;看门狗所起作用,串口如何工作;通讯协议如何实现;库函数;反汇编;函数栈空间。

#2.为什么要移植一个操作系统?

了解操作系统和底层硬件之间的依赖关系,知道哪些是移植相关的部分(即接口) 定时器中断(时钟节拍);异常处理和现场保存恢复;进程,进程控制块;处理器现场;进程的上下文切换;中断级别的进程切换。

#3.为什么要实现一个用户应用?

一个音频播放器;dma控制器,interrupt中断控制器;iis 总线;uda1341声卡芯片驱动;wav/mp3 音频文件格式;lcd液晶显示驱动;一个u盘;usb协议;fat文件系统格式;scsi命令集;nandflash存储芯片驱动。

四.经典语段

经典语段一:

嵌入式技术的掌握是需要一个过程的

实事求是的说,嵌入式技术的全面掌握是有相当难度的。可以轻轻松松学会嵌入式技术的说法是夸大其词了。这个就像学英语一样,学英语无论怎样学,不管是“疯狂学”还是用新理念来学,真正掌握的话还是需要一步步积累才能熟练掌握。在此,我建议大家不要想在几天内学会嵌入式,成为这方面的高手。这些想法本身是不太现实的。

现在我们需要做的是:

第一:把心踏实下来,做好打硬仗的准备。

第二:注意学习方法。尽量不要走弯路,争取一鼓作气入门。一旦入门了以后呢就好办了。嵌入式技术的掌握,本身呢就比较难,要是再走些弯路,时间上会浪费,甚至会影响学习的信心。

经典语段二:

最好的学习方法:

做项目。如果有机会大家跟着做一个难度适中的嵌入式项目,相信大家会很快入

门的。也就是说从实战之中来获得进步。但是,在我们没有嵌入式基础之前,不容易获得这样的机会。也就是说,在能力没有到之前,找个这样的工作很难。很显然呢,如果我们具备了获得这样一份工作的能力就好办了。但是,恰恰是这个阶段最难。这个就是搞嵌入式系统的门槛。这个门槛的跨越,我觉得是需要引导的。

比如有的人买了块开发板自学,上来就分析linux源码,结果折腾了几个月呢都没有什么收获。有的人只是掩饰了几个基本的功能,放了个mp3,玩了下如何来浏览网页,下不就不知道该怎么做了。实际上呢,学习一门技术是需要一个过程的,期间也会有一定的规律。我们具体来看。

五.学习心得

#1.嵌入式系统的范围很广,指具有计算能力的非pc系统,即具有通常使用的个人电脑的全部或部分特质的专用计算机系统。如生活中的pda、手机、电视机顶盒、数字电视、数码相机以及工业自动化仪表、医疗仪器等。它分硬件和软件两部分,硬件以嵌入式处理器(相当于pc的cpu)为核心,外扩rom、ram(相当于pc的硬盘、内存条)、输入/输出设备(pc的键盘/显示器)、各种通信接口(串口、usb、网络)等。软件由引导程序(pc的bios)、嵌入式操作系统(相当于pc机的windows xp) 和应用程序(相当于在windows xp上运行的程序,如金山词霸、word等)3部分组成,或只有其中的某部分。

#2.目标要明确,不要得过且过,不要追逐热门的东西。不管在什么时候,心里都要有自己的信念和理想,不要被其他东西左右了自己。

#3要从兴趣和竞争出发,因为这才是你产生动力源的地方。学东西时,要让自己先喜欢上它,要学会享受学习它的时间,喜欢乔***的都知道,乔老爷子最常说的一句就是要享受比赛的时间。因为只有你喜欢上了它,享受了它,才不会被它所产生的压力压倒自己,不要产生一种厌恶的心理。而且心态要调整,不要一味的蛮学,死学,在没有什么兴趣学的时候可以先玩几天,在回过头来,或者用其他的方式来转换。

#4要抱着一种十年方能磨一剑的心理,扎扎实实从基础开始,不要为高速开发的一些现象所迷惑,那些都只是软件的功劳。我个人认为搞编程,英语和数学很重要,大家一定要时时的抓,至于怎么抓那就是另外一回事了,当然其他的知识也要汲取,可以多接触点天文,地理,人文方面的东西来补充自己。 篇三:学习嵌入式系统感言

个人觉得培训学校都是差不多,所学的内容都是一样的。您不妨自己找几个学校的课程对比下,你就知道大同小异了,培训主要就是c、linux和arm课程。

我原来也想去培训,可是家里条件不允许,我没有那么多钱,后来我只好自学了,不懂的就上论坛问,我自己学了四个月,差不多也入门了,现在也是在做嵌入式开发。想想我自己走过的路,其实我发现,其实嵌入式并没有想象的难,关键是要花时间去学,要坚持几个月就可以了。

如果楼主还有时间,不妨自己学下。实在觉得困难的话再去培训吧。当然,楼主如果家里经济不错的话,也可以去培训吧。但是如果真的下决心要学的话,其实可以去找找自学的方法。

我把我前阶段看到的一篇一个专科生如何自学嵌入式,里面有介绍了他的学习方法和学习过程的文章,给楼主看看,希望对你有帮助。

专科生学嵌入式到找到工作的前前后后--学习的榜样

退学后我也迷茫,大专都没有毕业,我真的不知道我能干什么,我在纠结着我能做什么。所以辍学后我一段时间,我想去找工作,因为我比较沉默寡言,不是很会说话,我不适合去应聘做业务。我想应聘做技术的,可是处处碰壁。

一次偶然的机会,我才听到嵌入式这个行业。那天我去新华书店,在计算机分类那边想找本书学习。后来有个女孩子走过来,问我是不是读计算机的,有没有兴趣学习嵌入式,然后给我介绍了一下嵌入式现在的火热情况,告诉我学嵌入式多么的有前景,给我了一份传单,嵌入式培训的广告。听了她的介绍,我心里痒痒的,确实我很想去学会一门自己的技术,靠自己的双手吃饭。

回家后,我就上网查了下嵌入式,确实是当今比较热门的行业,也是比较好找工作的,工资也是相对比较高。我就下决心想学嵌入式了。于是我去找嵌入式培训的相关信息,说真的,我也很迷茫,我不知道培训是否真的能像他们宣传的那样好,所以我就想了解一段时间再做打算。

后来,我在百度知道看到一篇让我很鼓舞的文章《如何学习嵌入式》,是一个嵌入式高手介绍没有基础的朋友怎么自学入门学嵌入式,文章写的很好,包含了如何学习,该怎么学习。他提到一个方法就是看视频,因为看书实在太枯燥和费解的,很多我们也看不懂。这点我真的很认同,我自己看书往往看不了几页。

我在想,为什么别人都能自学成才,我也可以的!我要相信自己,所以我就想自学,如果实在学不会我再去培训。 主意一定,我就去搜索嵌入式的视频,虽然零星找到一些嵌入式的视频,但是都不系统,我是想找一个能够告诉我该怎么学的视频,一套从入门到精通的视频,一个比较完整的资料,最好能有老师教,不懂可以请教的。

下面介绍下我的学习流程,希望对和我一样完全没有基础的朋友有所帮助。

收到他们寄过来的光盘后,我就开始学习了,由于我没有什么基础,我就从最简单的c语言视频教程学起,话说简单,其实我还是很多不懂的,我只好请教他们,他们还是很热心的,都帮我解决了。c语言我差不多学了一个礼拜,接下来我就学了linux的基本命令,我在他们提供linux虚拟机上都有做练习,敲linux的基本命令,写简单的c语言代码,差不多也就三个礼拜。我每天都在不停的写一些简单的代码,这样一月后我基本掌握了c和linux的基本操作。

接下来我就去学习了人家的视频的培训教程,是整套的,和去参加培训没有多大的区别,这一看就是两个月,学习了arm的基本原理,学习嵌入式系统的概念,也掌握了嵌入式的环境的一些搭建,对linux也有更深层次的理解了,明白了嵌入式应用到底是怎么做的,但是驱动我只是有一点点的了解,这个相对难一点,我想以后再慢慢啃。

这两个月,除了吃饭睡觉,我几乎都在学习。因为我知道几乎没有基础,比别人差劲,我只能坚持努力着,我不能放弃,我必要要靠自己来养活自己,必须学好这门技术,同时我不懂的就问,这里真的很感谢他们的技术客服对我的任何问题都是耐心的解答,每天都我几乎都有好几个问题问他们,然后我就把不懂的问题总结记下来,这样慢慢积累了一段时间,我发现自己真的有点入门了。

最后的一个月,我就去看关于实践部分的内容,了解嵌入式项目具体的开发流程,需要什么样的知识,我就开始准备这方面的知识,也就是学习这方面的视频,同时他们建议我去找了找一些嵌入式面试的题目,为自己以后找工作做准备。我就到网上找了很多嵌入式的题目,把他们理解的记下来,这样差不多准备了20天左右

我觉得自己差不多入门了,会做一些简单的东西了。我就想去找工作看看,于是我就到51job疯狂的投简历,因为我学历的问题,专科没有毕业,说真的,大公司没有人会要我,所以我投的都是民营的小公司,我希望自己的努力有所回报。没有想过几天过后,就有面试了,但是第一次面试我失败了,虽然我自认为笔试很好,因为我之前做了准备,但是他们的要求比较严格,需要有一年的项目经验,所以我没有被选中。

把本文写出来,希望能让和我一样的没有基础的朋友有信心,其实我们没有必要自卑,我们不比别人笨,只要我们肯努力,我们一样会成功。

2 在大学生如则的身上,我们看到了一种精神,就是对认准的事情,不管多困难,多曲折,都不放弃,而且要坚定地、执着地做下去。这是在许多成功者身上我们看到的共同的东西。搞发明创造是寂寞的、艰苦的,但当一个人将它视作自己的事业和理想,它就是快乐的、充实的,坚持下去,必将看到成功的果实,世界上的许多事情亦是同理。(完) 篇四:学习嵌入式心得

实验报告书

课程名: 《嵌入式系统及应用》 题 目: 学习嵌入式心得

班 级:

姓 名:

学 号:

这学期才接触嵌入式系统学了8周了感觉还称不上入门,我通过了解知道了嵌入式的发展前景很大,各个领域都用到了嵌入式,学好嵌入式不愁没饭吃。

广义上讲,凡是带有微处理器的专用软硬件系统都是嵌入式系统。如各类单片机和dsp系统。从狭义上讲,那些使用嵌入式微处理器构成独立系统,具有自己操作系统,具有特定功能,用于特定场合的专用软硬件系统称为嵌入式系统。嵌入式系统由嵌入式硬件与嵌入式软件组成;嵌入式硬件以芯片、模板、组件、控制器形式埋藏于设备内部。

大体的嵌入式可以用下图来表示:

通过网上查询我发现目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,所以非专业it人员很难切入这一领域;另一方面,是因为这一领域较新,目前发展太快,很多软硬件技术出现时间不长或正在出现(如arm处理器、嵌入式操作系统等),掌握这些新技术的人当然很少。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少,根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。我们软件系的人学习嵌入式,显然应偏重于嵌入式软件,特别是嵌入式操作系统方面。对于搞嵌入式软件的人,最重要的技术显然是掌握主流嵌入式微处理器的结构与原理,必须掌握一个嵌入式操作系统,必须熟悉嵌入式软件开发流程并至少做过一个嵌入式软件项目。

然而我们都没有做过一个嵌入式软件项目,甚至连嵌入式的开发流程我也不清楚,我只了解了使用简单工具做一个简单的实验。只有去专研才能在嵌入式的领域站住脚,只有知道的比别人多才会更有竞争力。通过网上了解,我查询了嵌入式的入门和所需要的知识,其中c语言尤为重要,不管是做嵌入式软件还是硬件开发的人员,对c语言的掌握这个是必需的,特别是对于以后致力于嵌入式软件开发的人,现在绝大部分都是用c语言。其次,应该对操作系统有所

了解,这对你对硬件和软件的理解,绝对有很大的帮助。应该把系统的管理理解一下,比如进程、线程,系统如何来分配资源的,系统如何来管理硬件的;知道了c语言和操作系统之后,再来看看嵌入式系统,我们主要学的是arm,用的是arm7, 深入理解arm不是件容易的事,只有在知道arm相关知识之后才能称得上嵌入式已经入门了。

与嵌入式有关的知识我也学了不少就是不能够综合在一起运用,组成原理,数据结构,操作系统,c++,这3门与嵌入式密切相关的学科都系统的学了一遍,但由于长时间没用到都有点忘记了,从网上得知嵌入式的学习与这些书有很大关系之后,我把嵌入式与以前学过的知识结合起来发现嵌入式的实验中很多都是共通的,我对嵌入式有了初步的理解。我们这学期的嵌入式课本名为《嵌入式系统开发与应用教材》由北京航空航天大学出版社出版,其中讲到了嵌入式系统的开发基础,arm相关技术以及基于arm的嵌入式软件开发基础,还提到了基于s3c44b0x嵌入式系统应用开发实例,这些书上都提到但却不是很全,并没有叫我们怎么去学好嵌入式系统相关开发实例或过程。

我以为学习嵌入式应该分为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%的制造成本,在工业领域中对最终用户而言是一套极具成本效益的解决方案。 下图为一个真实的嵌入式系统实例,全套采用嵌入式系统制作的污水管理系统: 其实用到嵌入式的地方还有很多,随着计算机的飞速发展嵌入式的价格越来越便宜也将更加普及,嵌入式是一门前途光明的学科。

通过8周的学习学到的并不是很多,要想在这个领域中有所作为还需深入研究,我要走的路还有很多但我会一步一步走下去的。

篇五:学习嵌入式的心得

嵌入式学习[转贴] 怎样做才能快速的嵌入式了? 其实,做工程是没有捷径可走的

先说做硬件: 把你的数字电路教材和模拟电路的教材读熟,暂时先把重点放在数字电路上面,接着把微机原理和接口技术读熟悉了,最好能用汇编写几个简单的程序上机调试一下,这是很重要的。

完成上面的工作大概需要半年,不管你有多么的聪明,除非你以前这个基础就打的不错,否则,还是老老实实花上至少半年的时间!还是那句话,没有捷径可走,如果你相信那些什么“21天学通xx”什么的,那么我告诉你,放弃做工程吧!再说,你这么容易就学会了,别人也能的,你确定能拿到高薪吗?

下一步,就是选择一个dsp(或其它的嵌入式cpu)平台作为你的目标平台,先熟悉它的架构和与外围电路的接口,然后学习她的指令集,也要写一些小程序去跑一下。这个时候,你应该去买一个开发板了,一般的厂家附带会给你一些demo程序,看懂它,理解它,修改它,在你的板子上跑一跑。 完成上面两步,说明你已经入了这个行业的门了,下一步,想成为高手的话,就是自己去设计一些项目了,这个阶段所花的时间每个人都是不同的,要看你的造化(主要是前面的基础是否牢固)了。

再说说软件:

在嵌入式行业,你想做软件开发的话,没别的,那就深入理解c语言,尤其是c的指针,如果你以前学过c,但是没有意识到c相比其它的高级语言的优点的话(不是听别人说的,你自己的体会),你可以按下面步骤来理解c:

1、重新翻一遍c的教材,记住一些常用的c语法,但不要死抠语法;

2、从编译器的角度来理解c;

从编译原理的角度来理解你工作中使用的高级语言,如果你做到这一点,至少有两个好处: 第一个好处是避免一大堆低水平重复出现的编译错误。一名优秀的coder平均在一个工作日中应该完成200行以上的源码,其编译错误应该控制在5个以下,要知道这200行源码不是一次完成的,所以大多数情况下你都要追求一次编译通过;

第二个好处是可以提高源码的可读性和效率。规范地编写你的代码使你自己的逻辑清晰,因为你明白多加几个括号和空行、多换行对齐、多注释,编译器是会自动识别的,不影响程序执行的效率,反过来,控制好递归调用和循环内的if语句才是提高程序效率的关键,要全力避免递归,但要深刻理解递归,能通过自己建立堆栈来把递归程序转换成非递归程序,要求还是较高的哦!

3、从硬件的角度来理解c。

完成上面3步,你就是c的高手了,接下来应该去看看软件工程方面的书了,这个我还不太懂,不敢妄言。

另外说说教材的选择:学一门东西,选好你的教材,只要一本就可以了。坚决防止这种情况的出现:去图书馆借很多本书,像抢劫似的,而只是每一本都翻翻,就又还给图书馆了的!注意上面我把汇编语言放在硬件学习的板块里面,是由于汇编跟硬件的关系太紧密了,以至于是先学汇编还是先学习硬件电路和cpu架构成了要分清到底是“先有鸡还是先有蛋”的千年哲学难题了。

嵌入式操作系统一览

其实,嵌入式系统并不是一个新生的事物,从八十年代起,国际上就有一些it组织、公司,开始进行商用嵌入式系统和专用操作系统的研发。这其中涌现了一些著名的嵌入式系统: windows ce microsoft windows ce是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200k的rom。

vxworks vxworks是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x8

6、i960、sun sparc、motorola mc68xxx、mips rx000、power pc等等。大多数的vxworks api是专有的。采用gnu的编译和调试器。

psos isi公司已经被winriver公司兼并,现在psos属于windriver公司的产品。这个系统是一个模块化、高性能的实时操作系统,专为嵌入式微处理器设计,提供一个完全多任务环境,在定制的或是商业化的硬件上提供高性能和高可靠性。可以让开发者根据操作系统的功能和内存需求定制成每一个应用所需的系统。开发者可以利用它来实现从简单的单个独立设备到复杂的、网络化的多处理器系统。

qnx qnx是一个实时的、可扩充的操作系统,它部分遵循posix相关标准,如:posix.1b实时扩展。它提供了一个很小的微内核以及一些可选的配合进程。其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间运行。所有其它os服务,都实现为协作的用户进程,因此qnx内核非常小巧(qnx4.x大约为12kb)而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或是包括几百个处理器的超级虚拟机操作系统。

palm os os-9 microwave的os-9是为微处理器的关键实时任务而设计的操作系统,广泛应用于高科技产品中,包括消费电子产品、工业自动化、无线通讯产品、医疗仪器、数字电视/多媒体设备。它提供了很好的安全性和容错性。与其他的嵌入式系统相比,它的灵活性和可升级性非常突出。 lynxos lynx real-time systems的lynxos是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循posix.1a、posix.1b和posix.1c标准。lynxos支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征;包括基于调用需求的虚拟内存,一个基于motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。

目前,世面上有很多商业性嵌入式系统都在努力地为自己争取着嵌入式市场的份额。但是,这些专用操作系统均属于商业化产品,价格昂贵;而且,由于它们各自的源代码不公开,使得每个系统上的应用软件与其它系统都无法兼容。并且,由于这种封闭性还导致了商业嵌入式系统在对各种设备的支持

方面存在很大的问题,使得对它们的软件移植变得很困难。在嵌入式这个it产业的新的关键领域,linux操作系统适时地出现在了国家和国内各嵌入式厂商面前,由于linux自身诸多优势,吸引了许多开发商的目光,成为嵌入式操作系统的新宠。它的出现无疑为国家发展嵌入式操作系统事业提供了一个极有吸引力的机会。

前言

这个题目很大,给人一种感觉我好像很成功,其实不然。实际上自己水平不高,甚至很低,但是做过了一些曲折的学习道路,同时把自己真实的学习历程表达出来,希望对后来者有借鉴的意义,甚幸!

工作三年、几成废人!

我2000年毕业于华中地区的一个理工科大学,专业是机械电子,我当时已经签了一家内陆某个省级机关工作,家里八辈是农民,并且很偏远,能够进入这样的地方是祖坟有风水。但在毕业前夕有个进入it的机会,我本想进去的,家里人极力反对,阻力可想而知。同时要交4000元的违约金,对我来说是天文数字。大学里的费用很多是借的,几乎将近一半的费用是在大学勤工俭学挣的,为了省钱,高中一个学期回家一次,大学一年回去一次。并且我个人也有特殊的人生背景(悲景更确切),这里不多说了,写十篇也写不完,同时偏离主题。这样我就参加了工作。一张报纸一杯茶的日子,几乎下班后有种很空虚和恐慌的感觉。在工作中虽然是与自己专业有点关系,但是很少。专业几乎荒废。我自己也思考,如果再不出去,自己将会成废人,只好让国家养了。两年后决定出去,但是几成废人,谁要呢,只好到学校去镀金。这是中国教育和社会的悲哀!

至于专业就改为计算机方面,听说好找工作,我说实话不是很对计算机特别感兴趣,生存第一需要。不要笑我,哈哈!

考研成绩出来,超过了国家线几十分。那个方向要两个,我第三,但是那年非碘,不面试就按分数来排,自然我落选了。其实给我面试机会也不一定要我,哈哈,自己几斤几两很清楚。

最后调剂到另外一个学校,交钱,咬咬牙,交吧!现在仍然债台高筑!

进入学校前夕

为什么要把这段列出,看后就知道了。

单位有网络,经常上网查些英语资料,在那里唯独英语没有丢很多。于是我就在网上查资料,学什么好呢,最后确定学嵌入式把,听说跟硬件相对比较紧密!而我在大学里多少学习了数字电路,单片机等,所以多少也有所利用,不会真的一无所知。当然在这之前也自学过数据结构,计算机组成原理等。

c 语言在大学就学了。哈哈这就是我的家底。

我知道自己的基础差,于是我就拿操作系统,数据库、数据结构、c++来看,机关有这个好处,空余时间多,于是平常就看书,很痛苦,没有人请教。

另外就上网到论坛上去,我就到各个专业的技术论坛,其实是电子论坛和嵌入式论坛。我几乎没有发帖,几乎把几个大型的出名的论坛的帖子翻遍了,虽然有很多重复的,我才知道嵌入式是个什么东东。这些帖子对我以后的学习产生了极大的影响。

最关键两点:

1、嵌入式是什么?

2、嵌入式需要哪些知识?

知道了这两点,好办!我就开始规划学习路线。计算机的基本理论不能丢,于是重点看组成原理,数据机构,操作系统、c++。同时论坛上了解到,实时操作系统ucos是一个很好的嵌入式操作系统,对初学者很好。于是我就买了一本书,但是代码在电脑里调不通,网上也有很多相同的问题,我就看书,分析代码,一遍不行就两遍,三遍,这样才看了入了门,才知道什么是进程。原来看操作系统书时,根本就不知道进程是个什么东西。

在这段时间掌握的东西不多,但是,对我以后的影响很大,我想起了大学时一个同学跟我说过了一句话:大学里最重要的不是学到了什么,最重要的是学会怎么学!大概是这个意思。

进入我的避难所

对我来讲,再次进入大学不再是大学,而是避难所。希望这次进入给我喘气和养精蓄锐的机会和时间。我是这样认为和实践的。

在学校我有三件事:上课,上图书馆,上网。

对于上课,学校开了很多课程,非常好,很多是名人名师讲解,于是很多同学都想学,都去听。我也考虑过,最后放弃。我是这样认为的,时间是有限的,什么都想学,什么都学不成。于是我把我自己学的课进行了分化,一般的课程通过就行,重要的一定好好学。我希望不要什么争论学习课程多和少的问题,这仅仅是我的看法。所以我的成绩应该是很差的。分数低。好在后来的单位没有要我的成绩单,否则就惨了。

我个人感觉是上图书馆的效率比在寝室里高多了,这是我的经验。

有人会问,您下了那么多资料,怎么看的完和消化的了呢?

我是这样对待这个问题的:

1、网上资料比较零散,不系统,但是如果把差不多的东西收集起来看就相对完整了,(嵌入式的图书就是这两年特别多,特别是2004年,简直是向外涌!2003年想买本嵌入式,特别是嵌入式linux的不多。

2、对于像我这种入门的来说,很多看不懂,没关系,反复看,我个人对学习方法的一个总结是:重复是最好的老师!

3、即使有的用不上,也可以收集以后用的上时查阅。

但是我并非什么都要,目前我的技术路线是嵌入式linux,所以像wince之类基本上不

收集。

总之,我在学校里我充分利用时间来学习,我看到一些同学整天的挂在网上打游戏,发

些无关痛痒的帖子,浪费时间呀!我真的很痛心!

学习嵌入式

在这里我把它单独列出,文章有点紊乱,但是内容希望有益。

1、学习linux 根据我在论坛的了解,我选择学习嵌入式linux,刚好我们学校也重视嵌入式linux,从实验室到课程安排都是关于嵌入式linux方面,天时地利!这里我把学习linux的经验和教训说说。

可以这样说,在论坛里说道学习linux差不多就学习linux内核。于是我电脑里安装了linux就开始看linux内核方面的书了。我记得来学校以前就买到一本陈莉君的讲linux内核的第一版,现在有第二版了。我就开始看那本说,大家说linux内核情景分析不错,我就买了上下册,后来又买了 《深入理解linux内核》,最后也买了毛德操的《嵌入式系统》也是分析linux内核代码的,主要讲arm相关的。

看内核期间是个非常痛苦的过程,看情景分析有种在森林中找出路,其间我组织了一些同学学习内核,几乎没有几个能坚持下来的。我认为我是坚持下来了。情景分析在看第

一、第二遍是几乎没有摸到门道,我分析有三个方面的原因:

1、自己的基础差,这是最关键的。

2、内核本身很难。

3、没有交流和高人指点。到了第三遍时我才摸到门,才差不多知道个linux的大概脉络,很多细节也是稀里糊涂。

学习linux总结,这里声明一下,我指的嵌入式主要是偏向软件的嵌入式。学习嵌入式的重点和难点关键在操作系统,如果没有掌握操作系统,我认为很难把握一个嵌入式系统。即使在做嵌入式开发中,作应有层的开发几乎可以不知道操作系统也可以开发,我认为那是浮在表面的。很难深入和提高自己的层次。声明:一孔之见!不可深究!

在学习linux内核过程中犯了一个极其严重路线错误:对linux几乎不懂就开始学习内核。我个人推荐一个学习路线是:使用linux—〉linxu系统编程开发---〉驱动开发和分析linux内核。而我差不多相反,实际上你不会使用linux也可以学习内核,但是如果你懂了这些东西学习更有效率。

关于要不要学习内核的问题,我的回答如下:不一定。如果你是喜欢钻研的那你进入内核会满足你的欲望。同时对你以后的嵌入式系统的开发有很好的影响。如果你想从事嵌入式linux系统开发,最好对内核有所了解。如果仅仅是做应用开发没有必要。我打个比喻:c、c++、java等语言是武林中的某个武林派别的话,如什么拳法,什么刀法等,那么linux 内核应该是一个人的内功的反应。 怎么开始学linux内核:最好有三件宝物:《深入理解linux内核》《情景分析》和源代码。

先看《深》,那主要讲原理,好像市场上有本讲原理性并且更浅,《linux内核设计与实现》听说不错。如果没有学习操作系统的,像我这样的,最好先看看操作系统原理的书。看了几遍后,就看情景分析,最好对着《深》看。两本交叉看,《深》是纲,《情》是目。最后深入代码。

2、学习嵌入式linux 学习嵌入式,我认为两个重点,cpu和操作系统,目前市场是比较流行arm,所以推荐大家学习arm。操作系统很多,我个人对开始学习的人,特别不是计算机专业的,推荐学习ucos。那是开源的,同时很小。学习很好。为什么选linux,我不想讲太多,网上这方面的太多,但是我在工作中发现,做linux的技术路线很难,在windows几乎不会有的问题,在linux开发中几乎遍地陷阱。一掉进去划很长时间出来,一旦解决自己又长进了!相对来说开发周期长,难度大。现在资料也逐渐丰富起来,难度也降低了些!

至于怎么学习,这是他的特色地方,必须有块开发板,我是同学里最早买学习板的,虽然化钱,我认为值。对我实习和工作产生了很大的影响。

如果没有开发板,那是纸上谈兵。有人说,那要1000-2000亚,的确是,兄弟,看长远的,对您的职业和发展那点钱不算什么!有的人说我站着说话不腰痛,好吧,钱这东西对我影响很大,我在大学里扫厕所,扫的不错,奖5元/月。兄弟你有过吗?我认为教育投资是效益最有保障的!我实习拿3k,很多同学拿1-2k,当然比我高的也有。虽然我现在没有毕业,但一家公司就签了。从事目前流行的高档的消费电子的研发。对于我两年前一无所知的我,应该有质的变化,我感谢学校收了我这个废品。当然我也非常的努力。说这么多并不是要炫耀我什么,实际上根本不值得炫耀,虽然现在工作环境和待遇比较满意,但是,我发现我很差,特别是代码能力,我希望平常大家少玩游戏,多编程。编程才是硬道理!

3、学习板和培训 你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,最好买块arm9的,贵些也值。可以跑高级操作系统。这个不要什么品牌公司的,一般不会出什么问题,市场上的板子一般是三星的2410,基本上是抄的。如果是做产品那要注意些。一般的公司一般要2000,加lcd要3000甚至更多。我接触到有的板只要1200,加lcd也就2000,差别比较大,我认为学习都够啦。

对于培训,如果有条件最好参加,主要是嵌入式相对别的不同,自己摸索很费时,如果有高手指点非常的好,进步快。特别是认识做这些的朋友。我接受过培训,认识个朋友。在以后的工作中帮我很多,在这里谢谢他!我记得哈佛的一个mba的学生这样说,大意是:在哈佛学到什么不重要,最重要的是这些未来各大公司的高级管理人员是我的同学!真是有远见!

目前市场是培训比较贵,一个星期两三千,真正算起来也要,那些讲师待遇绝对不会低。但是有个致命的问题是连续上课,一连几天,效果不佳。我希望社会上多出些1000元左右,并且时间长些,如一个月,一周一到两次课。如果没人做,我来做,哈哈!

没有想到,一下写了这么多,其实还想写的,比如在中科院的一位老兄是怎样学习linux内核和看书的,真的很感动。他的为人我很钦佩。

嵌入式系统学习心得

嵌入式系统

嵌入式学习心得

嵌入式学习心得

嵌入式学习心得

嵌入式学习心得

嵌入式系统实验报告

嵌入式系统课程设计

嵌入式系统实验报告

嵌入式系统实验

嵌入式系统学习心得
《嵌入式系统学习心得.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档