嵌入式系统及应用优秀PPT.ppt
《嵌入式系统及应用优秀PPT.ppt》由会员分享,可在线阅读,更多相关《嵌入式系统及应用优秀PPT.ppt(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统及应用嵌入式系统及应用你现在浏览的是第一页,共105页核心内容核心内容n交叉开发技术 n仿真开发技术n开发环境提供的主要工具nGNU的嵌入式开发环境nWindriver的集成开发环境n仿真开发工具ARMulator你现在浏览的是第二页,共105页9.1 概述概述 需要协调管理特殊的硬件资源 软件具有可配置裁剪特性 需要交叉编译环境 需要交叉调试环境 需要交叉测试环境 需要软件固化工具嵌入式软件开发的特点:你现在浏览的是第三页,共105页9.2 交叉开发技术交叉开发技术宿主机:开发系统目标机:运行平台你现在浏览的是第四页,共105页宿主机与目标机的差别宿主机与目标机的差别n硬件的差别:
2、处理器不同n软件环境的差异:宿主机上有通用操作系统等系统软件提供软件开发支持,而目标机上除了调试代理没有其他用于嵌入式软件开发的软件资源你现在浏览的是第五页,共105页一、常用的交叉开一、常用的交叉开发方法发方法 1.Crash and Burn方式在宿主机上编写代码;在宿主机编译应用程序,生成可执行程序;固化到目标机的非易失存储器中;启动运行,若正常则转到;不正确则根据目标板上的信号显示估计错误位置,改写代码,纠正错误;返回重复操作;固化完成。你现在浏览的是第六页,共105页2.ROM Monitor方式 你现在浏览的是第七页,共105页优点优点:n实时控制目标机的内存单元、寄存器、设置断点
3、等n调试采用目标机本身的串口、网口、USB口进行你现在浏览的是第八页,共105页ROM Monitor的缺点的缺点:目标机内存使用与运行时不一致 目标机CPU运行与正常运行时不一致 无法调试通讯占用端口的相关代码 若目标机CPU不支持硬件断点,则无法调试设置数据断点 无法调试系统启动初始化过程你现在浏览的是第九页,共105页3.ROM Emulator方式 ROM Emulator是一种用于替代目标机上ROM芯片的设备,插接到目标机的ROM插座上,取代ROM内存。你现在浏览的是第十页,共105页4.ICE方式 ICE是一种用于替代目标机上CPU的设备,可执行目标机CPU的指令,能将内部的信号输
4、出到被控制的目标机,ICE上的内存也可以被映射到用户的程序空间。你现在浏览的是第十一页,共105页ICE方式 你现在浏览的是第十二页,共105页ICE方式的特殊调方式的特殊调试功能试功能 支持软件断点和硬件断点的设置设置复杂的断点和触发器实时跟踪目标程序的运行,并可实现选择性的跟踪支持“Time Stamp”允许用户设置“Timer”提供“Shadow RAM”,支持非干扰调试查询。你现在浏览的是第十三页,共105页5.OCD方式 采用两级CPU模式:正常运行模式 调试模式你现在浏览的是第十四页,共105页OCD方式的优点 性价比高 不占用目标机硬件资源 调试环境和运行环境一致 能调试底层系统
5、软件你现在浏览的是第十五页,共105页OCD方式的缺点方式的缺点 调试的实时性不如ICE强 不支持非干扰调试查询 CPU必须有OCD功能 OCD标准不统一 你现在浏览的是第十六页,共105页BDM方方式式 你现在浏览的是第十七页,共105页二、交叉开发过二、交叉开发过程程 三个阶段:应用软件生成阶段 应用软件调试阶段 应用软件固化运行阶段你现在浏览的是第十八页,共105页交叉开发过程交叉开发过程 你现在浏览的是第十九页,共105页应用软件生成应用软件生成阶段阶段 你现在浏览的是第二十页,共105页应用软件调试应用软件调试阶段阶段 你现在浏览的是第二十一页,共105页应用软件固化应用软件固化阶段
6、阶段 你现在浏览的是第二十二页,共105页三、交叉开发环境三、交叉开发环境 交叉编译环境 交叉调试环境 嵌入式开发支持环境 其他辅助工具你现在浏览的是第二十三页,共105页交叉开发环境交叉开发环境 你现在浏览的是第二十四页,共105页9.3 仿真开发技术仿真开发技术 利用计算机仿真技术模拟嵌入式硬件系统的真实运行,使软件开发和系统集成在虚拟平台上进行。你现在浏览的是第二十五页,共105页仿真开发结构图仿真开发结构图 你现在浏览的是第二十六页,共105页一、仿真开发分类一、仿真开发分类 纯软件仿真开发是利用宿主机上的资源模拟目标机实际硬件电路的运行,构建应用软件运行所需的虚拟硬件环境,提供嵌入式
7、软件开发和调试的真正“软”平台。你现在浏览的是第二十七页,共105页纯软件仿真开发分纯软件仿真开发分类类 应用级仿真 编程接口级仿真 硬件级仿真你现在浏览的是第二十八页,共105页编程接口级仿真编程接口级仿真 你现在浏览的是第二十九页,共105页硬件级仿真开发硬件级仿真开发 你现在浏览的是第三十页,共105页二、仿真开发过程二、仿真开发过程 你现在浏览的是第三十一页,共105页三、仿真开发环境三、仿真开发环境 你现在浏览的是第三十二页,共105页四、仿真开发环境四、仿真开发环境的特点的特点 不需要提供实际的目标硬件环境;编译调试都在宿主机上进行;可以最大限度地保证软硬件同时开发。你现在浏览的是
8、第三十三页,共105页9.4 开发环境提供的主开发环境提供的主要工具要工具 项目管理器 项目配置工具 源码编辑工具 C RTL(C Run-Time Library)RTOS开发支持包 交叉编译工具 交叉调试工具 交叉测试 性能分析工具等你现在浏览的是第三十四页,共105页一、项目管理一、项目管理 项目管理器一般采用通用的工作区、项目管理方式,这能较好的支持在不同硬件平台上的软件移植。你现在浏览的是第三十五页,共105页二、配置剪二、配置剪裁裁 编译参数配置工具 实时操作系统裁剪工具 内存配置工具你现在浏览的是第三十六页,共105页三、源码编辑三、源码编辑 标准的文本编辑功能 支持语法色彩 简
9、单的语法检查功能 源程序函数索引、定位功能显示调试信息文本保存的多中备份机制你现在浏览的是第三十七页,共105页四、目标代码编译四、目标代码编译生成生成 嵌入式开发环境一般提供工具make,它利用编译器、汇编器、链接器和库管理器等工具,根据Makefile文件,将源代码转换成目标代码。你现在浏览的是第三十八页,共105页1.目标代码生成目标代码生成 设置目标代码生成选项;C源码预处理;C源码编译成汇编代码;汇编语言程序转换为可重定位目标代码;可重定位的目标模块链接成目标程序;文件格式转换。你现在浏览的是第三十九页,共105页2.目标代码优化目标代码优化 合并已有常量;公共子表达式删除;控制流优
10、化;寄存器变量使用优化;循环优化;冗余指令删除;窥孔优化。你现在浏览的是第四十页,共105页3.编译提示信息编译提示信息 错误信息:致命错误、一般错误和警告。过程信息 状态信息你现在浏览的是第四十一页,共105页4.库的使用库的使用 在开发大中型软件时,常把一些编译好的模块统一放到一个库中。你现在浏览的是第四十二页,共105页5.常用文件后缀常用文件后缀.c或.cc 或.cxx 或.cpp.h或.hpp.s或.asm.S.o或.obj.a或.lib.elf.omf.hex.eepk.cofl.s19或.s2或.s3m.lstn.map你现在浏览的是第四十三页,共105页五、交叉调试五、交叉调试
11、 硬件:连接线、仿真头、转换板等连接硬件。软件:宿主机端调试工具和目标机端ROM Monitor你现在浏览的是第四十四页,共105页交叉调试定义交叉调试定义 调试器能够通过某种方式远程控制目标机上被调试程序的运行模式,并且具备查看和修改目标机上的内存、寄存器以及被调试程序中的变量等功能。你现在浏览的是第四十五页,共105页交叉调试与非交叉调交叉调试与非交叉调试比较试比较交叉交叉交叉交叉调试调试调试调试本地本地本地本地调试调试调试调试DebuggerDebugger和和DebuggeeDebuggee运行在运行在不同的不同的计计算机算机DebuggerDebugger和和DebuggeeDebu
12、ggee运行在同运行在同一台一台计计算机算机运行运行时时不一定需要操作系不一定需要操作系统统的的调试调试支持支持运行运行时时需要操作系需要操作系统统的的调试调试支持支持DebuggeeDebuggee装装载载由由DebuggerDebugger或或LoaderLoader完成完成DebuggeeDebuggee的装的装载载是由是由专门专门的的LoaderLoader程序完成程序完成需要通需要通过过外部通信的方式来控外部通信的方式来控制制DebuggeeDebuggee不需要外部的通信方式来控制不需要外部的通信方式来控制DebuggeeDebuggee可以直接可以直接调试调试不同指令集的程不同指
13、令集的程序序只能直接只能直接调试调试相同指令集的程序相同指令集的程序你现在浏览的是第四十六页,共105页1.交叉调试支持的交叉调试支持的功能功能 内存 寄存器 断点 程序执行 变量 显示模式 OS-aware你现在浏览的是第四十七页,共105页交交叉叉调调试试的的过过程程框框架架你现在浏览的是第四十八页,共105页2.任务级调试任务级调试 调试对象是一个用户任务(集),用户可以自定义调试范围。你现在浏览的是第四十九页,共105页任务级调试任务级调试你现在浏览的是第五十页,共105页3.系统级调试系统级调试 即内核级调试,调试对象是目标机上除调试代理外的所有程序,包括RTOS本身。你现在浏览的是
14、第五十一页,共105页系统级调试系统级调试你现在浏览的是第五十二页,共105页六、测试工具六、测试工具 嵌入式系统采用交叉测试,即嵌入式软件测试必须由宿主机和目标机协作完成。你现在浏览的是第五十三页,共105页1.仿真测试仿真测试 仿真测试环境可分为两类:一类要求用户改写I/O部分代码。无须改动其源程序。你现在浏览的是第五十四页,共105页纯软件仿真测试结纯软件仿真测试结构框架构框架 你现在浏览的是第五十五页,共105页2.交叉测试交叉测试 目标机的测试分为两类:仿真信号测试 实物测试你现在浏览的是第五十六页,共105页仿真信号测试的结仿真信号测试的结构构 你现在浏览的是第五十七页,共105页
15、3.实时性测试实时性测试 静态时间分析。不执行被测程序,通过分析估计执行时间。动态实时检测。实际执行程序测试程序的时间特性。包括:在线仿真器、模拟器、插桩技术。你现在浏览的是第五十八页,共105页七、版本管理工具七、版本管理工具 版本管理是用户对项目文件版本进行控制的工具软件。包括:版本库和临时工作区。你现在浏览的是第五十九页,共105页嵌入式软件版本管理工具嵌入式软件版本管理工具的功能结构的功能结构 你现在浏览的是第六十页,共105页9.5 GNU的嵌入式开的嵌入式开发环境发环境 C编译器gcc make工具GNU make 开发调试工具gdb你现在浏览的是第六十一页,共105页一、一、gc
16、c编译器编译器 gcc前端支持多种高级语言,后端支持多种平台,它是一个交叉编译器,可以把源代码编译成在其他硬件平台上运行的可执行代码。你现在浏览的是第六十二页,共105页1.编译过程编译过程 预处理 编译 汇编 链接你现在浏览的是第六十三页,共105页预处理预处理 执行源代码的预处理,处理完后生成一个以“.i”为后缀名的临时文件。你现在浏览的是第六十四页,共105页编译编译 将预处理后生成的源代码编译为后缀名为“.s”的汇编文件。你现在浏览的是第六十五页,共105页汇编汇编 gcc调用as汇编程序,将汇编语言代码转换为以“.o”为后缀名的中间代码。你现在浏览的是第六十六页,共105页链接链接
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 应用 优秀 PPT
限制150内