已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统,Xu yingyh hsu嵌入式系统,第4课嵌入式系统软件开发工具,1 .嵌入式软件开发工具分类2。嵌入式软件的交叉开发环境3。嵌入式软件实施阶段开发流程4。嵌入式软件开发工具开发趋势,第4课嵌入式系统软件开发工具,嵌入式软件开发工具分类,嵌入式软件开发阶段,需求分析,设计,编码,测试交叉开发环境是用于软件开发的所有工具软件的集合,其中交叉开发环境通常由主机和目标系统组成,并基于主机和目标系统之间的物理连接建立逻辑连接(通信协议)。 第四,嵌入式系统软件开发工具、主机、目标机、通用计算机的软件开发通常以本地(本机)方式进行(开发软件在生成的对象代码所在的处理器上运行),嵌入式软件开发通常不支持本地环境开发,通常采用交叉开发方式。开发软件在开发机器、主机(主机)(也称为主机)上构建,通常是PC等通用计算机。相应的嵌入式系统称为目标系统(Target)。目标装置可以是多种嵌入式设备,例如移动电话、手持设备等。或者,供应商提供专门用于开发的评估板(evaluationboard)。甚至是基于软件的模拟器。使用主机上的交叉编译、装配和链接工具创建可在开发时在目标计算机上运行的二进制代码,然后将可执行代码下载到目标计算机上并运行。另外,嵌入式系统的调试通常也是交叉执行的,在调试过程中,目标系统必须根据主机端的活动接收和执行主机系统的各种命令,如设置断点、启动/停止执行、读/写存储等。第四课嵌入式系统软件开发工具,交叉开发环境,目标计算机硬件,目标计算机应用系统,应用软件,应用中间件,目标系统,操作系统,主机硬件,主机,操作系统,调试,测试,替代,逻辑,运输,生产线,库主机和目标系统通常是异构的。主机系统通常使用x86体系结构,但可以使用非x86体系结构,如ARM、MIPS、PowerPC等。对于某些系统,这不一定成立。Atom系统和目标系统都是x86系统。例如,Core2Duo等主机系统支持SSE4,Atom支持SSE3和sse3,因此编译时必须考虑目标型号和脚本选择。处理能力不同。主机的处理速度、存储容量等明显优于目标。运行的操作系统不同。主机通常运行通用操作系统,而目标系统通常运行多种内置操作系统。输入输出方式不同。相对主机、目标系统的输入和输出功能可能更单一。第四课嵌入式系统软件开发工具,为什么要交叉编译?通常,目标无法执行高效的本地(本机)编译。目标硬件在开发过程中可以自行运行,可能还不可用,也可能不够可靠。目标系统性能太低,无法实现完整的本地编译工具、环境;51 SCM系统目标系统性能不足,编译速度太慢。与windows开发不同,嵌入式系统的软件编译不仅编译应用程序,还编译其依赖库、操作系统内核等。所以完整的编译需要很多时间。对于编译Linux内核需要10分钟以上的PC,从硬件角度决定编译速度的主要因素是CPU速度、内存容量和文件系统I/O速度。介绍了嵌入式系统软件开发工具,通常使用C/C、ADA、Python等编程语言。虽然很少使用,例如操作系统迁移、最大化处理速度等,但从基本方面来说,必须使用汇编语言。复杂的嵌入式系统通常是多种语言混合编写的。C/C有很多优点,如便于基本编程,因此,目前C/C是为大多数嵌入式系统开发的基本语言。但是,受嵌入式系统硬件性能的限制,嵌入式c通常是标准c的部分实现版本。第四课嵌入式系统软件开发工具、编程语言、三个嵌入式软件实现阶段的开发过程、系统设计完成后,嵌入式软件开发可以分为实现阶段,创建、调试和固化任务三个主要阶段。软件生成在主机上执行,使用各种完成程序编辑、交叉编译和链接操作的工具生成可用于调试或固化的目标代码。调试是通过与调试器硬件一起在主机上运行的交互调试软件调试目标计算机软件的任务。基本调试完成后,还应执行必要的测试任务。固化执行是首先使用特定工具将代码固化到目标存储器中,然后启动目标机器,使代码自动启动,无需工具干预。第四课嵌入式系统软件开发工具,具体地说,嵌入式软件开发要经过编辑(代码准备)、编译、重新部署(寻址和软件包)、写入、下载、调试、优化等阶段,很多嵌入式系统要经过充分的测试和验证阶段。过程可以分为编码阶段、构建阶段、构建阶段、调整阶段和其他阶段。一般嵌入式软件开发流程图,第四课嵌入式系统软件开发工具,1 .嵌入式软件生成阶段,三个进程源代码程序编译为可下载调试或固化的目标程序。编辑器、交叉编译器、interchanger、源程序、目标模块、调试/固化、库文件、第四课嵌入式系统软件开发工具、编码阶段、构建(构建)阶段、编码阶段编码阶段是软件开发的开始,其中用于编写软件源代码的工具是各种文本编辑器。构建阶段构建阶段的任务是将源代码从嵌入式处理器转换为可执行程序。此阶段包括编译、链接、寻址和包装。第四课嵌入式系统软件开发工具、构建阶段、第四课嵌入式系统软件开发工具、第二阶段、第三阶段、构建第一阶段是将源代码文件转换为目标文件。编译由编译器执行,编译器将使用特定编程语言编写的源代码从特定处理器(称为目标文件)转换为一系列等效的操作码。第四,嵌入式系统软件开发工具的第二步是将所有目标文件链接到一个目标文件。链接操作由主任务链接器执行,该任务扫描所有导入的目标文件,然后合并多个目标文件的段,解决其间的从属关系(此过程称为符号解释),最终生成一个可执行文件。在许多开发工具中,编译器和链接器进程以使用的形式一起执行,开发人员可以直接将源代码文件转换为可执行文件。这种过程称为构建。可执行文件的可重新定位和不可重新定位通常内置系统中的可执行文件有可重新定位和不可重新定位版本。要运行可执行文件,必须将操作系统或加载程序加载到内存中。对于不可重新定位版本的可执行文件,加载程序只能加载到固定地址。可重新定位版本的可执行文件可以加载到任何地址。源代码程序可以将可执行文件生成为可重新定位版本的和不可重新定位版本,在编译-链接时必须选择不同的参数。对于简单的嵌入式系统软件,通常不需要重新定位功能,链接器直接生成只在一定内存地址上运行的程序即可。第四,介绍了嵌入式系统软件开发工具。第三步是寻址和打包。将可重新定位的可执行文件合并为一个可在存储系统上运行的二进制映像文件是寻址和打包的目标。对于可重定位可执行文件,下载并运行到目标计算机之前需要进行寻址。寻址也称为重新定位,是解决程序中函数和变量的地址绑定问题。对于可包含内存地址的编译器和链接器生成的每个指令(例如函数调用的跳转指令),建议将指令的内存地址存储为偏移量而不是绝对地址。然后,程序加载程序(引导加载程序或嵌入式操作系统)将程序加载到机器内存中时,根据实际加载地址,代码的相对偏移加上实际加载基本地址即可获得物理内存地址。第四,嵌入式系统软件开发工具可以生成可在嵌入式系统上运行的映像,前提是整个系统上的软件仅由一个可执行文件组成,您只需指定地址即可。但是,构成整个嵌入式软件的多个可执行文件(车辆终端等可执行文件、从车身传感器获取驾驶数据的可执行文件、在屏幕上显示数据的可执行文件、负责播放视频音频的可执行文件)通常需要将多个可执行文件打包为一个图像并刻录到嵌入式系统内存中。常见的打包方法有两种:压缩包和未压缩包。上述第三阶段寻址和打包对于应用程序开发是不必要的。某些嵌入式系统具有更强大、更完善的操作系统,可在目标系统操作系统中自动寻址可执行文件,用户看不到这些单独的步骤。打包不是必需的,许多Linux系统允许用户通过网络、串行端口等本地下载或复制单独的文件。这不一定是完整的软件包镜像。第四课嵌入式系统软件开发工具,2 .嵌入式软件调试、第四课嵌入式系统软件开发工具、嵌入式系统调试的特点嵌入式软件开发中使用的调试技术和技术、一般计算机系统中没有的很多方法和使用的很多设备只有嵌入式系统才有。与一般桌面应用程序开发相比,嵌入式软件调试的最大问题是缺乏监控实时程序执行的手段。许多嵌入式设备的I/O系统相对简单。嵌入式处理器没有台式机处理器那样丰富的调试功能。因此,如果在程序执行过程中出现程序“跳动”(指向PC寄存器不应指向的位置,或者程序执行混乱了程序执行,超出开发人员的预料),则第一次发现原因很困难。调试的基本原则调试的基本原则之一是,不要成为“睁眼瞎”,需要监视程序的运行,以便自己知道代码是如何工作的。在某些情况下,您不需要使用重量级调试器或模拟器来监视程序的运行。通过一两行代码使发动机上的LED闪烁,或初始化发动机板上的串行端口,然后从PC端通过终端软件从发动机上的串行端口接收信息,也是有效的监视措施。、交叉调试器调试器调试器调试器调试器和调试器在不同处理器上运行,调试器允许您控制调试器在目标机器上的运行方式,调试器允许您查看和修改目标机器上寄存器、内存、正在调试的程序的变量等。第四课嵌入式系统软件开发工具,第四课嵌入式系统软件开发工具,交叉调试方法CrashandBurnrmmonitor-常驻显示器ROMEmulator-ROM模拟器incircuitemuator-在线模拟器OnChipDebugging-片上查找问题的根本原因,复盖代码,启动目标机器运行,观察程序是否运行,N,Y,关闭,如果有第四个刻录设备,则可以调试,硬件投入少,处理简单,粗糙。 适用于比较简单的程序和思维清晰的程序员。逻辑连接、物理连接、rom监视器、rom监视器是在目标上固化和运行的程序,它监视在目标上调试的程序执行,并与主机端调试器一起执行应用程序调试。调试器和rom监视器之间的通信遵循某种远程调试协议。第四课嵌入式系统软件开发工具、调试器Windows或其他桌面操作系统PC等硬件、嵌入式硬件、监视器、调试器、主机、目标系统、最基本的串行端口和用于内存更新的系统计时器芯片等初始化要求外围设备;用于下载映像的内存系统初始化中断控制器初始化和安装中断处理程序。初始化自己的程序空间以等待主机端命令,在目标系统上打开或重置电源后首次运行ROMMonitor,将启动目标系统的一些必需初始化,第4课嵌入式系统软件开发工具,rom监视器调试流程,(1)启动目标系统,启动监视器控制,等待与调试器的连接,(2)启动调试器,与监视器建立通信连接。(3)使用调试器将应用程序下载到目标计算机的RAM空间。(4)使用调试器调试,执行各种调试命令,监视器解释和执行这些命令,并将命令执行结果传回调试器。(5)如果程序有问题,请在调试器的帮助下查找错误。修改后,重新编译链接,下载程序,开始新的调试,重复执行,直到程序正常运行。rom监视器可以与调试器一起完成:程序图像下载寄存器的读写目标系统内存读写设置和删除其他类型的断点单步骤执行命令重置系统.等调试功能,第4课嵌入式系统软件开发工具,rom监视器调试方法的优点:提高调试器效率,缩短开发周期,降低成本;简单方便。强大的可扩展性支持许多高级调试功能,成本低,不需要特殊的调试硬件支持。几乎所有交叉调试器都支持这一点。缺点:ROMMonitor必须采用CrashandBurn方法开发,开发难度更大。Rom监视器占用CPU时,应用程序不会响应外部中断,因此调试具有时间特性的程序很不方便。某些调试功能取决于CPU硬件支持(例如硬件断点功能)。rom监视器使用特定数量的目标系统资源,如CPU、RAM、ROM和通信设备。调试环境不同于实际目标环境。第四,嵌入式系统软件开发工具的教学。嵌入式应用程序开发经常遇到目标系统环境不足、目标芯片等资源不足的问题,开发过程中断的可能性很小,因此,根据不同的应用程序需求,自然地提出了使用模拟设备、模拟环境的开发方法。,硬件模拟开发ROMEmulatorICEOCD软件模拟开发Simulator,第四课嵌入式系统软件开发工具,Emulator,Sim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年邵阳辅警招聘考试题库及完整答案详解一套
- 2025年甘南州辅警招聘考试题库及答案详解(新)
- 2025年衡水辅警协警招聘考试真题及一套参考答案详解
- 2025年金昌辅警招聘考试题库附答案详解(满分必刷)
- 2025年漳州辅警协警招聘考试备考题库及1套完整答案详解
- 2025年襄樊辅警招聘考试题库含答案详解(培优b卷)
- 2025年黄冈辅警协警招聘考试真题参考答案详解
- 2025年驻马店辅警协警招聘考试备考题库参考答案详解
- 2025年玉林辅警协警招聘考试真题附答案详解(能力提升)
- 2025年那曲辅警招聘考试题库附答案详解(巩固)
- 2025年阜阳辅警协警招聘考试真题带答案详解(完整版)
- 2025昆明市呈贡区城市投资集团有限公司及下属子公司第一批招聘(12人)笔试考试备考题库及答案解析
- 儿童安全用药全面指南
- 2025重庆市潼南区公安局辅警岗招聘30人考试笔试参考题库附答案解析
- 2025广东惠州市博罗县自然资源局招聘编外人员76人笔试考试备考题库及答案解析
- 软装家具购销合同范本
- 彩钢瓦屋面tpo自粘防水卷材施工方案
- 2025年全国烟花爆竹生产单位安全生产考试题库(含答案)
- 2025年三力测试题库附答案
- 耳声发射报告解读
- 2025年时事政治考试题库及参考答案(100题)
评论
0/150
提交评论