报告嵌入式心得

时间:2019-05-14 21:58:04下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《报告嵌入式心得》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《报告嵌入式心得》。

第一篇:报告嵌入式心得

专题课学习至今,学到了很多东西。而找工作时,各种笔试面试中,深刻地体会到“嵌入式系统”的重要性。这让我更坚定了学好嵌入式系统的想法。

嵌入式系统这门课和C语言颇有关联,这也重新夯实了我的C语言基础。而良好的C语言能力,也是学习嵌入式的必备基础。我决定在学好基础后,在对嵌入式进行扩展学习。

据了解嵌入式学习主要有两方面:软件和硬件。嵌入式软件的比较多,而做硬件不多,但多是高手。嵌入式的软件又有好多种,主要是针对不同CPU的,但是基本都是用C语言的,还有极少的汇编,主要在BOOT启动、初始代码中。目前来说,嵌入式Linux比较流行,安卓就是基于linux内核的。wince、Vxworks什么的貌似不多,特别是vxworks。

我也对嵌入式系统的应用方面进行了了解。现在在市场还是蛮吃香的,可从事的就业方向还是蛮多的比如:消费类电子(手机、PDA、游戏机)、数字 多媒体(网络点播、机顶盒)、汽车电子(导航仪)、医疗电子、工业控制等行业。

嵌入式系统是二十一世纪科技领域的重大创新,必将推进全球经济社会高速发展,实现人类发展史上的重大突破。科学在发展,人类在进步,随着一代又一代IT精英们的不断努力,未来的嵌入式系统一定会是更加方便人们的工作、学习、生活的好伴侣。

据了解,嵌入式市场有非常大的机会,预计到2012年将有30亿台嵌入式设备交货。这样一个“爆炸性”的增长主要是由于终端用户越来越基于连接性的用户体验及应用程序来购买具有智能、连接性、服务导向的设备。

嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置(”devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专业计算机系统。

本文从嵌入式系统的 等方面来概要性地介绍嵌入式系统。

1.嵌入式系统的概念

1.1嵌入式系统的定义

根据IEEE(电气和电子工程师协会)的定义,嵌入式系统是“控制、监视或者辅助装置、机器和设备运行的装置”(devices used to control, monitor, or assist the operation of equipment, machinery or plants)。从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。目前国内一个普遍被认同的定义是:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专业计算机系统。

1.2 嵌入式系统的特点

1.系统内核小。由于嵌入式系统一般是应用于小型电子装置的,系统的资源相对有限,所以内核较之传统的操作系统要小得多。

2.专用性强。嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。

3.系统精简。嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。

4.高实时性的系统软件(OS)是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度;软件代码要求高质量和高可靠性。

5.嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(Real-Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。

6.嵌入式系统开发需要开发工具和环境。由于其本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。

1.3几个关键概念的解释

1、嵌入式处理器

嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新的受到广泛青睐的32位,64位嵌入式CPU。

2、实时操作系统

实时操作系统(RTOS-Real Time Operating System):

嵌入式系统目前最主要的组成部分。根据操作系统的工作特性,实时是指物理进程的真实时间。实时操作系统具有实时性,能从硬件方面支持实时控制系统工作的操作系统。其中实时性是第一要求,需要调度一切可利用的资源完成实时控制任务,其次才着眼于提高计算机系统的使用效率,重要特点是要满足对时间的限制和要求。

3、分时操作系统

对于分时操作系统,软件的执行在时间上的要求,并不严格,时间上的错误,一般不会造成灾难性的后果。目前分时系统的强项在于多任务的管理,而实时操作系统的重要特点是具有系统的可确定性,即系统能对运行情况的最好和最坏等的情况能做出精确的估计。

4、多任务操作系统

系统支持多任务管理和任务间的同步和通信,传统的单片机系统和DOS系统等对多任务支持的功能很弱,而目前的Windows是典型的多任务操作系统。在嵌入式应用领域中,多任务是一个普遍的要求。

5、实时操作系统中的重要概念

系统响应时间(System response time):系统发出处理要求到系统给出应答信号的时间。

任务换道时间(Context-switching time):任务之间切换而使用的时间。

中断延迟(Interrupt latency):机器接收到中断信号到操作系统作出响应,并完成换道转入中断程序的时间。

6、实时操作系统的工作状态

实时系统中的任务有四种状态:运行(Executing),就绪(Ready),挂起(Suspended),冬眠(Dormant)。

运行:获得CPU控制权。

就绪:进入任务等待队列,通过调度转为运行状态。

挂起:任务发生阻塞,移出任务等待队列,等待系统实时事件的发生而唤醒,从而转为就绪或运行。

冬眠:任务完成或错误等原因被清除的任务,也可以认为是系统中不存在的任务。

任何时刻系统中只能有一个任务在运行状态,各任务按级别通过时间片分别获得对CPU的访问权。

2.嵌入式系统的组成

有关嵌入式系统的组成非常多,限于篇幅,本文只介绍其中机电最关键概念。嵌入式系统的组成

1)嵌入式系统硬件层。一般包括有:嵌入式处理器、存储器、I/O系统和外设 2)嵌入式系统的软件系统。包括:操作系统、应用软件

