嵌入式Linux开发环境课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式Linux开发环境课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 开发 环境 课件
- 资源描述:
-
1、第第7章嵌入式章嵌入式Linux开发环开发环境境2022-8-12第7章嵌入式Linux开发环境第1页,共28页。第7章 嵌入式Linux开发环境7.1 GNU Tools7.2 项目管理7.3 调试器第7章嵌入式Linux开发环境第2页,共28页。7.1 GNU ToolspGNU Tools综述pGCC 编译与链接pGCC 工具介绍pC语言库pELF文件格式第7章嵌入式Linux开发环境第3页,共28页。GNU Tools综述 GNU Tools是Linux环境下的开发工具,用于代码的生成。GNU Tools的重要组成部分是GCC。GCC 是GNU Compiler Collection
2、的缩写,是一个非常优秀的跨平台编译器集合,支持x86、ARM、MIPS 和PowerPC 等多种目标平台,支持C、C+、Java、ADA、Fortran 和Pascal 等多种高级语言。第7章嵌入式Linux开发环境第4页,共28页。GNU Tools综述文件类型扩展名文件说明文本文件*.c C语言源文件*.C/*.cxx/*.ccC+语言源文件*.i预处理后的C语言源文件*.ii预处理后的C+语言源文件*.s*.S汇编语言*.h头文件二进制文件.o目标文件.so动态库.a静态库第7章嵌入式Linux开发环境第5页,共28页。GNU Tools综述工具名称说明asGNU汇编器。用以将处理器的汇
3、编代码转换成可执行代码,并存储到目标文件.o文件中ldGNU链接器。用于将一个或多个目标文件.o、库组合成一个可执行程序;或者生成静态库和动态库。ar归档工具,可以将多个文件组合成一个大文件,并且可以读取原始文件的内容。stripe去除文件中的符号nm用以显示目标文件中的符号objectcopy转换二进制代码的工具objdump显示目标文件的反汇编工具readelf显示ELF文件中的各种信息string显示文件中的可打印字符ranlib产生归档文件的系引,并将其保存到归档文件中,系引同时列出归档文件各成员所定义的可重分配目标文件。addr2line可以将一个可执行程序的地址映射到源文件的对应行
4、。Gprof显示程序调用段的各种数据第7章嵌入式Linux开发环境第6页,共28页。GNU Tools综述 GNU Tools是Linux环境下的开发工具,用于代码的生成。GNU Tools的重要组成部分是GCC。GCC 是GNU Compiler Collection 的缩写,是一个非常优秀的跨平台编译器集合,支持x86、ARM、MIPS 和PowerPC 等多种目标平台,支持C、C+、Java、ADA、Fortran 和Pascal 等多种高级语言。第7章嵌入式Linux开发环境第7页,共28页。GNU Tools综述p 预处理预处理p 编译编译 p 汇编汇编p 链接链接第7章嵌入式Lin
5、ux开发环境第8页,共28页。GCC 编译与链接#gcc hello.c-o hello#./helloHello world!预处理#gcc-E hello.c-o hello.i编译和汇编#gcc-c hello.i-o hello.o链接#gcc hello.o-o hello一步完成:一步完成:分布完成:分布完成:/*hello.c */#include int main(void)printf(Hello world!n);return 0;第7章嵌入式Linux开发环境第9页,共28页。GCC 编译与链接一步完成:一步完成:#gcc foo1.c foo2.c-o foo源程序:源
6、程序:foo1.c foo2.c多步完成:多步完成:#gcc-c foo1.c-o foo1.o#gcc-c foo2.c-o foo2.o#gcc foo1.o foo2.o-o foo第7章嵌入式Linux开发环境第10页,共28页。归档工具ar ar 工具用于建立、修改、提取归档文件(archive)。一个归档文件是包含多个文件的单个文件(也可以把它认为是一个库文件),其结构保证了可以从中检索并得到原始的被包含文件(称做此归档文件的成员)。被包含的原始文件的内容、模式(权限)、时间戳、所有者和组等属性都保存在归档文件中,并且可在提取后,恢复原始文件的相关属性。ar-p mod relpo
7、s archive member.第7章嵌入式Linux开发环境第11页,共28页。移除符号工具strip strip工具用于去除文件中的符号。使用strip既可以移除目标中文件中的某个符号,也可以移除整个节。使用strip,至少要有一个输入文件,也可以输入一个文件列表。strip-F bfdname|-target=bfdname-I bfdname|-input-target=bfdname-O bfdname|-output-target=bfdname-s|-strip-all-S|-g|-d|-strip-debug-K symbolname|-keep-symbol=symboln
8、ame-N symbolname|-strip-symbol=symbolname-x|-discard-all -X|-discard-locals-R sectionname|-remove-section=sectionname-o file -p|-preserve-dates-v|-verbose -V|-version-helpobjfile.第7章嵌入式Linux开发环境第12页,共28页。列出文件符号工具nm nm工具的功能是列出目标文件中的符号,这样可以帮助程序员分析可执行程序,获得目标文件中的符号信息和它的属性。nm -a|-debug-syms -g|-extern-on
9、ly -B -C|-demangle -D|-dynamic -s|-print-armap -A|-o|-print-file-name -n|-v|-numeric-sort -p|-no-sort -r|-reverse-sort -size-sort -u|-undefined-only-t radix|-radix=radix -P|-portability -target=bfdname -f format|-format=format -defined-only -l|-line-numbers -no-demangle -V|-version -help object-file
10、.第7章嵌入式Linux开发环境第13页,共28页。目标文件复制工具objcopy objcopy工具用来把某种格式的目标文件内容进行转换,并输出为另一种格式的目标文件。objcopy使用GNU BFD库读写目标文件,通过这个BFD库,objcopy能够以一种不同于源目标文件的格式来生成目标文件。objcopy -F bfdname|-target=bfdname -I bfdname|-input-target=bfdname -O bfdname|-output-target=bfdname -S|-strip-all -g|-strip-debug -K symbolname|-keep
11、-symbol=symbolname -N symbolname|-strip-symbol=symbolname -L symbolname|-localize-symbol=symbolname -W symbolname|-weaken-symbol=symbolname -x|-discard-all -X|-discard-locals -b byte|-byte=byte -i interleave|-interleave=interleave -R sectionname|-remove-section=sectionname -p|-preserve-dates -debugg
展开阅读全文