嵌入式Linux编程入门与开发实例-第3章

嵌入式Linux编程入门与开发实例-第3章

ID:37330219

大小:708.60 KB

页数:77页

时间:2019-05-12

嵌入式Linux编程入门与开发实例-第3章_第1页
嵌入式Linux编程入门与开发实例-第3章_第2页
嵌入式Linux编程入门与开发实例-第3章_第3页
嵌入式Linux编程入门与开发实例-第3章_第4页
嵌入式Linux编程入门与开发实例-第3章_第5页
资源描述:

《嵌入式Linux编程入门与开发实例-第3章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第3章构建嵌入式Linux开发环境【学习目标】熟悉嵌入式系统开发环境的构建熟悉U-Boot的移植掌握嵌入式Linux操作系统内核编译第3章构建嵌入式Linux开发环境嵌入式系统开发环境的构建3.1U-boot的移植3.2嵌入式Linux操作系统内核编译3.3习题与练习3.43.1嵌入式系统开发环境的构建所谓交叉编译,就是利用运行在某台计算机(宿主机)上的编译器编译某个源程序,生成在另一台机器(目标机)上运行的目标代码的过程。使用交叉编译的原因主要有两个,一是目标平台所需要的Bootloader以及操作系统核心没有建立起来时,需要做交叉编译;二是一般目标板的资

2、源都比较有限,不具备一定的处理器能力和存储空间,需要有强大的宿主PC机为它完成大部分的调试编译任务。binutils:是一组二进制处理工具的集合,包括连接器,汇编器和其他用于目标文件和档案的工具。二进制工具binutils的主要工具介绍如下:addr2line:把程序地址转换为文件名和行号。在命令行中给它一个地址和一个可执行文件名,它就会使用这个可执行文件的调试信息指出在给出的地址上是哪个文件以及行号。ar:建立、修改、提取档案文件。档案文件是包含多个文件内容的一个大文件,其结构保证了可以恢复原始文件内容。as:主要用来编译GNUC编译器gcc输出的汇编文件

3、,产生的目标文件由连接器ld连接。c++filt:连接器使用它来过滤C++和Java符号,防止重载函数冲突。gprof:显示程序调用段的各种数据。ld:是连接器,它把一些目标和归档文件结合在一起,重定位数据,并链接符号引用。通常,建立一个新编译程序的最后一步就是调用ld。nm:列出目标文件中的符号。objcopy:把一种目标文件中的内容复制到另一种类型的目标文件中.objdump:显示一个或者更多目标文件的信息。使用选项来进行控制。ranlib:产生归档文件索引,并将其保存到这个归档文件中。在索引中列出了归档文件各成员所定义的可重分配目标文件。readelf

4、:显示ebf格式可执行文件的信息。size:列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。size:列出目标文件每一段的大小以及总体的大小。默认情况下,对于每个目标文件或者一个归档文件中的每个模块只产生一行输出。strings:打印某个文件的可打印字符串,这些字符串最少4个字符长,也可以使用选项-n设置字符串的最小长度。默认情况下,它只打印目标文件初始化和可加载段中的可打印字符;对于其它类型的文件它打印整个文件的可打印字符,这个程序对于了解非文本文件的内容很有帮助。strip:丢弃目标文件中的

5、全部或者特定符号。libiberty:包含许多GNU程序都会用到的函数,这些程序有:getopt,obstack,strerror,strtol和strtoul等。libbfd:二进制文件描述库。libopcodes:用来处理opcodes的库,在生成一些应用程序的时候也会用到它。windres:一个windows资源的编译器。GCC:工具是编译程序的最为主要的工具。GCC包括以下几个主要的工具:Cpp:C预处理器。g++:C++编译器。gcc:C编译器。gccbug:创建bug报告的Shell脚本。gcov:分析在程序中哪里做优化效果好。libgcc*:g

6、cc的运行库。libstdc++:标准C++库,包含许多常用函数。libsupc++:提供支持C++语言的库函数。Glibe:是提供系统调用和基本函数的C库,比如open(),malloc(),printf()等等。所有动态连接的程序都要用到它。Glibc中主要有以下程序:catchsegv:当程序发生segmentationfault的时候,用来建立一个堆栈跟踪。gencat:建立消息列表。getconf:针对文件系统的指定变量显示其系统设置值。getent:从系统管理数据库获取一个条目。glibcbug:建立glibc的bug报告并且发送到bug报告的邮

7、件地址。iconv:转化字符集。iconvconfig:建立快速读取的iconv模块所使用的设置文件。ldconfig:设置动态链接库的实时绑定。ldd:列出每个程序或者命令需要的共享库。lddlibc4:辅助ldd操作目标文件。locale:是一个Perl程序,可以告诉编译器打开或关闭内建的locale支持。localedef:编译locale标准。nscd:提供对常用名称设备调用的缓存的守护进程。nscd_nischeck:检查在进行NIS+侦查时是否需要安全模式。pcprofiledump:打印PCprofiling产生的信息。pt_chown:是一个

8、辅助程序,帮助grantpt设置子虚拟终端的属主,用

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

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

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