嵌入式系统的开发工具(1)硬件开发工具包括:仿真器等;其它(示波器等)(2)软件开发工具包括:编译、连接、定位软件,通常使用C语言;调试软件。

3)中间层。它将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关。4)应用层

一个嵌入式系统装置一般都由嵌入式计算机系统和执行装置组成,如图1-1所示,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。

2.1硬件层

硬件层中包含嵌入式微处理器、存储器(SDRAM、ROM、Flash等)、通用设备接口和I/O接口(A/D、D/A、I/O等)。在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。

2.1.1、嵌入式微处理器

嵌入式系统硬件层的核心是嵌入式微处理器,嵌入式微处理器与通用CPU最大的不同在于嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将通用CPU许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

嵌入式微处理器的体系结构可以采用冯诺依曼体系或哈佛体系结构;指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)和复杂指令系统CISC(Complex Instruction Set Computer,CISC)。RISC计算机在通道中只包含最有用的指令,确保数据通道快速执行每一条指令,从而提高了执行效率并使CPU硬件结构设计变得更为简单。

嵌入式微处理器有各种不同的体系,即使在同一体系中也可能具有不同的时钟频率和数据总线狂度,或集成了不同的外设和接口。据不完全统计,目前全世界嵌入式微处理器已经超过1000多种,体系结构有30多个系列,其中主流的体系有ARM、MIPS、PowerPC、X86和SH等。但与全球PC市场不同的是,没有一种嵌入式微处理器可以主导市场,仅以32位的产品而言,就有100种以上的嵌入式微处理器。嵌入式微处理器的选择是根据具体的应用而决定的。

2.1.2、存储器

嵌入式系统需要存储器来存放和执行代码。嵌入式系统的存储器包含Cache、主存和辅助存储器。

1.Cache

Cache是一种容量小、速度快的存储器阵列它位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。

在嵌入式系统中Cache全部集成在嵌入式微处理器内,可分为数据Cache、指令Cache或混合Cache,Cache的大小依不同处理器而定。一般中高档的嵌入式微处理器才会把Cache集成进去。

2.主存

主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。它可以位于微处理器的内部或外部,其容量为256KB~1GB,根据具体的应用而定,一般片内存储器容量小,速度快,片外存储器容量大。

常用作主存的存储器有:

ROM类 NOR Flash、EPROM和PROM等。

RAM类 SRAM、DRAM和SDRAM等。

其中NOR Flash 凭借其可擦写次数多、存储速度快、存储容量大、价格便宜等优点,在嵌入式领域内得到了广泛应用。

3.辅助存储器

辅助存储器用来存放大数据量的程序代码或信息,它的容量大、但读取速度与主存相比就慢的很多,用来长期保存用户的信息。

2.1.3、通用设备接口和I/O接口

嵌入式系统和外界交互需要一定形式的通用设备接口,如A/D、D/A、I/O等,外设通过和片外其他设备的或传感器的连接来实现微处理器的输入/输出功能。

2.2软件系统

系统软件层由实施多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

嵌入式实时操作系统:

实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。RTOS是一段嵌入在目标代码中的程序,系统复位后首先执行,相当于用户的主程序,其他程序都建立在RTOS之上。

2.3中间层

硬件层与软件层之间为中间层,也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP 层提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。

BSP具有以下两个特点:

硬件相关性:因为嵌入式实时系统的硬件环境具有应用相关性,而作为上层软 件与硬件平台之间的接口,BSP需要为操作系统提供操作和控制具体硬件的方法。

操作系统相关性:不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。

3.嵌入式系统的开发

3.1嵌入式两种开发

硬件,主要使用语言是C语言和汇编,例如做dsp开发,做驱动开发,这类的开发对硬件要求比较高,短期内比较难掌握,除非是专业人士,另外,这类开发的就业机会比较少,因为国内的硬件设计力量很弱,稍复杂的硬件都交给国外公司设计,所以大学生找这样的工作很难,这也是为什么很多这类的毕业生都转行去做应用层的软件开发或者做网络维护之类的工作了。

