GNU-ARM裸机程序设计【PPT课件】_第1页
GNU-ARM裸机程序设计【PPT课件】_第2页
GNU-ARM裸机程序设计【PPT课件】_第3页
GNU-ARM裸机程序设计【PPT课件】_第4页
GNU-ARM裸机程序设计【PPT课件】_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1) 教学回顾 嵌入式 交叉开发的过程 串口 网口 交叉调试 教学内容 开发工具 教学要求 了解 掌握链接脚本的作用 掌握开发工具中常用的开发工具 开发工具 +程序的工具主要是 编译工具 :把一个源程序编译为一个可执行程序 调试工具 :能对执行程序进行源码或汇编级调试 软件工程工具 :用于协助多人开发或大型软件项目的管理,如 其他工具 :用于把多个目标文件链接成可执行文件的链接器,或者用作格式转换的工具。 开发工具 本地程序开发( /g+、 库文件: /头文件: / 交叉开发( /库文件: /头文件: / +原始程序 已经过预处理的 已经过预处理的 C+原始程序 S 汇编语言原始程序 预处理文件 (头文件 ) 目标文件 编译后的库文件 开发工具 1. 预处理 ( 2. 编译 (3. 汇编 (4. 链接 (8 源代码 *处理器 头文件 *译器 目标代码 *执行文件 引导代码 库函数 汇编处理 链接 开发工具 进行预处理,对源代码文件中的文件包含 (预编译语句 (如宏定义进行分析; 进行编译,生成 进行汇编,汇编语言文件经过预编译和汇编之后都生成以 进行链接,所有的目标文件被安排在可执行程序中的恰当的位置。同时,该程序所调用到的库函数也从各自所在的档案库中链接到合适的地方。 开发工具 E) S) c) 开发工具 o / o 接 o o 开发工具 程序地址转换为文件名和行号 立、修改、提取归档文件 要用来编译 编译器 生的目标文件由链接器 c+接器使用它来过滤 C+ 和 号,防止重载函数冲突。 出目标文件中的符号。 件格式转换。 示一个或者更多目标文件的信息,主要用来反编译。 生归档文件索引,并将其保存到这个归档文件中。在索引中列出了归档文件各成员所定义的可重分配目标文件。 示 出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。 印某个文件的可打印字符串。默认情况下,只打印目标文件初始化和可加载段中的可打印字符;对于其它类型的文件它打印整个文件的可打印字符,这个程序对于了解非文本文件的内容很有帮助。 弃目标文件中的全部或者特定符号,减小文件体积。 开发工具 查看可执行文件 “ 的头信息 $ h 发工具 $ 977 256 8 1241 4 种为 “ ,另一种为“ ,默认为 一种格式可以用 “ 或者 “ 指定,第二种格式用“ 或 “ 指定: $ A $ B 开发工具 法虽然简单,但是功能很强大。 R 只读符号 N 调试符号 D 已经初始化的变量的符号 T 子程序都是这种符号 U 未定义的符号 。 例如文件中引用了不存在的函数 S 未初始化的符号 , 比如定义了一个全局变量 a;则 提供支持 C+语言的库函数 R 只读符号 开发工具 #; nm ; n); a1, a1+ 开发工具 $ g O c $ A o 0000000 D 0000000 R 0000000 T 0000000 b 0000004 C 0000012 T U 发工具 $ Aa o 0000000 b 0000000 n 0000000 d 0000000 N 0000000 N 0000000 N 0000000 N 0000000 N 0000000 D 0000000 R 0000000 T 0000000 b 0000004 C 0000000 a c 0000012 T U 发工具 “ a” 选项会把调试符号也列出来。默认状态下调试符号不会被列出。 “ l” 选项会把源代码中对应的行号也列出 $ o 0000000 b 小文件体积。对于嵌入式系统,这个命令必不可少。 $ lh 50:51 $ s $ lh 50:59 发工具 经过 以使用 $ nm o 0000000 D 0000000 R 0000000 T 0000000 b 0000004 C 0000015 T U $ $ nm o no 发工具 $ nm 如果想显示文件名称,使用 “ f” 选项。 $ f o nm 开发工具 如果想显示整个文件中的字符串,使用 “ 选项。 $ a nm (0050901 (发工具 要用来反编译。 反汇编 $ d o of 00000000 : 0: 55 %: 89 %: 83 4 $0: 68 19 00 00 00 $0b: e8 fc ff ff 00: 83 0 $03: 1f: 开发工具 “ 选项显示动态重定向的入口。 $ R 080495_386_ _80495_386_ _80495_386_ _80495_386_ 80495_386_ 发工具 o O 发工具 提是这个可执行文件包括 调试符号 。 如果可执行文件中没有包括调试符号, :0。 最常用的选项是 “ 用来指定文件名和地址。 开发工具 $ o g $ nm 080483 U U e / 开发 编写程序(汇编 / 编写链接脚本; 编译、汇编程序文件,生产目标文件( 利用链接脚本链接目标文件,生产可执行文件( 利用格式转换工具 ( 烧写; 汇编行结构 标号 : 汇编语句 注释 标号 标号只能由 a z, A Z, 0 9, “ .” , _等字符组成; “ .” 标号 :特殊的标号,表示当前位置的运行地址 ; 注释 从符合开始到行结尾 # 整行注释 汇编程序中的分段 汇编系统预定义的段名 代码段 初始化数据段 未初始化数据段 自定义一个段 自定义段名 是两个编译器都能够识别 常量编译控制伪操作 汇编程序代码控制伪操作 宏及条件编译控制伪操作 其他伪操作 常量编译控制伪操作 汇编程序代码控制伪操作 宏及条件编译控制伪操作 其他伪操作 连接脚本文件 成; 目标代码中包含如下段: 包含程序的指令代码; 包含固定的数据,如常量、字符串; 包含未初始化的变量、数组等; 连接器的任务就是将多个目标文件的 连接脚本文件是告诉连接器从什么地址开始放置这些段。 连接脚本文件 链接脚本 内置缺省连接脚本: 如果采用缺省脚本,则生成的目标代码需要操作系统才能加载运行(操作系统上的应用程序采用缺省脚本)。 自定义链接脚本: 为了能在嵌入式系统上直接运行,需要编写自己的连接脚本文件。 连接脚本文

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论