- 1、本文档共68页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第11章 Linux操作系统基础
第11章Linux操作系统基础 11.1嵌入式Linux的开发环境 11.1.1交叉开发概述 用于开发和调试目标板上所用到的操作系统、应用程序等所有软件。这种在宿主机上开发程序、在目标板上运行程序的方式,通常就叫做交叉开发 目标板(Target)可以是嵌入式应用软件的实际运行环境,当然也可以是替代实际环境的仿真系统(如软件模拟器)。 宿主机(Host)通过串口、网络连接或调试接口(如JTAG仿真器)与目标机通信。宿主机的软硬件资源比较丰富,其操作系统主要有Windows和Linux两种,其上用于开发程序的那套软件工具,通常叫做开发工具链。 11.1.2桌面Linux的开发工具链 GNU 开发工具链( toolchain )主要包括GNU Compiler Collection 、 GNU libc 以及用来编译、测试和分析软件的GNU binutils 三个大的模块。 11.1.3嵌入式Linux的交叉开发工具链 基于ARM平台的交叉工具链,这里将其目标平台名为arm-linux-gnu,比如arm-linux-gcc、arm-linux-gdb等。 分步构建交交叉开发工具链的整个过程: 1.下载源代码 到相关的网站下载包括binutils、gcc、glibc(如)及linux(如)内核的源代码.注意:glibc和内核源代码的版本必须与目标机上实际使用的版本保持一致. 11.1.3嵌入式Linux的交叉开发工具链 2.建立环境变量 声明以下环境变量的目的是在之后编译工具库的时候用到,很方便输入,尤其是可以降低输错路径的风险。 3.配置、安装binutils inutils是GNU工具之一,它包括连接器、汇编器和其他用于目标文件和档案的工具,它是二进制代码的维护工具。安装Binutils工具包含的程序有addr2line、ar、as、c++filt、gprof、ld、mm、 objcopy、ranlib、 readelf、size、strings、strip、libiberty、libbfd和libopcodes。 11.1.3嵌入式Linux的交叉开发工具链 4. 配置linux内核头文件 编译器需要通过系统内核的头文件来获得目标平台所支持的系统函数调用所需要的信息。对于LINUX内核,最好的方法是下载一个合适的内核,然后复制获得头文件。 首先执行make mrproper进行清理工作。 接下来执行make config ARCH=arm(或make menuconfig/xconfig ARCH=arm)进行配置. 11.1.3嵌入式Linux的交叉开发工具链 5. 第一次编译gcc 完成此过程需要执行三个步骤,分别如下: (1)修改t-linux下的内容 (2)配置gcc (3)编译、安装gcc 11.1.3嵌入式Linux的交叉开发工具链 6. 交叉编译glibc 这一步骤生成的代码是针对目标机cpu的,因此它属于一个交叉编译过程。该过程要用到linux内核头文件,默认路径为$PREFIX/arm- linux/sys-linux,因而需要在$PREFIX/arm-linux中建立一个名为sys-linux的软连接,使其内核头文件所在的 include目录. 或者也可以在接下来要执行的configure命令中使用--with-headers参数指定linux内核头文件的实际路径。 11.1.3嵌入式Linux的交叉开发工具链 7. 第二次编译gcc 由于第一次安装的gcc没有交叉glibc支持,现在已经安装了glibc,所以需要重新编译来支持glibc。 到此为止整个交叉开发工具链就完全生成了。 11.2 桌面Linux的安装 11.2.1双操作系统环境 一般会用到两个桌面操作系统,即linux和windows操作系统,其中Linux主要有Redhat/Fedora、Suse、Mandrake等发行版本 Windows 与Linux 的双重启动 为Linux操作系统准备硬盘空间 11.2.2 Cygwin模拟环境 Cygwin是GNU的开发人员为了能将Linux系统下一些应用移植到Windows环境下而开发的一套中间移植工具即模拟环境。安装完成后,就是Windows下的一个目录,而里面又提供了Linux操作系统环境。 11.2.3 VMware虚拟机环境 VMware workstation是VMware公司设计的专业虚拟机,可以在Windows平台上为几乎任何的其他操作系统提供虚拟运行环境。顾名思义,只要物理主机的内存、CPU等配置足够,就可以在Windows平台上,再“虚拟
您可能关注的文档
最近下载
- 5辨证论治痛经【30页】.pptx
- 35-预应力混凝土铁路桥简支梁产品生产许可证实施细则-编号.PDF
- 人教版高中生物选择性必修2全册课件.pptx
- 全国各省份城市列表-可vlookup版.xls VIP
- 自考马克思主义基本原理概论总结最全03709 .docx VIP
- 肿瘤患者腹泻的症状护理ppt.pptx
- 高中地理教研组工作计划2025(5篇) .pdf VIP
- Unit 6 A Day in the Life 综合素质评价2024-2025学年度 人教版(2024)英语七年级上册.doc VIP
- 中国文化概论(第四版)第五章.pptx
- 通信原理课设2FSK数字信号频带传输系统的设计与建模.pdf
文档评论(0)