软件,主要基于嵌入式操作系统,例如Symbian、Linux、Windows mobile、Android等等,开发人员主要从事嵌入式操作系统和应用软件的开发。特点是:比较容易上手学习,就业机会多,因为嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作。越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势,所以需要大量的研发人员,而且就业前景也非常的看好。

3.2嵌入式系统开发生命周期

硬件与软件将同时进行开发。理解硬件与软件功能相互之间的关系及界限有助于确保设计要求得到完整正确的理解和实现。

早在设计要求的定义与分析阶段,就必须分配系统仿真、原型设计和行为建模结果、一旦分配结束,就可以立即着手具体的设计和实现。实时系统开发中软硬件的并行设计会使用到各种分析技术,包括:

1.硬件与软件仿真;

2.硬件/软件协同仿真;

3.可调度的建模技术,如速率恒定分析;

4.原型设计和渐进式开发。

低层仿真可以用来为总线宽度和数据流程建模,这对性能评估是非常有用的。高层仿真可以满足功能的交互,并促成硬件/软件权衡研究及有效性设计。

4.嵌入式系统的现状与发展

发展现状:

随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。

硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量。

从软件方面讲,也有相当部分的成熟软件系统。国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。

发展趋势:

信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势:。

1.嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和数据库支持。

目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。2.网络互联成为必然趋势。

未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,支持更多协议。

3.精简系统内核、算法,降低功耗和软硬件成本。

未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件。

第二篇:学习嵌入式心得

嵌入式心得体会

本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下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结构。

大三下学期开始准备考研了,所以自己这些兴趣就先放下了,报的北邮的信通学院通信专业,当时就是想一定要上个好学校好专业,也没想太多,结果考了的成绩差了点,没有被录取,也不想调剂一个二流的学校,然后就参加工作了,工作中每天都用的到开发板,当我看到一个小板上还可以跑系统的时候感觉很不可思议,以为要很大工程。后来边工作边学习,每天都要看电脑看到眼发疼,晚上也都差不多十二点时才睡觉。感觉到累,不过也感觉到自己在进步。

闲话有点多了,说了很多都是自己大学那点破事。

听很多的初学者说不知道从哪里开始,学习嵌入都要学哪些东西,从网上搜了一下,一大堆的东西要学,一下就推荐十几本书,说看完这本书怎么怎么样,看完那本书怎么怎么样,一下子就给初学者给吓住了,其实完全没必要把网上的那些东西全部看一遍,那样又费时,又感觉工程太大,让初学者没有信心去把每一种都看完。网上说的些方面都要知道,不一定全部都掌握,我们可以退成求其次,每一个都知道一些,当然会的越多越好。今天学点这个明天学点那,换着样来也不会觉得烦。而且还能感觉到每天都有收获。

下面给嵌入式初学者一些自己的我个人建议。1嵌入式涉及到很多的基础知识:

c语言,关于C语言要知道基本的语法,什么是结构体,什么是共用体,有什么区别,不用强记一些二级考的东西,因在实际中用的很少。

c++要知道什么是类,怎么定义,继承,接口,要深刻理解,当然基本语法也是必不可少的。

操作系统原理也应该知道基本的原理的,我记得我大学没这个课还是去电信学院蹭别的专业的课呢,后来学习发现很多的东西都是在这个课上学到的。什么时间片啊,任务调度啊,都是在那里知道的。

Linux基本命令的使用(vi编辑器必须会用,因为在终端改文件的时候只能用这个),我们现在很多的人都习惯用鼠标了,很少用到命令,我们学习嵌入linux可要改改这个习惯了,linux用命令操作一是效率高,二是功能非常强大,远非图形界面能比的了的,其实我们用图形界面的操作都要转化为命令传给硬件的。

Linux文件系统的管理要清楚,哪个目录存放是什么东西,有什么用,文件权限管理等 Shell编程也要了解一些,在这给大家推荐一个教程,周朝剑的 shell编程,也就七八讲吧,讲的很全面。初学者看前4讲就可以了。

Linux设备驱动的架构要了解,初学者可以以飞凌的OK6410开发板上的led驱动分析一下,结合原理图和linux设备驱动相关书籍把每一行代码都分析明白。关于驱动给大家推荐一本书《LINUX社备驱动程序》中国电力出版社出版的,很经典的,初学者看可能看不太明白,不过要坚持看,最次也得把前6章看完了。看书不要希望一次就会,一次就明白是什么意思,也不要死记硬背,看不明白也没关系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就记住了,遇到的少的,忘记也就忘记了。还有,不要直接阅读linux内核源代码,看一些自己把头撞破也想不明白的事,会打击初学者的积极性,要循序渐进,今天学个做个led,明天做个串口,后天说不定就做硬件编解码了。

