嵌入式系统与软件5.ppt
《嵌入式系统与软件5.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统与软件5.ppt(92页珍藏版)》请在三一办公上搜索。
1、1,嵌入式系统开发方法和环境,2,嵌入式软件运行流程,上电复位,系统升级,引导/升级系统,系统初始化,应用初始化,多任务应用,板级初始化,远程升级,本地升级,3,嵌入式软件运行流程,上电复位、板级初始化阶段嵌入式系统上电复位后完成板级初始化工作。板级初始化程序具有完全的硬件特性,一般采用汇编语言实现。不同的嵌入式系统,板级初始化时要完成的工作具有一定的特殊性,但以下工作一般是必须完成的:CPU中堆栈指针寄存器的初始化。BSS段(Block Storage Space表示未被初始化的数据)的初始化。CPU芯片级的初始化:中断控制器、内存等的初始化。,4,嵌入式软件运行流程,系统引导/升级阶段根据
2、需要分别进入系统软件引导阶段或系统升级阶段。软件可通过测试通信端口数据或判断特定开关的方式分别进入不同阶段。,5,系统引导阶段系统引导有几种情况:将系统软件从NOR Flash中读取出来加载到RAM中运行:这种方式可以解决成本及Flash速度比RAM慢的问题。软件可压缩存储在Flash中。不需将软件引导到RAM中而是让其直接在NorFlash上运行,进入系统初始化阶段。将软件从外存(如NandFlash、CF卡、MMC等)中读取出来加载到RAM中运行:这种方式的成本更低。,嵌入式软件运行流程,6,嵌入式软件运行流程,系统升级阶段进入系统升级阶段后系统可通过网络进行远程升级或通过串口进行本地升级
3、。远程升级一般支持TFTP、FTP、HTTP等方式。本地升级可通过Console口使用超级终端或特定的升级软件进行。,7,系统初始化阶段 在该阶段进行操作系统等系统软件各功能部分必需的初始化工作,如根据系统配置初始化数据空间、初始化系统所需的接口和外设等。系统初始化阶段需要按特定顺序进行,如首先完成内核的初始化,然后完成网络、文件系统等的初始化,最后完成中间件等的初始化工作。,嵌入式软件运行流程,8,嵌入式软件运行流程,应用初始化阶段在该阶段进行应用任务的创建,信号量、消息队列的创建和与应用相关的其它初始化工作。多任务应用运行阶段各种初始化工作完成后,系统进入多任务状态,操作系统按照已确定的算
4、法进行任务的调度,各应用任务分别完成特定的功能。,9,嵌入式软件开发工具,嵌入式软件开发工具的集成度和可用性将直接关系到嵌入式系统的开发效率。根据不同的阶段,嵌入式软件开发工具可以分为:-需求分析工具(Requirement Analysis Tools)-软件设计工具(Software Design Tools)-编程、调试工具(Coding Tools)-测试工具(Testing Tools)-配置管理工具、维护工具等,10,嵌入式软件的开发可以分为以下几种:编写简单的板级测试软件,主要是辅助硬件的调试)开发基本的驱动程序 开发特定嵌入式操作系统的驱动程序(板级支持包)开发嵌入式系统软件,
5、如:嵌入式操作系统等 开发应用软件,嵌入式软件开发工具,11,从以上嵌入式软件开发分类来看,嵌入式软件开发工具可以分为:与嵌入式OS相关的开发工具,用于开发基 于嵌入式OS的应用和部分的驱动程序等。与嵌入式OS无关的开发工具,用于开发基本的驱动程序、辅助硬件调试,系统软件的开发等。,嵌入式软件开发工具,12,主要嵌入式软件开发工具产品,13,集成开发环境,国外集成开发环境Wind River的TornadoISI公司(目前已被Wind River兼并)的pRISM+Microtec的SpectraMS的VC+嵌入式Toolkit等GNU的GCC/GDB等系列工具国内集成开发环境:Coretek
6、 LambdaTools,14,嵌入式软件的交叉开发环境,交叉开发环境是指用于嵌入式软件开发的所有工具软件的集合,一般包括文本编辑器、交叉编译器、交叉调试器、仿真器、下载器等工具。交叉开发环境由宿主机和目标机组成,宿主机与目标机之间在物理连接的基础上建立起逻辑连接。,15,嵌入式软件的交叉开发环境,16,宿主机:开发平台建立在硬件资源丰富的PC机(或者工作站)上,有通用操作系统等系统软件提供软件开发支持,应用程序的编辑、编译、链接等过程都是在Host上完成的;目标机:运行平台建立在硬件资源相对有限的嵌入式系统硬件平台上,除了调试代理没有其他用于嵌入式软件开发的软件资源;在开发过程中,目标机端需
7、接收和执行宿主机发出的各种命令如设置断点、读内存、写内存等,将结果返回给宿主机,配合宿主机各方面的工作。,宿主机和目标机的差别,17,物理连接和逻辑连接 物理连接是指宿主机与目标机上的一定物理端口通过物理线路连接在一起,连接方式主要有三种:串口、以太口和OCD(On Chip Debug)方式如JTAG、BDM等。物理连接是逻辑连接的基础。逻辑连接指宿主机与目标机间按某种通信协议建立起来的通信连接,目前逐步形成了一些通信协议的标准。,嵌入式软件的交叉开发环境,18,嵌入式软件实现阶段的开发过程,设计完成后,嵌入式软件的开发进入实现阶段,在这个阶段的开发可分为三个步骤:生成、调试和固化运行。软件
8、的生成主要是在宿主机上进行,开发人员利用各种工具完成对应用程序的编辑、交叉编译和链接工作,生成可供调试或固化的目标程序。调试是通过交叉调试器完成软件的调试工作。调试完成后还需进行必要的测试工作,测试完成后进入到最后的固化运行阶段。固化运行是先用一定的工具将应用程序固化到目标机上,然后启动目标机,在没有任何工具干预的情况下应用程序能自动地启动运行。,19,嵌入式软件生成阶段,分为三个阶段源代码程序的编写编译成各个目标模块链接成可供下载调试或固化的目标程序,20,嵌入式软件的调试,交叉调试器 是指调试程序和被调试程序运行在不同机器上的调试器,调试器通过某种方式能控制目标机上被调试程序的运行方式,并
9、且通过调试器能查看和修改目标机上的内存、寄存器以及被调试程序中的变量等。,21,22,嵌入式软件的调试,交叉调试方式Rom Monitor方式 Rom Emulator方式In Circuit Emulator方式On Chip Debugging 方式Simulator方式(非交叉),最早的嵌入式应用软件调试方法Crash and Burn,在宿主机上编写代码在宿主机上编译应用程序,生成可执行程序固化(Burn)到目标机的存储器(EPROM、FLASH等)中启动运行,若正确则转到不正确则在宿主机上改写代码,纠正错误返回重复操作固化成功,结束,ROM Monitor,ROM Monitor是运
10、行在目标机上的一段程序,ROM主要指非易失性记忆体,如FLASH等。ROM Monitor负责监控目标机上被调试程序的运行,通常和宿主机段的程序一起完成对应用程序的调试。ROM Monitor预先被固化到目标机的ROM空间,在目标机复位后首先执行的就是ROM Monitor程序,它对目标机进行一些必要的初始化,然后初始化自己的程序空间,最后等待宿主机段的命令。ROM Monitor能完成被调试程序的下载,目标机内存和寄存器的读写,设置断点,单步执行被调试程序等功能,一些高级的ROM Monitor能完成代码分析、系统分析、ROM空间的写操作以及设置各种非常复杂的断点等功能。,ROM Monit
11、or调试结构,最简便的方法,注意:,采用本方法,在目标机复位后首先执行的就是ROM Monitor,它对目标机进行一些必要的初始化,然后初始化自己的程序空间,最后就等待HOST端的命令。,ROM Monitor能在调试模式下完成程序下载、目标机内存和寄存器的读写、设置断点、单步执行等调试功能。,调试过程:,在宿主机上编写代码在宿主机上使用调试模式交叉编译应用程序,生成可执行程序将代码下载到目标机上的RAM空间用户使用调试器进行交叉调试如果正确转不正确则在调试器帮助下定位错误修改错误,重复将程序固化到目标机上,结束,28,ROM Monitor的优点,简单、方便;支持许多高级的调试功能;可扩展性
12、强;成本低廉;基本上不需要专门的调试硬件支持。,ROM Monitor的缺点,Debug Monitor需要用Crash and Burn方法开发当ROM Monitor占用CPU时,应用程序不响应外部的中断,因此不便调试有时间特性的程序。要求目标机必须有足够的ROM目标机CPU不支持硬件断点时,ROM Monitor无法调试ROM程序和设置数据断点。ROM Monitor要占用目标机一定数量的资源,如:CPU资源、RAM资源和通信设备(如:串口、网卡等)资源。调试环境不同于实际目标环境,ROM Emulator,嵌入式应用的开发经常会遭遇缺少目标机环境、缺乏目标机芯片等资源,而开发过程又不可
13、能停止的问题,因此自然就提出了根据不同的应用需要,利用仿真器件、仿真环境进行开发的方法,ROM Emulator是其中之一,其它还有ICE、OCD等。,ROM Emulator是一种用于替代目标机上的ROM芯片的设备,即ROM仿真器。利用这种设备,目标机可以没有ROM芯片,但目标机的CPU可以读取ROM Emulator设备上ROM芯片的内容:ROM Emulator设备上的ROM芯片的地址可以实时地映射到目标机的ROM地址空间,从而仿真(Emulation)目标机的ROM。,ROM Emulator的调试方式是一种不完全的调试方式:ROM Emulator设备只是为目标机提供ROM芯片和在T
14、arget和Host间建立一条高速的通信通道,因此它经常和前面两种调试方式结合起来形成一种完备的调试方式。ROM Emulator的典型应用就是和ROM Monitor的调试方式相结合。,目标机可以没有ROM芯片、可以使用ROM Emulator提供的ROM空间且不需要用别的工具来写ROM。,优点,目标机必须能支持外部ROM存储空间,而且由于其通常要和ROM Monitor配合使用,因此它拥有ROM Monitor的所有缺点。,缺点,内部电路仿真器(ICE),ICE(In-Circuit Emulator)是一种用于替代目标机上CPU的设备,即在线仿真器。它比一般的CPU有更多的引出线,能够将
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 软件

链接地址:https://www.31ppt.com/p-5394831.html