嵌入式系统设计技术.pptx





《嵌入式系统设计技术.pptx》由会员分享,可在线阅读,更多相关《嵌入式系统设计技术.pptx(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统设计技术嵌入式系统设计技术2 2 “宿主机宿主机/目标机目标机”方式方式 嵌入式系统的开发通常采用嵌入式系统的开发通常采用“宿主机宿主机/目标机目标机”方式。方式。宿主机(宿主机(HostHost)是一台通用的计算机,一般是是一台通用的计算机,一般是PCPC机。它通过串口或网络连接与目标机进行通机。它通过串口或网络连接与目标机进行通信。信。目标机(目标机(TargetTarget)常用在嵌入式系统的开发过程期间。目标机可以是嵌入式系统的实际运行常用在嵌入式系统的开发过程期间。目标机可以是嵌入式系统的实际运行环境,也可以是能替代实际环境的仿真系统环境,也可以是能替代实际环境的仿真系统。
2、第1页/共51页3 3 “宿主机宿主机/目标机目标机”方式方式首首先先,利利用用宿宿主主机机上上丰丰富富的的设设备备资资源源以以及及良良好好的的开开发发环环境境来来开开发发和和仿真调试目标机上的软件。仿真调试目标机上的软件。然然后后,通通过过UARTUART接接口口或或EthernetEthernet接接口口将将交交叉叉编编译译生生成成的的目目标标代代码码传传输输并并下下载载到到目目标标机机上上,并并用用交交叉叉调调试试器器在在实实时时内内核核/操操作作系系统统或或监监控控程序的支持下进行实时分析和调试。程序的支持下进行实时分析和调试。最后,目标机在特定的环境下运行。最后,目标机在特定的环境下
3、运行。第2页/共51页4 4 嵌入式系统的组成嵌入式系统的组成第3页/共51页5 5 硬件层硬件层 硬硬件件层层是是由由嵌嵌入入式式微微处处理理器器、存存储储器器系系统统、通通用用设设备备接接口口和和I/OI/O接接口口(A/D A/D、D/AD/A、I/OI/O等等)组组成成。在在一一片片嵌嵌入入式式微微处处理理器器基基础础上上增增加加电电源源电电路路、时时钟钟电电路路和和存存储储器器电电路路(ROM ROM 和和SDRAMSDRAM等),就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在等),就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROMROM中。
4、中。MP3随声听的硬件组成 第4页/共51页6 6 中间层中间层中中间间层层也也称称为为硬硬件件抽抽象象层层(Hardware Hardware Abstract Abstract Layer,HALLayer,HAL)或或板板级级支支持持包包(Board Board Support Support PackagePackage,BSPBSP),它它把把系系统统软软件件与与底底层层硬硬件件部部分分隔隔离离,使使得得系系统的底层设备驱动程序与硬件无关。统的底层设备驱动程序与硬件无关。BSPBSP具有以下两个特点:具有以下两个特点:1)1)操作系统相关性操作系统相关性 2)2)硬件相关性硬件相关性
5、 设计一个完整的设计一个完整的BSPBSP需要完成两部分工作:需要完成两部分工作:嵌入式系统的初始化嵌入式系统的初始化:片级初始化、板级初始化和系统级初始化片级初始化、板级初始化和系统级初始化 设计硬件相关的设备驱动。设计硬件相关的设备驱动。第5页/共51页7 7 软件层软件层软件层由实时多任务操作系统(软件层由实时多任务操作系统(RTOSRTOS)、)、文件系统、图形用户接文件系统、图形用户接口(口(GUIGUI)、)、网络系统及通用组件模块组成。网络系统及通用组件模块组成。RTOSRTOS是嵌入式应用软件的基础和开发平台。是嵌入式应用软件的基础和开发平台。RTOSRTOS实际上是一段嵌实际
6、上是一段嵌入式目标代码中的程序,系统复位后首先执行,相当于用户的主入式目标代码中的程序,系统复位后首先执行,相当于用户的主程序,用户的其他应用程序都建立在程序,用户的其他应用程序都建立在RTOSRTOS之上。之上。RTOSRTOS是一个标准是一个标准的内核,它将的内核,它将CPUCPU时钟、中断、时钟、中断、I/OI/O、定时器等资源都封装起来,定时器等资源都封装起来,留给用户的是一个标准的留给用户的是一个标准的APIAPI函数接口。函数接口。第6页/共51页8 8 功能层与执行装置功能层与执行装置功功能能层层:由由基基于于RTOSRTOS开开发发的的应应用用程程序序组组成成,用用来来完完成成
7、对对被被控控对对象象的的控控制制功功能能。功功能能层层是是面面向向被被控控对对象象和和用用户户的的,为为方方便便用用户户操操作作,往往往往需要提供一个友好的人机界面。需要提供一个友好的人机界面。执执行行装装置置:是是指指那那些些可可以以接接受受嵌嵌入入式式计计算算机机系系统统发发出出的的控控制制命命令令,执执行行所所规规定定的的操操作作或或任任务务的的设设备备和和装装置置。在在不不同同的的应应用用领领域域中中,嵌嵌入入式式系系统统的的执执行行装装置置一一般般是是不不同同的的,应应该该根根据据具具体体的的应应用用场场合合和和系系统统所所要求实现的功能选择不同的设备和执行装置。要求实现的功能选择不
8、同的设备和执行装置。第7页/共51页9 9 嵌入式系统的设计流程嵌入式系统的设计流程 第8页/共51页1010 需求分析阶段需求分析阶段 嵌入式系统的特点决定了系统在开发设计初期的需求分析过程中就嵌入式系统的特点决定了系统在开发设计初期的需求分析过程中就要搞清需要完成的任务。要搞清需要完成的任务。功能性需求:是系统的基本功能,如输入输出信号、操作方式等;功能性需求:是系统的基本功能,如输入输出信号、操作方式等;非功能性需求:包括系统性能、成本、功耗、体积、重量等因素。非功能性需求:包括系统性能、成本、功耗、体积、重量等因素。使用需求表格将系统的功能性需求和非功能性需求综合起来使用需求表格将系统
9、的功能性需求和非功能性需求综合起来。第9页/共51页1111 规格说明阶段规格说明阶段对对需需求求进进行行提提炼炼,得得到到系系统统的的规规格格说说明明,这这些些规规格格说说明明里里包包含含了了进进行行系系统统体体系系结构设计所需要的足够信息。结构设计所需要的足够信息。规规格格说说明明作作为为分分析析结结果果,它它是是系系统统开开发发、验验收收和和管管理理的的依依据据。因因此此,规规格格说说明明必必须须足足够够的的清清晰晰和和明明白白。通通过过验验证证规规格格说说明明检检查查它它是是否否符符合合系系统统需需求求并并且且完完全全满满足足客客户户的的期期望望和和要要求求。规规格格说说明明不不能能有
10、有任任何何歧歧义义,应应该该让让系系统统的的设设计计者者明明确确地地知知道他们需要构造的是怎样的一个系统。道他们需要构造的是怎样的一个系统。规规格格说说明明必必须须认认真真仔仔细细地地编编写写,以以便便能能够够精精确确详详尽尽地地反反映映客客户户对对系系统统各各方方面面的的需求,并且作为设计时必须明确遵循的要求和准则。需求,并且作为设计时必须明确遵循的要求和准则。第10页/共51页1212 体系结构设计体系结构设计体系结构是系统整体结构的一个规划和描述,设计完成之后用于构建整个体系体系结构是系统整体结构的一个规划和描述,设计完成之后用于构建整个体系结构的构件。结构的构件。体系结构描述了系统如何
11、实现所述的功能和非功能的需求,包括对硬件、软件体系结构描述了系统如何实现所述的功能和非功能的需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。和执行装置的功能划分以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。一个好的体系结构是设计成功与否的关键。通通常常硬硬件件和和软软件件的的选选择择包包括括:处处理理器器、硬硬件件部部件件、操操作作系系统统、编编程程语语言言、软软件件开开发发工工具具、硬硬件件调调试试工工具具、软软件件组组件件等等。其其中中,通通常常,处处理理器器是是最最重重要要的的,同同时时操操作作系系统统和和编编程程语语言言也也是是非非常常关关键键
12、的的。处处理理器器的的选选择择往往往往同同时时会会限限制制操操作作系系统统的的选择,操作系统的选择又会限制开发工具的选择。选择,操作系统的选择又会限制开发工具的选择。第11页/共51页1313 硬件平台的选择硬件平台的选择处理器选择要考虑的主要因素有:处理器选择要考虑的主要因素有:处理器的性能处理器的性能 处理器的技术指标。处理器的技术指标。功耗功耗。软件支持工具。软件支持工具。处理器是否内置调试工具。处理器是否内置调试工具。供应商是否提供评估板。供应商是否提供评估板。其它因素:生产规模、开发市场的目标、软件对硬件的依赖性。其它因素:生产规模、开发市场的目标、软件对硬件的依赖性。第12页/共5
13、1页1414 软件平台的选择软件平台的选择 1.1.操作系统的选择需要考虑到以下几个方面:操作系统的选择需要考虑到以下几个方面:操作系统本身所提供的开发工具。操作系统本身所提供的开发工具。操作系统向硬件接口移植的难度。操作系统向硬件接口移植的难度。操作系统的内存要求。操作系统的内存要求。开发人员是否熟悉此操作系统及其提供的系统开发人员是否熟悉此操作系统及其提供的系统APIAPI。操作系统是否提供硬件的驱动程序,如网卡驱动程序等。操作系统是否提供硬件的驱动程序,如网卡驱动程序等。操作系统的是否具有可剪裁性。操作系统的是否具有可剪裁性。操作系统的实时性能。操作系统的实时性能。第13页/共51页15
14、15 软件平台的选择软件平台的选择2.2.编程语言的选择主要考虑以下因素:编程语言的选择主要考虑以下因素:通用性。通用性。可移植性程度。可移植性程度。执行效率。执行效率。可维护性。可维护性。第14页/共51页1616 软件平台的选择软件平台的选择3.3.集成开发环境集成开发环境IDEIDE考虑的因素考虑的因素:系统调试器的功能。系统调试器的功能。支支持持库库函函数数。与与选选择择硬硬件件和和操操作作系系统统的的原原则则一一样样:除非必要,尽量采用标准的除非必要,尽量采用标准的 glibcglibc。编译器开发商是否持续升级编译器。编译器开发商是否持续升级编译器。连接程序是否支持所有的文件格式和
15、符号格式连接程序是否支持所有的文件格式和符号格式。第15页/共51页1717 软件平台的选择软件平台的选择4.4.硬件调试工具的选择硬件调试工具的选择:好好的的软软件件调调试试程程序序可可以以有有效效地地发发现现大大多多数数的的错错误误,但但是是如如果果再再选选择择一一个个好好的的硬硬件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种:件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种:实时在线仿真器实时在线仿真器(ICEICE,In-Circuit Emulator)In-Circuit Emulator)。驻留监控软件。驻留监控软件。ROMROM仿真器。仿真器。JTAGJT
16、AG仿真器。是目前使用最广泛的调试手段。仿真器。是目前使用最广泛的调试手段。第16页/共51页1818 软件组件的选择软件组件的选择授权软件组件的费用一般都很高,但大都经过严格的测试,可靠性高,调试授权软件组件的费用一般都很高,但大都经过严格的测试,可靠性高,调试时间短。反之免费组件。时间短。反之免费组件。现在也有一些免费的自由软件组件,它们的性能、可靠性也很好。因此开发现在也有一些免费的自由软件组件,它们的性能、可靠性也很好。因此开发人员在选择的时候要加以权衡,确定哪种方案更好人员在选择的时候要加以权衡,确定哪种方案更好。第17页/共51页1919 实例:设计便携式网络电视实例:设计便携式网
17、络电视 便携式网络电视的主体框架 便携式网络电视的硬件结构 第18页/共51页2020 实例:设计便携式网络电视实例:设计便携式网络电视 便携式网络电视的软件工作原理图 第19页/共51页2121 设计硬件构件和软件构件设计硬件构件和软件构件 构件的设计应与体系结构和规格说明保持一致。构件的设计应与体系结构和规格说明保持一致。通常为了缩短产品的开发周期,往往硬件和软件的设计是并行的。通常为了缩短产品的开发周期,往往硬件和软件的设计是并行的。总的来说,嵌入式系统设计的工作大部分集中在软件设计上,采总的来说,嵌入式系统设计的工作大部分集中在软件设计上,采用面向对象的技术、软件组件技术、模块化设计是
18、现代软件工程用面向对象的技术、软件组件技术、模块化设计是现代软件工程当中经常采用的方法。当中经常采用的方法。第20页/共51页2222 系统集成和测试系统集成和测试在系统的硬件构件和软件构件建立起来后,将硬件构件、软件构件和执行装在系统的硬件构件和软件构件建立起来后,将硬件构件、软件构件和执行装置集成在一起才能得到一个可以运行的系统。置集成在一起才能得到一个可以运行的系统。分阶段架构整个系统并且正确运行事先选择好的测试程序。分阶段架构整个系统并且正确运行事先选择好的测试程序。嵌入式系统集成过程中使用的调试工具很有限,常用的调试工具在前面已经嵌入式系统集成过程中使用的调试工具很有限,常用的调试工
19、具在前面已经介绍过。介绍过。嵌入式系统的软件测试与通用软件的测试相似,分为单元测试和系统的集成嵌入式系统的软件测试与通用软件的测试相似,分为单元测试和系统的集成测试。常用有黑盒测试和白盒测试两种测试方法。测试。常用有黑盒测试和白盒测试两种测试方法。第21页/共51页2323 统一建模语言统一建模语言UML概述概述 统一建模语言统一建模语言UMLUML是可视化建模语言中的一种,属于第三代面向对象建模语言。是可视化建模语言中的一种,属于第三代面向对象建模语言。它将模型中的信息用标准图形元素直观地表示出来,便于人员交流。它将模型中的信息用标准图形元素直观地表示出来,便于人员交流。采用采用UMLUML
20、进行设计具有以下特点和优势:进行设计具有以下特点和优势:1)1)UMLUML语言简单语言简单,易学、易用;易学、易用;2)2)UMLUML采用可视化的图形描述,比较形象直观;采用可视化的图形描述,比较形象直观;3)3)可使不同技术背景的开发人员和设计人员很容易的相互交流;可使不同技术背景的开发人员和设计人员很容易的相互交流;4)4)UMLUML语言是第三代面向对象建模语言的标准,被绝大多数业内人士认同;语言是第三代面向对象建模语言的标准,被绝大多数业内人士认同;5)5)UMLUML采用图形化的设计,将系统的核心部分描述出来,可以供以后系统开发使用;采用图形化的设计,将系统的核心部分描述出来,可
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 设计 技术

限制150内