- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式第九章
9.1 概述 9.2 交叉开发技术 9.3 仿真开发技术 9.4 开发环境提供的主要工具 9.5 GNU 的嵌入式开发环境 9.6 Wind River System 公司开发的集成开发环境 9.7 仿真开发工具ARMulator。 常见的配置裁剪工具,包括: 编译参数配置工具 ①用于确定目标代码的生成规则、编译连接选项和目标平台的选项; ②对C语言的标准库等硬件依赖支持库及优化选项进行配置。 实时操作系统裁剪工具 根据需求,对实时操作系统的各个组件进行裁剪和配置。 内存配置工具 ①对当前项目目标代码的内存定位、大小进行方便灵活的配置; ②自动生成和维护链接定位文件,以便在生成可调试或可固化应用代码时使用。 源码编辑器的特点 最基本的功能——支持标准的文本编辑; 支持语法色彩; 具有简单的语法检查功能; 具有源程序函数索引、定位功能; 与调试器协作,显示调试信息:当前执行语句、断点等; 提供文本保存的多种备份机制。 3、源码编辑 嵌入式软件项目的文件数量巨大,手工编译容易出错。 嵌入式开发环境提供make工具,负责编译、连接项目源文件。 目标代码生成 其一般步骤可描述如下: ①设置目标代码生成选项; ②C源码预处理,处理预处理命令: 一般预处理命令具有“#”前缀。 4、目标代码编译生成 ③C源码编译成紧凑、高效的汇编代码,同时反馈错误、警告等编译信息; ④将汇编语言程序转换为可重定位目标代码; ⑤将可重定位的目标模块连接成单一的、绝对定位的目标程序: 调试模式下包含调试信息,还会产生一个内存映像文件。 ⑥文件格式转换: 不同微处理器、下载工具要求的目标文件格式可能不同。 目标代码优化 常用的优化技术包括: ①合并已有常量; ②公共子表达式删除; ③控制流优化; ④寄存器变量使用优化; ⑤循环优化:外提循环代码(把循环不变运算,即产生的结果独立于循环执行次数的表达式,放到循环的前面。) 、削减强度、删除归纳变量; ⑥冗余指令删除; ⑦窥孔优化。(是指对代码局部进行改进的简单有效的技术。只考虑目标代码中的指令序列,把可能的指令序列替换成为更短更快的指令。 ) 调试版本一般屏蔽各种优化功能: 为避免引起目标代码到所选程序设计语言或汇编语言源代码的映射混乱,增加差错和排错的难度。 编译提示信息 在编译和连接过程中,编译器和连接器反馈的提示信息,如错误信息、过程信息和状态信息等。 编译错误信息: ①致命错误 通常是内部编译出错。 ②一般错误 指程序的语法错误、磁盘或内存存取错误、命令行错误等。 ③警告 只是指出一些值得怀疑的情况,并不终止编译的进行,一般编译器都有编译开关选项,用以屏蔽警告信息。 库的使用 在开发大、中型软件时,常将编译好的模块统一放到一个库中,用开发环境提供的“库的维护管理工具”维护库中的文件成员。 目的:①节省编译时间和空间;②知识产权保护的一种措施。 常用文件后缀 常见的后缀: ①.c,.cc,.cxx,.cpp:C/C++语言的源代码文件; ②.h或.hpp:C/C++语言的头代码文件; ③.s或.asm:汇编代码文件; ④.S:已预编译的汇编代码文件; ⑤.o或.obj:编译后的目标文件; ⑥…… 文件后缀说明: ①以上文件后缀仅是一个使用习惯,不是必须遵守的标准; ②每一个开发环境可能仅涉及其中的一部分; ③同一类型文件在不同开发环境中可能采用不同的后缀; ④同一后缀的文件在不同开发环境中可能具有不同的格式和含义。 交叉调试的定义 从原理上考虑,可定义为: 调试器能够通过某种方式远程控制目标机上被调试程序的运行模式,并且具备查看和修改目标机上的内存、寄存器以及被调试程序中的变量等功能。 5、交叉调试 交叉调试工具的组成 硬件部分:指Host与Target之间的连接线、仿真头、转换板等连接硬件,包括可能使用的ICE、ROMEmulator等; 软件部分:指Host端调试工具和Target端ROMMonitor等。 交叉调试的特点 调试器(Debugger)与被调试程序(Debuggee)运行在不同的计算机环境中; Debugger通过某种通信方式与Target建立联系; 一般在Target上有Debugger的某种代理(Agent),它与Debugger一起配合完成对Target上运行的程序的调试; Target可以是一种虚拟机,此时调试方式的本质保持不变。 交叉调试与非交叉调试的比较 交叉调试支持的功能 内存:读/写指定地址内存单元。 寄存器:读/写指定寄存器单元。 断点:包括设置、取消、屏蔽等断点维护功能,包括: ①软断点:将指定地址的指令设为非法,同时截获异常处理用于调试; ②硬断点:用于调试ROM中的程序和
您可能关注的文档
最近下载
- DL_T 267-2023 油浸式全密封卷铁心配电变压器使用技术条件.pdf VIP
- 一种新型的化纤打包机.pdf VIP
- 山东黄金集团招聘考试题库.pdf
- 贵州省黔西南州2024-2025学年七年级下学期期末语文试题(含答案).pdf VIP
- 环形混凝土电杆标准.pdf VIP
- 专项施工方案.docx VIP
- NB∕T 47018.4-2022 承压设备用焊接材料订货技术条件 第4部分:埋弧焊钢焊丝和焊剂.pdf
- 山西博大集团寿阳京鲁煤业有限责任公司兼并重组整合矿井地质报告.doc
- 贵州省黔西南州2024-2025学年七年级下学期期末考试语文试题(含答案).docx VIP
- 烟气脱硫废水处理系统培训课件.pptx VIP
文档评论(0)