ImageVerifierCode 换一换
格式:PPT , 页数:38 ,大小:718KB ,
资源ID:1387015      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1387015.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(chap2嵌入式软件开发技术与方法.ppt)为本站会员(b****1)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

chap2嵌入式软件开发技术与方法.ppt

1、第二章-嵌入式软件开发技术与方法,本章目录,嵌入式软件的应用与特点嵌入式软件设计与特点开发技术、开发方法实时软件分析设计方法开发平台、开发过程,嵌入式软件的应用与特点,微处理器已嵌入到你见到的几乎所有的电器中汽车、飞机、停车场、超市、手机嵌入式软件的开发需求日益激增多线程编程风格&嵌入式软件高可靠性嵌入式软件中常使用的C语言功能和特性多数学生具有高级语言编写桌面应用程序的经验嵌入式应用程序的特点可靠性性能成本,嵌入式软件的成本,消费产品的流行性和物美价廉的需要大批量生产的需要快速生产的需要,嵌入式软件的可靠性,嵌入式软件及其系统运行时间可能是一天、一月、一年等。运行中发生错误,无法重启。良好的

2、编程实践能力&充分的测试,嵌入式软件的性能指标,应用程序新技术多任务处理和调度与各类外部设备的交互方法、速度、成本、复杂度等汇编语言的使用由于数的可表示范围,程序中关于越界的处理机制,嵌入式软件设计与特点,嵌入式软件全生命周期开发工具链硬件与软件的Co-Design:Verilog+C=?Verilog HDL是应用广泛的硬件描述语言Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。适合算法级,寄存器级,逻辑级,开关级、系统级和版图级等各个层次的设计和描述 驱动程序的设计和生成技术(嵌入式软件开发中最令人头疼的问题)嵌入式软件的可靠性问题

3、:正确性验证技术、测试技术、调试技术等(可靠性问题是嵌入式软件开发的基本问题)可重构计算(Reconfigurable Computing)技术可构件化的嵌入式实时操作系统及其开发环境,开发技术、开发方法设计流程自顶向下或自底向上设计,自顶向下设计,自底向上设计,需求分析,作用使用户和设计者有效交流、沟通,明确设计目标设计者 设计什么?有哪些要求?用户 将得到的系统是什么样的?目标形成需求文档内容功能性需求 做什么?输入,输出,功能,非功能性需求 其他属性可靠性,速度,功耗,成本,大小,重量,设计时间,,GPS移动地图系统:示例,GPS移动地图是一种手持设备,该设备为用户(如汽车驾驶员)显示他

4、当前所处位置周围的地图;显示的地图内容应随用户以及该设备所处位置的改变而改变。该设备从GPS上得到其位置信息,移动地图看起来类似纸张上的地图。针对用户的初步要求的系统需求表,评价标准,正确性无二义性完整性可检验性一致性可修改性可追踪性,硬件单片机,X86,PowerPC,ARM,MIPS,板级支持程序,嵌入式操作系统,应用软件,监控程序,嵌入式计算机系统基本结构,嵌入式软件子系统,嵌入式系统的开发流程,需求分析及规格说明,选择主要芯片,确定编程语言,选择开发环境,RTOS的使用,选择开发方案,测试工具与其他辅助设备,开发平台、开发过程开发环境,什么是嵌入式开发环境:,源程序,目标文件,可重定位

5、程序,可执行文件,编译器/汇编器/链接定位器调试器/仿真器主机(Host)及其工作平台实时操作系统(可选)目标评估系统(可选)测试工具(软件/硬件/协议等,可选)其他辅助设备(可选),典型的开发环境,选择实时操作系统RTOS,对于复杂的嵌入式系统应考虑使用RTOSRTOS的作用:提供API(应用编程接口):操作系统为应用程序员提供可供调用的API,允许程序员致力于应用程序的开发 简化系统设计:实时嵌入式系统比非实时系统更难设计.使用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理实验平台如下支持ARM的实时操作系统:uC/OSLinux,嵌入式系统编

6、程语言,Data from Japan ITRON survey for new embedded systems,实时内核的作用,有效管理响应时间管理并发线程的CPU时间管理并发线程间内存的使用比如专门用于消费市场的典型的小型嵌入式系统内核标准化工作,确立标准,使各种嵌入式内核能够兼容。,如何构建嵌入式应用程序-1,桌面应用程序的构建和加载运行工具软件组件过程:编译器或汇编器产生一个或多个目标文件,与动态连接库或运行时库进行链接,生成一个可执行程序,作为文件存放在磁盘上。运行:通过操作系统的加载程序,将可执行文件从磁盘加载到内存,运行。桌面系统可运行许多程序,可快速容易地加载运行。,如何构建

7、嵌入式应用程序-2,嵌入式系统软件工具软件组件过程:编译器或汇编器产生一个或多个目标文件,与实时内核或可充入函数库进行链接,经重定位后,生成一个ROM映像文件,经ROM烧录器,存入ROM只读存储器中。运行:通电后通过程序初始化,将可执行映像从磁盘加载到RAM存储器中,运行。桌面系统可运行许多程序,可快速容易地加载运行。,嵌入式系统开发及其环境,嵌入式系统开发需要宿主机(Host)和目标机(Target)的支持。宿主机属于嵌入式软件的开发平台,宿主机用于嵌入式软件的设计、实现、调试和运行等;目标机属于最终系统的运行平台,目标机作为可执行程序的最终运行平台,目标机是嵌入式系统的硬件部分,运行程序属

