第一篇:嵌入式读书报告
《深入理解Linux内核,第三版》读后感
这学期在我们学习嵌入式将近结束的时候,老师推荐了几本书,叫我们感兴趣的下去自己借来看看。一来是为了更好的学习知识,提高我们的专业水平,二来是为了让我们更好找到适合自己的学习途径。因此我选择了《深入理解Linux内核,第三版》。
为了彻底理解是什么使得Linux能正常运行以及其为何能在各种不同的系统中运行良好,你需要深入研究内核最本质的部分。内核处理CPU与外界间的所有交互,并且决定哪些程序将以什么顺序共享处理器时间。它如此有效地管理有限的内存,以至成百上千的进程能高效地共享系统。它熟练地统筹数据传输,这样CPU不用为等待速度相对较慢的硬盘而消耗比正常耗时更长的时间。
《深入理解Linux内核,第三版》指导你对内核中使用的最重要的数据结构、算法和程序设计诀窍进行一次遍历。通过对表面特性的探究,作者给那些想知道自己机器工作原理的人提供了颇有价值的见解。书中讨论了Intel特有的重要性质。相关的代码片段被逐行剖析。然而,本书涵盖的不仅仅是代码的功能,它解释了Linux以自己的方式工作的理论基础。
本书新版涵盖2.6版本,其在内核的几乎每个子系统中都有得要的文化,尤其是在内存管理和块设备领域。本书侧重于以下主题:内存管理,包括文件缓存、进程交换和直接内存存取(DMA);虚拟文件系统层和第二、第三扩展文件系统;进程创建和调度;信号、中断和设备驱动程序的主要接口;定时;内核中的同步;进程间通信(IPC);程序的执行。
通过阅读《深入理解Linux内核》,使我了解了Linux的所有内部工作,它不仅仅是一个理论的练习。我还学习到哪些情况下Linux性能最佳,并且看到了在大量的不同环境里进行进程调度、文件存取和内存管理时它如何满足提供良好的系统响应的需要。这本书将帮助我充分利用Linux系统。
读《UNIX环境高级编程》第二版有感
——计算机学院计算机科学与技术专业2006级1班 06101018154 杨丽
学习嵌入式近一个学期,在这学期中对于UNIX也有了简单的了解。出于对编程的爱好,并为了更进一步的学习UNIX,在老师的推荐下选择了《UNIX环境高级编程》第二版。读完这本书之后,我深有感触。
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。
本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。UNIX环境高级编程,是Unix编程方面的杰作,自问世以来就深受Unix编程人员的喜爱了。如今第二版本也问世,紧接着中文版也由人民邮电出版了。这是同行的福分。本书的独特之处在于内容不仅全面,而且对每一部分的讲解更是详细、深邃啊。对于Unix编程的许多高级主题,比如,进程控制、信号、线程、线程控制等内容的讲解非常简洁明了。不仅适合初学人员,也是高级开发人员爱不释手的手册。可以说,在工作中碰到的问题,都可以在其中找到相应的解决方法。不信,你可以试一试。
本书在Unix程序员培养方面,这是功不可没啊。不过,这一切都源于W.Richard Stevens对Unix的深邃的理解和对各种问题的独具匠心的分析和讲解。作者不愧是Unix方面的权威人物,他同时是TCP/IP详解(三卷)以及Unix网络编程(两卷)的作者。而且,这也是计算机相关领域的经典著作。W.Richard Stevens先生实在是德高望重了,只可惜天嫉英才啊。1999年,他悄然的离开了人世,哀莫之余,也给大家留下了许多遗憾。但是谁也改变不了这铁的事实。真是遗憾!
第二篇:嵌入式报告
嵌入式实训报告
姓名:张龙班级:电气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接口将交叉编译生成的目标代码传输并下载到目标机上,并用交叉调试器在实时内核/操作系统或监控程序的支持下进行实时分析和调试。
最后,目标机在特定的环境下运行
五、体会
通过学习嵌入式的课程使我了解了什么是嵌入式,所谓嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通过实训课的训练不仅使我知道了嵌入式系统的组成及应用,而且拓展了自己的知识和动手能力也对自己今后的发展有很大的的帮助。
第三篇:嵌入式报告
目录
引言...............................................................................................................................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
第四篇:报告嵌入式心得
专题课学习至今,学到了很多东西。而找工作时,各种笔试面试中,深刻地体会到“嵌入式系统”的重要性。这让我更坚定了学好嵌入式系统的想法。
嵌入式系统这门课和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.精简系统内核、算法,降低功耗和软硬件成本。
未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件。
第五篇:嵌入式报告
题目:嵌入式系统学习心得
班级:学号:姓名:
1.嵌入式的发展 A.简单操作系统阶段
20世纪80年代,随着微电子工艺水平的提高,IC制造商开始把嵌入式应用中所需要的微处理器、I/O接口、串行接口以及RAM、ROM等部件统统集成到一片VLSI中,制造出面向I/O设计的微控制器,并一举成为嵌入式系统领域中异军突起的新秀。与此同时,嵌入式系统的程序员也开始基于一些简单的“操作系统”开发嵌入式应用软件,大大缩短了开发周期、提高了开发效率。
这一阶段嵌入式系统的主要特点是:出现了大量高可靠、低功耗的嵌入式CPU(如Power PC等),各种简单的嵌入式操作系统开始出现并得到迅速发展。此时的嵌入式操作系统虽然还比较简单,但已经初步具有了一定的兼容性和扩展性,内核精巧且效率高,主要用来控制系统负载以及监控应用程序的运行。
B.实时操作系统阶段
20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步飞速发展,而面向实时信号处理算法的DSP产品则向着高速度、高精度、低功耗的方向发展。随着硬件实时性要求的提高,嵌入式系统的软件规模也不断扩大,逐渐形成了实时多任务操作系统(RTOS),并开始成为嵌入式系统的主流。
这一阶段嵌入式系统的主要特点是:操作系统的实时性得到了很大改善,已经能够运行在各种不同类型的微处理器上,具有高度的模块化和扩展性。此时的嵌入式操作系统已经具备了文件和目录管理、设备管理、多任务、网络、图形用户界面(GUI)等功能,并提供了大量的应用程序接口(API),从而使得应用软件的开发变得更加简单。
C.面向Internet阶段
21世纪无疑将是一个网络的时代,将嵌入式系统应用到各种网络环境中去的呼声自然也越来越高。目前大多数嵌入式系统还孤立于Internet之外,随着Internet的进一步发展,以及Internet技术与信息家电、工业控制技术等的结合日益紧密,嵌入式设备与Internet的结合才是嵌入式技术的真正未来。
信息时代和数字时代的到来,为嵌入式系统的发展带来了巨大的机遇,同时也对嵌入式系统厂商提出了新的挑战。目前,嵌入式技术与Internet技术的结合正在推动着嵌入式技术的飞速发展,嵌入式系统的研究和应用产生了如下新的显著变化:
新的微处理器层出不穷,嵌入式操作系统自身结构的设计更加便于移植,能够在短时间内支持更多的微处理器。
嵌入式系统的开发成了一项系统工程,开发厂商不仅要提供嵌入式软硬件系统本身,同时还要提供强大的硬件开发工具和软件支持包。
通用计算机上使用的新技术、新观念开始逐步移植到嵌入式系统中,如嵌入式数据库、移动代理、实时CORBA等,嵌入式软件平台得到进一步完善。
各类嵌入式Linux操作系统迅速发展,由于具有源代码开放、系统内核小、执行效率高、网络结构完整等特点,很适合信息家电等嵌入式系统的需要,目前已经形成了能与Windows CE、Palm OS等嵌入式操作系统进行有力竞争的局面。网络化、信息化的要求随着Internet技术的成熟和带宽的提高而日益突出,以往功能单一的设备如电话、手机、冰箱、微波炉等功能不再单一,结构变得更加复杂,网络互联成为必然趋势。
2.嵌入式的应用
嵌入式系统主要用于各种信号处理与控制,目前已在国防、国民经济及社会生活各领域普遍采用,可用于企业、军队、办公室、实验室以及个人家庭等各种场所。同时,嵌入式系统作为数字化电子信息产品的核心,嵌入式计算机断层成像系统已出口日本。
军用
各种武器控制(火炮控制、导弹控制、智能炸弹制导引爆装置)、坦克、舰艇、轰炸机等陆海空各种军用电子装备,雷达、电子对抗军事通信装备,野战指挥作战用各种专用设备等。
家用
各种信息家电产品,如数字电视机,机顶盒,数码相机,VCD、DVD 音响设备,可视电话,家庭网络设备,洗衣机,电冰箱,智能玩具等。
工业用
各种智能测量仪表、数控装置、可编程控制器、控制机、分布式控制系统、现场总线仪表及控制系统、工业机器人、机电一体化机械设备、汽车电子设备等。商用
各类收款机、POS 系统、电子秤、条形码阅读机、商用终端、银行点钞机、IC 卡输入设备、取款机、自动柜员机、自动服务终端、防盗系统、各种银行专业外围设备。
办公用
复印机、打印机、传真机、扫描仪、激光照排系统、安全监控设备、手机、寻呼机、个人数字助理(PDA)、变频空调设备、通信终端、程控交换机、网络设备、录音录像及电视会议设备、数字音频广播系统等。
医用电子设备
各种医疗电子仪器,X 光机、超声诊断仪、计算机断层成像系统、心脏起搏器、监护仪、辅助诊断系统、专家系统等。
3.嵌入式的特点
嵌入式处理器的应用软件是实现嵌入式系统功能的关键,对嵌入式处理器系统软件和应用软件的要求也和通用计算机有所不同,主要有以下几点:
(1)软件要求固态化存储为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或嵌入式微控制器本身中,而不是存贮于磁盘等载体中。
(2)软件代码要求高质量、高可靠性尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但在大多数应用中,存储空间仍然是宝贵的,还 存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减小程序二进制代码长度、提高执行速度。
(3)系统软件(OS)的高实时性是基本要求在多任务嵌入式系统中,对重要性各不
相同的任务进行统筹兼顾的合理调度是保证每个任务及时执行的关键,单纯通 过提高处理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实时性是基本要求。
(4)多任务操作系统是知识集成的平台和走向工业化标准化道路的基础,嵌入式系统开发需要开发工具和环境嵌入式系统本身不具备开发能力,即使设计完成 以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。
(5)嵌入式系统软件需要实时多任务操作系统开发平台(RTOS)通用计算机具有完善的操作系统和应用程序接口,是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在Os平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行:但是为了合理地调度多任务、利用系统资源,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
(6)在嵌入式系统的软件开发过程中,采用C语言将是最佳和最终的选择由于汇编语言是一种非结构化的语言,对于大型的结构化程序设计已经不能完全胜任了。这就要求我们采用更高级的C语言去完成这一工作。
4.实训内容简介
A.实训内容
1)嵌入式系统及AM软件介绍
2)Metrowerks CodeWarrior集成开发环境介绍
3)TESTI寄存器相加
4)GPIO 模 块
5)向量中断控制器(VIC)模块
6)定 时 器 s
7)L C D显示
8)实时操作系统简介
B.具体实例简介
a、b、实验内容:LCD 实验步骤:
1).启动ADS1.2,使用ARM7 Executable Image for lpc2210工程模板建立一个工程LCD_Disphoto;
2).建立源文件lcddrive.c、lcddrive.h,编写液晶模块的驱动程序,然后将lcddrive.c添加的工程的user组中;
3).建立源文件test.c,编写实验程序,然后添加到工程的user组中;
4).修改config.h,增加包含LCDDRIVE.H头文件;#include“LCDDRIVE.H”
5.心得体会
通过本次实验,我也学会了如何去分析问题,如何找出自己设计中的不足,继而去排除解决问题,这就是一个自我学习的过程当我们通过实验去学习理论知识时,自己动手得出的结论,不仅能加深我们对嵌入式的理解,更能加深我们 对此的记忆