3、你可以不接受培训,但是不能不买开发板。如果你想学习嵌入式一定要买块学习板,现在的开发板很便宜了,给我们初学者减轻了很多经济负担。看再多的视频,看再多的书,也不如自己动手试一下,看着很简单的东西,做起来就可能遇到很多的问题,遇到问题找到原因,解决问题,只有这样才能学到东西,记得我第一次写led的驱动,想自己试一下,网上也有人写过相关的代码,可是自己一试,就出了好多的问题,那个led弄了我一天才把led灯点亮。所以不要眼高手低。

还有关于培训,现在的培训机构很多,讲的也不错,老师也很好,但是有一个问题,太集中了,而且学生动手的机会也不太多,记得我们公司还招了一个在北京某个培训机构培训半年的员工呢,花了一万多,来了之后也没感觉有多高,问他都学了什么,也就是我前边说的那些基础知识,很多的东西还是不知道的,照着书弄个helloworld模块驱动两天没搞定。不是培训不好,但我个人见解效果并不是很好。记住:只有自己动手做过的东西才是自己的。

现在买一块开发板很便宜,飞凌的OK6410的开发板就不错,源码完全开放,而且资料也很丰富,完全能满足初学者学习用,有人说友善的板子也不错,我个人觉得友善的板子不

错,但是不适合初学者,因为他的很多的东西是不给代码的,用过友善的板子的同学经常有这样的痛苦,想学一个东西,去找他的代码的时候,却找不到,很多友善提供的代码中很多的都是封装好的,只提供给客户一个库,初学者想要找代码的时候就不知道怎么办了。不要好高骛远,要脚踏实地

