嵌入式系统及应用——第9章

嵌入式系统及应用——第9章

ID:27682678

大小:1.69 MB

页数:106页

时间:2018-12-05

嵌入式系统及应用——第9章_第1页
嵌入式系统及应用——第9章_第2页
嵌入式系统及应用——第9章_第3页
嵌入式系统及应用——第9章_第4页
嵌入式系统及应用——第9章_第5页
资源描述:

《嵌入式系统及应用——第9章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统及应用计算机机学院桑 楠sn@uestc.edu.cn第九章嵌入式软件开发环境核心内容交叉开发技术仿真开发技术开发环境提供的主要工具GNU的嵌入式开发环境Windriver的集成开发环境仿真开发工具ARMulator9.1概述需要协调管理特殊的硬件资源软件具有可配置/裁剪特性需要交叉编译环境需要交叉调试环境需要交叉测试环境需要软件固化工具嵌入式软件开发的特点:9.2交叉开发技术宿主机:开发系统目标机:运行平台宿主机与目标机的差别硬件的差别:处理器不同软件环境的差异:宿主机上有通用操作系统等系统软件提供软件开发支持,而目标机上除了调试代理

2、没有其他用于嵌入式软件开发的软件资源一、常用的交叉开发方法1.CrashandBurn方式在宿主机上编写代码;在宿主机编译应用程序,生成可执行程序;固化到目标机的非易失存储器中;启动运行,若正常则转到⑦;不正确则根据目标板上的信号显示估计错误位置,改写代码,纠正错误;返回②重复操作;固化完成。2.ROMMonitor方式优点:实时控制目标机的内存单元、寄存器、设置断点等调试采用目标机本身的串口、网口、USB口进行ROMMonitor的缺点:目标机内存使用与运行时不一致目标机CPU运行与正常运行时不一致无法调试通讯占用端口的相关代码若目标机CPU不

3、支持硬件断点,则无法调试设置数据断点无法调试系统启动初始化过程3.ROMEmulator方式ROMEmulator是一种用于替代目标机上ROM芯片的设备,插接到目标机的ROM插座上,取代ROM内存。4.ICE方式ICE是一种用于替代目标机上CPU的设备,可执行目标机CPU的指令,能将内部的信号输出到被控制的目标机,ICE上的内存也可以被映射到用户的程序空间。ICE方式ICE方式的特殊调试功能支持软件断点和硬件断点的设置设置复杂的断点和触发器实时跟踪目标程序的运行,并可实现选择性的跟踪支持“TimeStamp”允许用户设置“Timer”提供“Sha

4、dowRAM”,支持非干扰调试查询。5.OCD方式采用两级CPU模式:正常运行模式调试模式OCD方式的优点性价比高不占用目标机硬件资源调试环境和运行环境一致能调试底层系统软件OCD方式的缺点调试的实时性不如ICE强不支持非干扰调试查询CPU必须有OCD功能OCD标准不统一BDM方式二、交叉开发过程三个阶段:应用软件生成阶段应用软件调试阶段应用软件固化运行阶段交叉开发过程应用软件生成阶段应用软件调试阶段应用软件固化阶段三、交叉开发环境交叉编译环境交叉调试环境嵌入式开发支持环境其他辅助工具交叉开发环境9.3仿真开发技术利用计算机仿真技术模拟嵌入式硬件

5、系统的真实运行,使软件开发和系统集成在虚拟平台上进行。仿真开发结构图一、仿真开发分类纯软件仿真开发是利用宿主机上的资源模拟目标机实际硬件电路的运行,构建应用软件运行所需的虚拟硬件环境,提供嵌入式软件开发和调试的真正“软”平台。纯软件仿真开发分类应用级仿真编程接口级仿真硬件级仿真编程接口级仿真硬件级仿真开发二、仿真开发过程三、仿真开发环境四、仿真开发环境的特点不需要提供实际的目标硬件环境;编译调试都在宿主机上进行;可以最大限度地保证软硬件同时开发。9.4开发环境提供的主要工具项目管理器项目配置工具源码编辑工具CRTL(CRun-TimeLibrar

6、y)RTOS开发支持包交叉编译工具交叉调试工具交叉测试性能分析工具等一、项目管理项目管理器一般采用通用的工作区、项目管理方式,这能较好的支持在不同硬件平台上的软件移植。二、配置剪裁编译参数配置工具实时操作系统裁剪工具内存配置工具三、源码编辑标准的文本编辑功能支持语法色彩简单的语法检查功能源程序函数索引、定位功能显示调试信息文本保存的多中备份机制四、目标代码编译生成嵌入式开发环境一般提供工具make,它利用编译器、汇编器、链接器和库管理器等工具,根据Makefile文件,将源代码转换成目标代码。1.目标代码生成设置目标代码生成选项;C源码预处理;C

7、源码编译成汇编代码;汇编语言程序转换为可重定位目标代码;可重定位的目标模块链接成目标程序;文件格式转换。2.目标代码优化合并已有常量;公共子表达式删除;控制流优化;寄存器变量使用优化;循环优化;冗余指令删除;窥孔优化。3.编译提示信息错误信息:致命错误、一般错误和警告。过程信息状态信息4.库的使用在开发大中型软件时,常把一些编译好的模块统一放到一个库中。5.常用文件后缀.c或.cc或.cxx或.cpp.h或.hpp.s或.asm.S.o或.obj.a或.lib.elf.omf.hex.eep.cof.s19或.s2或.s3.lst.map五、交叉

8、调试硬件:连接线、仿真头、转换板等连接硬件。软件:宿主机端调试工具和目标机端ROMMonitor交叉调试定义调试器能够通过某种方式远程控

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。