您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 嵌入式系统设计方法概述-下载2012
本节课主要内容嵌入式软件开发的特点和技术挑战嵌入式软件开发的环境嵌入式应用软件开发的基本流程嵌入式软件的可移植性和可重用性嵌入式系统开发流程作业布置嵌入式软件开发的特点和技术挑战嵌入式应用软件是实现系统各种功能的关键。嵌入式应用软件针对特定应用,基于相应的硬件平台,为完成用户预期的任务而设计的计算机软件。时间对嵌入式软件的要求:精度成本满足系统功能前提下降低系统成本精简每个硬件单元的成本减少代码量准确性安全性稳定性优化嵌入式软件开发的特点和技术挑战(1)需要硬件开发环境和工具嵌入式应用系统的开发属于跨平台的开发,即开发平台使用的处理器和开发对象的处理器往往不是同一类型,需要交叉的软件集成开发环境,即进行代码编写、编译链接和调试应用程序的集成开发环境。硬件:宿主机CPU为IntelPentiumⅢ目标机CPU为ARM7TDMI软件:在宿主机上都有通用OS的支持,如Windows,Linux,Unix等,而目标机一般都是裸机,即使有操作系统,也是对嵌入式应用的支撑,而不是对开发环境的支撑。嵌入式软件开发的特点和技术挑战(2)软硬件必须协同设计传统的嵌入式系统开发设计方法,都是软硬分家,有软硬件工程师之分。系统描述硬件描述软件描述硬件设计系统集成软件设计传统设计方法弊端:1.硬件优先,硬件设计人员缺乏对软件架构和实现机制的了解2.盲目性3.各自优化,无法系统优化嵌入式软件开发的特点和技术挑战目前设计方法综合实现系统描述硬/软任务划分硬件设计软硬接口软件设计软硬件集成设计仿真调试好处:1.在设计过程中软硬件相互作用,这种作用发生在设计过程的每个阶段和层次2.及早发现问题嵌入式软件开发的特点和技术挑战(3)须固化代码嵌入式系统运行环境千差万别,甚至非常恶劣,这就要求应用软件在目标环境下必须被存储在非易失性存储器中,保证用户用完关机后下次还能正常使用,所以在应用软件开发完成后应生成固化版本,将程序烧写到目标环境的ROM中运行。嵌入式软件开发的特点和技术挑战(4)技术要求高主要是指开发工作量和难度更大。嵌入式软件开发环境1.交叉开发环境:交叉开发软件调试通道片上调试OCD(On-chipDebugging)在线仿真器ICE(In-CircuitEmulator)ROM监控器(ROMMonitor)定义嵌入式软件开发环境片上调试(OCD)是CPU芯片提供的一种调试功能,为一种廉价的ICE功能。(OCD的价格只有ICE的20%,且提供了ICE80%的功能)片上调试是在处理器内部嵌入额外的控制模块,当满足了一定的触发条件时,CPU进入调试状态。在该状态下,被调试程序停止运行,主机的调试器可通过处理器外部特定的通信接口访问各种资源(寄存器、存储器等),并执行指令。嵌入式软件开发环境两种OCD接口(1)基于JTAG的ICDJTAG是JointTestActionGroup的缩写,联合测试小组;是IEEE1149.1标准JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,I/O口等信息,从而达到调试的目的嵌入式软件开发环境(2)背景调试模式BDM:是摩托罗拉公司的专有调试接口。在一些高端微处理器内部已经包含了用于调试的代码,调试时仿真软件和目标板上的CPU调试微码通信,目标板上的CPU无需取出。实际上相当于将ICE仿真器软件和硬件内制到处理器,这使得直接使用PC机的并口来调试软件,不再需要ICE硬件,大大降低开发成本。嵌入式软件开发环境在线仿真器ICEICE是一种在线仿真、模拟CPU的设备,在线仿真器使用仿真头完全取代目标机上的CPU,在不干扰处理器的正常运行情况下,实时的检测CPU的内部工作情况。嵌入式软件开发环境ROM监控器是一段小程序,驻留在嵌入式系统ROM中,通过串口、USB口、网口等连接与调试软件通信。特点:占用少量内存,需要一个通信端口。可下载代码、运行控制、断点、单步步进以及观察、修改寄存器和内存。嵌入式软件开发环境2.软件模拟环境也叫指令集模拟器ISS,相当于在宿主机上虚拟了一台目标机,该目标机可以与宿主机的CPU不同。利用模拟器的最大好处就是可以不用真正的目标机,可以在目标及环境并不存在的条件下开发目标机上的应用系统。缺点:模拟硬件是非常复杂的,与真实硬件环境相差非常大,即使用户使用ISS通过,也有可能无法在真实的硬件环境下运行。嵌入式软件开发环境3.评估电路板也称作开发板,一般作为开发者使用的学习板、实验板,可作为应用目标板出来之前的软件测试、硬件调试的电路板。嵌入式软件开发的基本流程六阶段/五阶段(1)开发环境的建立(2)源文件编辑阶段(3)编译(4)链接(5)下载(6)调试嵌入式软件开发的基本流程1.开发环境的建立:在主机和目标机体系结构不同的情况下,在主机上开发将在目标机上运行的程序。2.源文件编辑阶段:3.编译:将一种语言的程序(源程序)转换成另一种语言程序(目标语言程序),编译器主要负责的工作就是将源代码编译成目标代码汇编语言:BSP,源程序的启动代码,硬件初始化C语言:模块化、易调试、易维护、易移植嵌入式软件开发的基本流程4.链接一个程序要想在内存中运行,除了编译之外,还要经过链接的步骤,编译器只能在一个模块内完成符号到地址的转换工作,不同模块间的符号解析需要由链接器完成。符号解析,重定位嵌入式软件开发的基本流程5.下载:将可执行映像文件烧写到ROM里,当可执行程序映像文件下载完成后,就可打开电源来运行系统。6.调试:软件调试:通过软件调试器调试嵌入式系统软件硬件调试:通过仿真调试器完成调试过程嵌入式软件的可移植性和可重用性与通用软件不同的是嵌入式应用软件高度依赖于目标应用的软硬件环境。软件的部分任务功能函数由与处理器密切相关的汇编语言完成,可移植性差。措施多用高级语言,少用或者不用汇编语言将不可移植部分局域化提高代码的可重用性嵌入式系统的开发流程1.嵌入式开发考虑的要素功能可靠实用,便于升级实时并发处理,及时响应体积符合要求,结构紧凑接口符合规范,易于操作配置精简稳定,维护便利功耗管理严格,成本低廉嵌入式系统的开发流程2.嵌入式系统开发的基本流程系统需求分析体系结构设计软/硬件协同设计执行装置设计系统集成系统测试产品嵌入式系统的开发流程系统需求分析:确定任务和设计目标并提炼出设计规格说明书,作为正式设计指导和验收的标准。功能需求:系统的基本功能,比如输入输出信号、操作方式等;非功能需求:系统性能、成本、功耗、体积、重量等。嵌入式系统的开发流程体系结构设计:描述系统如何实现所述的功能和非功能需求。建立软件系统结构(划分模块、定义模块功能、模块间的调用关系、定义模块的接口、评价模块的质量)、数据结构和数据库的设计(数据结构设计、概念设计、逻辑设计、物理设计)、编写概要设计文档(概要设计说明书、用户手册、数据库设计说明书、修订测试计划)软/硬件设计:基于体系结构,对系统的软硬件进行详细设计。嵌入式系统设计的工作大部分集中在软件设计上,一般采用面向对象技术、软件组件技术、模块化技术等。嵌入式系统的开发流程系统集成:把系统的软硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误;系统测试:看其是否满足规格说明书中给定的功能要求。第一次作业1.题目:针对你对嵌入式系统的了解和前述课程的讲解介绍,查找有关嵌入式系统方面的资料2.内容:①嵌入式系统特点和与传统计算机系统的区别②查找一种你感兴趣的嵌入式产品的技术资料或者实现原理③你自己对嵌入式系统的理解3.要求:至少1000字。A4纸打印。封皮有格式。4.提交日期:第4周周五
本文标题:嵌入式系统设计方法概述-下载2012
链接地址:https://www.777doc.com/doc-3799916 .html