8、于嵌入式系统的软件部分。,交叉开发环境,是指用于嵌入式软件开发中使用的所有工具软件的集合一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。使得嵌入式软件可在两个平台上得以运行,,什么是交叉编译技术?,把在宿主机上编写的高级语言程序,编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。采用交叉编译技术的原因在于,嵌入式软件必须在开发过程中,进行反复调试才能产生正确的运行结果。此时才有必要将可执行程序移植到目标机上,移植技术关键在于在宿主机上可以生

9、成目标机上运行的可执行程序。具有交叉编译技术的编译程序,实现了这一目标。,采用宿主机和目标机支持嵌入式系统开发的原因,宿主机是用于开发嵌入式系统的计算机,一般为PC机或者工作站,具备丰富的软硬件资源,为嵌入式软件的开发提供方便易行的全过程支持。目标机即所开发的嵌入式系统,是嵌入式软件的运行环境,其硬件软件是为特定应用定制的,一般由处理器、装入嵌入式系统的ROM映像的ROM内存芯片、堆栈、中间变量、缓冲区、外设和接口组成。,嵌入式软件开发的实现阶段,可分为三个步骤:生成、调试和固化运行。软件生成主要是在宿主机上进行,利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程

10、序。软件调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作。软件固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。,采用交叉调试方法的嵌入式软件开发存在一定的缺陷。,比如:依赖硬件支持,必须有目标机或评估板;普通编程人员不易熟悉;开发成本高;可移植性、可扩展性不强;较难进行团队开发;开发周期较长等。,采用非交叉调试方式的优点,即仿真开发方式,这几点理由在某种程度上,解决了交叉调试开发方法的缺陷。嵌入式应用的开发经常会遭遇这样的问题,由于经费和构建条件所限,缺少目标机环境、缺乏目标机芯片等资源。而开发过程又

11、不可能停止,因此自然就提出了根据不同的应用需要,利用较易构建的仿真器件及仿真环境进行开发的方法。,软件仿真开发,软件仿真开发(Simulator)的基本思路是,在宿主机机器上安装一种软件仿真器,即仿真程序,利用该仿真程序的运行,在宿主机上创建一个虚拟的目标机环境,再将应用系统下载到这个虚拟目标机上运行、调试。,软件仿真开发环境,嵌入式软件开发人员只需要了解所使用的编程语言、编译器及其使用方法、操作系统系统API接口及系统函数,就可以实施并完成嵌入式软件的程序设计,生成虚拟机环境下可运行的可执行程序。可以在宿主机环境下查看到运行的结果,进行运行结果的分析,并反复进行软件的调试,最终生成一个认可的

12、可执行软件。待时机条件具备时安装到目标机上运行。,实时软件分析设计方法,嵌入式实时软件系统的生命周期分为以下几个阶段:需求分析与详细说明:对系统功能及性能的需求进行描述。系统设计:任务分解,定义任务间接口关系。任务设计:按模块方式设计每个任务,定义模块间接口。模块设计与实现:完成每个模块的详细设计、编码和单元测试。任务与系统集成:任务单独运行及并发运行调试,查看每个任务的运行结果。系统测试:针对需求分析结果,对系统功能性能进行测试和验证。,一个基于实时操作系统内核的实时软件开发模型,下图表示实时软件设计编程和运行层次结构。该图对实现实时应用程序功能设计接口和运行机制进行层次划分。指明基于操作系

13、统内核进行应用开发的编程层次和接口。从而形成实时应用程序内部结构。,实时软件结构图,实现具体实时应用业务逻辑一般采用分解任务的方法,将一个实时应用功能划分为多个并发执行的任务。分配任务不同的优先级,赋予任务自主延迟功能,进行必要的任务通信,设置关键任务的中断响应。明确任务的执行条件、中断条件和挂起条件等因素。每个任务是系统中一个独立的执行调度单位和资源分配单位。调用RTOS内核系统函数接口,创建实时任务;任务的运行从接受内核调度开始,按照自身流程设计循环执行。直至系统运行结束。,任务模型的框架结构与构建,任务分解,任务分解是如何将一个实时应用业务逻辑,按照任务的管理和控制接口,划分为若干独立的

14、任务,并发运行,实现应用功能。简单地分为设计阶段、编码阶段。,任务分解的设计阶段、编码阶段,设计阶段的主要工作包括:根据应用程序功能需求,将应用程序功能划分为若干并发任务。首先将需要并发执行的子功能确立为任务,任务优先级按响应的迫切程度确定。确定每个任务处理流程,确保完成任务功能。确定任务功能实现是否与其它任务的执行有关联。编码阶段的主要工作包括完成每个任务的程序设计。将任务流程使用C语言编写为独立的函数。根据应用需求,不同的任务也可共用同一个函数的代码段。由于实时任务有确定优先级,为确保低优先级任务有机会运行。每个任务函数中需包括睡眠、挂起、等待指定时间等一些自主放弃CPU的语句,调用内核函数实现。,技术、平台开发平台,基于嵌入式实时操作系统C/OS-II的内核及其软件开发工具Borland C/C+V4.5,Makefile工程管理程序等,完成应用程序的设计、编码、编译、链接、运行等基本过程。,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1