对于初学者,还有一点小建议,我们拿到一个开发板,很兴奋也很激动,想法自然也很多,想用开发板实现自己的这个想法,实现那个想法,然后又不知道从何下手,然后就去论坛中发一个贴,“那个什么什么怎么实现啊,哪位大侠能详细说一下啊,跪求!”然后等着别人去回复。见没人回复就抱怨。有想法是好的,我们要实现自己的想法也是有前提的,首先,我们对这部分知识了解吗?如果不了解就去google一下(最好别用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到问题,再去发贴问,这样也显得咱们有水平。比如自己连串口是什么都不太清楚呢,就问串口通信怎么做啊,就是人家把代码给咱,咱也不明白是怎么回事啊。多看代码,多写代码

见多识广,熟能生巧。多看代码,要从代码中读出代码的意思来。自己平时也要多写代码,多练习(这一点我做的不好,写的少)。

写完已经晚上两点了,思路有些乱,有些也是个人的见解,在有些人看来可能是错误的,每个人有每个人的学习方法,但是我们的目的只有一个——希望我们学到更多的知识。

第三篇:嵌入式报告

目录

引言...............................................................................................................................2 1.ARM概述.................................................................................................................2 2.芯片介绍..................................................................................................................2

2.1............................................................................................................................2 3.显示方式选择方案与论证......................................................................................3 4.硬件设计..................................................................................................................4

4.1............................................................................................................................4 4.2 电路原理图.....................................................................................................4 5.软件设计..................................................................................................................5 6.心得体会..................................................................................................................6 参考文献.......................................................................................................................7 引言

随着信息技术和网络技术的高速发展,嵌入式产品日益广泛地渗透到各个行业和领域。嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本,体积、功耗严格要求的专用计算机系统。嵌入式系统通常包括硬件和操作系统两部分,硬件是构成软件的基本运行环境。

到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域,如工业控制领域,无线通讯领域,网络应用,消费类电子产品。此外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。

1.ARM概述

ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。

ARM 微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM 技术的微处理器应已经渗入到我们生活的各个方面。

2.芯片介绍

2.1LPC2132简介

芯片概述:

LPC2131/2132/2138是基于一个支持实时仿真和嵌入式跟踪的32/16 位ARM7TDMI-STM CPU 的微控制器,并带有32kB、64kB、512 kB 的嵌入的高速Flash 存储器。128 位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。

LPC2132G功能方框图如图2-1所示

图2-1 LPC2132G功能方框图

本设计使用2块4位共阴LED数码管作为显示模块。

3.显示方式选择方案与论证

采用LED数码管动态扫描显示方法,是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。通过调整电流和时间参数,当动态扫描频率加大到一定范围时可以既保证亮度,又保证显示。动态显示对IO的利用率相对教高。

4.硬件设计

4.1 电路设计原理

RSPI是一种高速的、全双工、同步的通信总线,且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义。

SPI总线工作的四种方式如图4-1所示,其中使用的最为广泛的是SPI0和SPI3方式(实线表示):

图4-1 SPI总线四种工作方式

SPI模块为了和外设进行数据交换,根据外设工作要求,其输出串行同步时钟极性和相位可以进行配置,时钟极性对传输协议没有重大的影响:CPOL=0时串行同步时钟的空闲状态为低电平; CPOL=1,串行同步时钟的空闲状态为高电平;

时钟相位能够配置用于选择两种不同的传输协议之一进行数据传输:CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样; CPHA=1,在串行同步时钟的第二个跳变沿(上升或下降)数据被采样。

SPI主模块和与之通信的外设备时钟相位和极性应该一致。4.2 电路原理图

P1.24-P1.31口作为数码管数据输出口,外接上拉电阻后分别连接到两个数码管的段选端上。P0.0-P1.7口作为数码管位选控制口,分别接到2个4位共阴数码管的共8个位选端上。另外,LPC2138的1-4、6、8、10、12脚接+3.3V电源。14、16、18、20脚接+5V电源。5、7、9、11、13、15、17、19、37-40脚接GND。电路原理图如图4-2所示。

图4-2 总电路原理图

5.软件设计

程序流程图如图5-1所示

图5-1 程序流程图

6.心得体会

本次嵌入式系统设计有学生自主命题,开放性大,范围广但是这同时对于每一个同学来说都是一个不小的挑战。

此次设计为基于嵌入式ARM的电子秒表的设计,在设计中以LPC2132为核心的核心板来设计电子秒表。在设计中为解决问题需自己查阅资料,是自己更多更深入的去了解和使用嵌入式系统来完成设计,加深了对嵌入式系统的认识,也激起了自己对嵌入式系统的兴趣。

本次设计的难点关键在于对于ARM系统人士的不足,对于嵌入式系统的不了解,以及对于各种芯片的使用方法不能灵活运用使得设计中问题不断。

参考文献

[1] 崔更申,孙安青.ARM嵌入式系统开发与实践[M].北京:中国电力出版社,2008 [2] 张绮文.ARM 嵌入式常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,[3] 刘同法,肖志刚.ARM Cortex-M3内核微控制器快带入门与应用.北京:北京航空航天大学出版社,2009 [4] 三恒星科技.ARM 7易学通[M].北京:人民邮电出版社,2006 [5] Steve Furber著;田泽等译.ARM SoC体系结构[M].北京:北京航空航天大学出版社,2002 [6] 滕英岩.嵌入式系统开发基础——基于ARM位处理器和Linux操作系统[M].北京:电子工业出版社,2008 [7] http://baike.baidu.com/view/11200.htm

[9] http://wenku.baidu.com/view/ef0be52b7375a417866f8f46.html

第四篇:嵌入式报告

嵌入式实训报告

姓名:张龙班级:电气803学号:08010270

嵌入式系统学习体会

一、嵌入式发展前景

嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3 Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(Set Top Box)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。

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

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

另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果我们学软件的人对硬件原理和接口有较好的掌握,我们完全也可写BSP和硬件驱动程序。嵌入式硬件设计完后,各种功能就全靠软件来实现了,嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作(目前有很多公司将硬件设计包给了专门的硬件公司,稍复杂的硬件都交给***或国外公司设计,国内的硬件设计力量很弱,很多嵌入式公司自己只负责开发软件,因为公司都知道,嵌入式产品的差异很大程度在软件上,在软件方面是最有“花头“可做的),所以我们搞软件的人完全不用担心我们在嵌入式市场上的用武之地,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

二、嵌入式系统应用前景

随着计算机软件和集成电路技术的发展,嵌入式系统产品日益完善,在航天、航空、交通、网络、电子、通讯、金融、智能电器、智能建筑、仪器仪表、工业自动控制、数控机床、掌上型电脑、各种智能IC卡、第二代身份证验证、公共交通收费系统、医药系统以及军事等领域得到广泛应用,已成为我国信息化带动工业化,工业化促进信息化 发展的国民经济新的增长点在我国2006 年嵌入式软件产品占全年全部软件产值的23%还多.据调查显示,目前嵌入式系统涉及的领域中,PDA占30%,手机占18%,数字信息家电占21%,工业控制5%,服务行业占2%,交通系统占2%,其他占22%.目前最值得关注的嵌入式产品市场主要有如下几类:

1.信息家电

后PC时代,家用电器将向数字化和网络化发展,电视机、微波炉、数字电话等都将嵌入微处理器并通过家庭网关与Internet连接,构成家庭信息网络.届时, 人们可以远程控制家里的电器设备,可以实现远程医疗、远程教育, 可以视频点播,实现交互式电视,还可以提供各种网上服务等.一般可认为,那些低单价、操作简单、可通过因特网发送或获取信息, 将逐步分割或替代PC 的某些功能,并能

与其它信息产品交换资料或信息的产品可统称为信息家电.信息家电可以提供安全防范、消费电子产品的智能控制、交互式智能控制、家庭信息服务、自动维护、家庭医疗保健等服务.而这些服务中的各类数字融合产品,都离不开嵌入式系统的支持,可以说,嵌入式系统是家庭信息网络、IT 融合的重要技术基础.具有丰富功能、高度集成的智能数字终端将是未来的发展方向.智能数字终端和各类数字融合产品具有十分广阔的市场前景.2.移动计算设备

移动计算设备包括手机、PDA、掌上电脑等各种移动设备.中国拥有最大的手机用户,市场巨大,而掌上电脑或PDA 由于易于使用、携带方便、价格便宜,近几年在我国得到了快速地发展.PDA 与手机也已呈现融合趋势, 智能手机正在成为今后的发展趋势方向, 智能手机就是一台嵌入式系统.智能手机要存放更多的软件和各种大容量的多媒体文件,必定要有操作系统, 目前智能手机操作系统主要有开源的Linux、微软公司的Windows CE系统和 Symbain 公司的 SymbainOs 系统.智能手机的功能越来越异常强大,为智能手机开发的各种功能程序已经在互联网上盛行.通过安装这些软件,可大大扩展手机的功能.3.网络设备

各种网络设备包括路由器交换机、Web Server、网络接入网关等, 都是一类嵌入式系统.随着下一代Internet 的研发成功和投入使用,必然会有更多更强的嵌入式网络设备和产品面世,这意味着巨大的嵌入式网络设备和产品市场需求.嵌入式系统也在向无线网络发展,无线网络已开发集成了802.11 芯片组.无线嵌入式网络有望部署到住宅及商用建筑自动化、工业设备监测以及其他无线传感和控制应用中.ZigBee 联盟已经为低成本、低功率的无线嵌入式网络制定了标准.这项标准定义了在IEEE 802.15.4 标准媒体接入控制层和物理层上的网络及支持的应用服务.这项标准很适合照明、供暖、冷却控制、工业建筑、自动化以及医疗设备监测等方方面面的应用.ZigBee联盟的长期目标是能够建立基于互操作平台和配置文件的可伸缩、低成本的嵌入式基础架构.4.自动化与测控仪器仪表

测控仪器仪表种类繁多,我国每年光进口的医疗设备就上亿, 每个医疗设备就是一套嵌入式系统.测控仪器仪表更是遍及大中小企业,新型的测控仪器仪表无一不是嵌入式系统.在工控和仿真领域,嵌入式设备也早已得到广泛应用.嵌入式系统在自动化行业已有很多成功应用案例,如数控机床控制系统、面向啤酒行业控制系统、水厂控制系统、缝纫机控制系统、可燃性气体报警系统、智能建筑安防系统、自动生产线分布式控制系统、变电站自动化系统、自动生产线检测系统等.我国的工业生产需要完成智能化、数字化改造,智能控制设备、智能仪表、自动控制等为嵌入式系统提供了巨大的市场.工控、仿真、数据采集、军用等领域一般都要求实时操作系统支持.在金融业、电力系统和服务业,嵌入式也在发挥着越来越重要的作用.5.嵌入式技术在交通管理、环境监测中的应用

在交通系统,嵌入式的作用也日益重要.汽车智能驾驶设备、汽车模拟驾驶器、汽车喷油泵调试台、轮船智能驾驶设备等都面临更新换代.这类新型设备也都离不开嵌入式系统.我国汽车业的发展必然为汽车电子的嵌入式系统应用带来良好商机.嵌入式系统在交通指挥系统、高速公路收费监控、汽车自导航、GPS车载终端、电子警察、加油站和汽车检测中的应用都是非常广泛的,有良好的市场前景.在环境监测(包括水文资料实时监测, 防洪体系及水土质量监测,堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测)中,嵌入式产品同样有着广泛的市场前景.三、嵌入式系统的组成 1.底层(硬件层)

需要你自己对于硬件相当的了解,能够独立绘制PCB并进行焊接,之后调试板子,做好电路板。比如sc2410,你需要绘制至少四层PCB电路板,其中ARM核心板是最难掌握的部分,外围电路要注意各种走线技巧等等。绘制完PCB之后就需要你的焊接功夫。将元器件焊接在PCB上。最后调试电路板,这是这一层设计中的收尾工作,也是最具有挑战性的工作。调试电路需要大量的经验,对于初学者来说,需要很强的电路知识,对于硬件的性能以及应用要非常了解才行。

2.中间层(驱动层)

电路板已经有现成的。你需要编程使一个死的板子,活起来,就是把程序下载进去,能叫板子跑起来。这里需要你对于ARM芯片的结构有很好的掌握,要会读芯片资料(datasheet)通常都是英文的。了解其内部资源我们就可以进行驱动编程了。我们平时所使用单片机,一般都是写好的程序,各个管脚在什么时序下输出什么信号(1或0),来操作实现相应借口的外围设备,比如液晶屏、LED灯等。单片机也可以叫做简单的嵌入式。原理相同。ARM也可以向单片机一样使用,但我们更多的是要对ARM加入操作系统的,这才是我们最常说的嵌入式。加入操作系统了以后,芯片对于个个资源的调度有了更系统的统筹规划,可以更充分的利用ARM芯片的系统资源,提高性能,使资源合理分配。而通常的驱动是在操作系统下工作的。比如基于LINUX或WINCE等等下的驱动程序。驱动程序是链接硬件平台和操作系统的纽带,当然编写驱动要同时兼顾操作系统特点和硬件接口的特点。做驱动的开发,需要对于软硬件都要有所了解,其中更偏重操作系统的理解。这部分工作也是最难做的。

3. 上层(应用层):

应用层,即我们所说的软件编程了。就相我们手机里QQ和飞信一样,我们需要根据我们手机的操作系统来编写应用程序。对于各个开发板,我们同样需要根据它里边的系统进行应用开发。这部分,应该是几乎脱离硬件了,我们只需简单的了解硬件即可。我们只需深刻理解操作系统的中各个系统函数和接口函数,即可进行开发。需要很强的C++水平。

四、嵌入式系统的设计特点

嵌入式系统的开发通常采用“宿主机/目标机”方式。

宿主机(Host)是一台通用的计算机,一般是PC机。它通过串口或网络连接与目标机进行通信。

目标机(Target)常用在嵌入式系统的开发过程期间。目标机可以是嵌入式系统的实际运行环境,也可以是能替代实际环境的仿真系统。

首先,利用宿主机上丰富的设备资源以及良好的开发环境来开发和仿真调试目标机上的软件。

然后,通过UART接口或Ethernet接口将交叉编译生成的目标代码传输并下载到目标机上,并用交叉调试器在实时内核/操作系统或监控程序的支持下进行实时分析和调试。

最后,目标机在特定的环境下运行

五、体会

通过学习嵌入式的课程使我了解了什么是嵌入式,所谓嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通过实训课的训练不仅使我知道了嵌入式系统的组成及应用,而且拓展了自己的知识和动手能力也对自己今后的发展有很大的的帮助。

第五篇:学习嵌入式系统开发心得

你好,我是一名嵌入式开发爱好者.近来总是看到很多初学者(多数是在校大学生)由于没有条件,想学习却不知道如何下手。

本人绝对能体会到学习的艰辛,而且视任何对知识技术有强烈追求的人(不管目前水平高低)为同路人,所以整理短文一篇写出一些学习感受,替所有渴望知识的人企盼高手指点学习之路,分享经验。

爱因斯坦说过,”我是站在巨人的肩膀上“

实践当然是最锻炼人的方式,但是我想在校生很少有这样的机会,别说本科生,硕士生也未必有条件。所以我想学习嵌入式要从个人的知识背景和现实条件出发。订立合适的阶段目标,在允许的条件下多动手多思考。

一般情况下对于硬件设备是比较短缺的。但是可以从软件方面和嵌入式系统开发模式上下功夫,提醒大家一点,嵌入式系统开发设计的内容知识很多,所以大家不要乱,在了解嵌入式系统开发的体系结构后,一步一步的下手,最容易上手的是linux下的C,比如ucos(有开放源代码),虽然可能无法在硬件上仿真,但也不必着急。wince,palmos上手都很容易。无论对于初学者还是自以为是高手的人来说,编程水平(这可不受硬件条件限制)绝对是没有止境的,有了较高的编程水平(嵌入式主要是C,当然OO的几种语言c++,java是发展趋势),等到有机会的时候及时的补充硬件知识,会很快的成为高手。

还有,一定记住,学习嵌入式,”要想办法,不要找理由“。当年在dos下用tc编程时的条件,现在回想起来建筑就是奇迹。

我推荐一条学习之路吧,仅供参考,1、C开发经验

条件:linux(这都有吧)

方法:随便,主要是掌握ansiC编程(不包括gtk,qt等图形可视化开发)

2、网络、操作系统、体系结构

条件:linux,各种书,算法、例程。

方法:通过C编程实现简单的网络等知识的算法和过程。

3、嵌入式系统概念

条件:各个嵌入式网站,讨论组,书籍

方法:少提问(尤其是等着天上掉馅饼,这主要是防止增长惰性,也解决不了实际问题),多思考。

4、嵌入式开发实践

条件:各种嵌入式系统开发工具的demo版(或者D版,如果有的话),包括编译器,仿真器。可以找高手们要,也可以下载。

方法:这里有两个分支,一个是基于mcu/dsp的嵌入式系统开发,一个是象palmos,wince,ucos等rtos下的应用软件开发。对硬件感兴趣,想成为真正高手的由第一个分支入手,以后进入第二个分支;如果十分厌烦硬件,只想停留在软件开发上的,可以只由第二个分支入手,以后就和pc上的开发没有什么本质上的区别了,找份不错的工作应该没问题,可以不用进行下面的步骤了,感兴趣可以参考第6条。

5、硬件开发

条件:各种嵌入式芯片、存储器等电路器件,protel99等电路设计软件,电路板制作。

方法:这时候该有开发条件了,最起码是51系列,这个比较方便。电路的设计内容较多,不过看起来吓人,实际上比软件要简单的多。只要下功夫,实践会告诉你一切。

6、硬件工程/软件工程/项目管理

条件: 各个芯片详细资料和使用经验,软件工程知识,项目管理知识,培训,大型项目参与经验

方法:已经是高手了,但是学无止境,沾沾自喜于已有的知识是致命的。那个下一步。。,你该是管理者了。

抛砖引玉,以上出自我的经验,欢迎各路高手们补一下 再告诉你一些我的收藏夹的网站

国内有关嵌入式开发的论坛

电子产品世界的论坛

http://bbs.edw.com.cn/index.asp

恒颐高科论坛

http://www.xiexiebang.com/

中国单片机公共实验室

http://www.xiexiebang.com/

北京科银京成技术公司

http://www.xiexiebang.com/

微芯力科技

http://www.xiexiebang.com

驱动开发网之嵌入式版块,挺综合的一个网站

http://www.xiexiebang.com/index.php

电子爱好者家园[2004年09月30日] http://home.ee521.com/main.asp

广州友善之臂电子有限公司

http://www.arm9.net/index.asp

好了 兄弟 开始努力 我们一起加油哈...

下载报告嵌入式心得word格式文档
下载报告嵌入式心得.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    嵌入式系统移植+心得

    嵌入式系统作为近年来新兴的且发展很快的学科,它的应用越来越受到广大技术人员的重视。尤其起可移植性,显著的区别了通用操作系统。一款嵌入式操作系统通常运行在不同体系结构......

    学习嵌入式系统心得

    学习嵌入式系统心得 说实在话在没有学习之前,以及在学之前通过一些口中得知这是一门很不错,很有意思的一门课。而且目前是十分吃香的一门课程,如果学好了工作很好找并且待遇也......

    学习嵌入式的心得

    嵌入式学习[转贴]怎样做才能快速的嵌入式了? 其实,做工程是没有捷径可走的先说做硬件:把你的数字电路教材和模拟电路的教材读熟,暂时先把重点放在数字电路上面,接着把微机原理和......

    嵌入式心得(合集五篇)

    11计科4班1150313034鲁敏杰嵌入式实习报告实习内容:学习并自己动手在Ubuntu系统下制作电子相框实验目的:Ubuntu操作系统的使用,利用C语言编写程序制作电子相框第一周学习:学习Ub......

    嵌入式课程设计报告

    福建工程学院 《嵌入式系统》课程设计 报告书 题目:基于S3C2440设备驱动及其界面设计班级:姓名:学号:指导老师:陈靖,张平均,李光炀目录 一、设计课题 ..................................

    嵌入式主控软件设计心得[精选]

    嵌入式主控软件设计模式初探1.软件框架简述根据本人近三年的嵌入式主控软件经验, 基于VxWorks的嵌入式的主控软件大概有以下几个模块图2 大功率通信控制器主控软件架构各模块......

    嵌入式实训报告

    嵌入式实训报告 班级:电子信息1301 姓名:钟海明 学号:3138702144 同组人:胡晓海 指导老师:韦龙新 1 目录: 一、实训目的---------------------3 二、实训要求--------------------......

    嵌入式系统设计报告

    嵌入式系统设计实验报告 班 级:学 号:姓 名:成 绩:指导教师: 20090612 2009112107 侯金钟 武俊鹏、刘书勇 1. 实验一 1.1 实验名称 嵌入式系统硬件开发环境 1.2 实验目的 1.熟......