交叉编译环境的配置与使用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
m ake
make install 以上就构 建 好 了 一 套 自 己 的 交 叉 编 译 环 境 , 目 录 在 / usr/ local/my _ crosscomp iler下 ,你可以把它打包拷贝到其它的 L inux系统下也能使用 。 四 、环境的使用 1. 要使用此交叉编译环境请先加上 PATH环境变量 : export PATH = / usr/ local /my_crosscomp iler/ bin: $PATH 2. 使用配置好的 gcc工具时要加参数 - nostartfiles,这样就不会使用本 地机器的启动文件 ,如果不加那编译生成的文件不能在目标机器上运行 ; 可以自己写目标机器的启动文件 。 Gcc的使用方式例如 : m ip s - elf - gcc - c filename. c - g - nostartfiles 。 3. 接时需要指定入口 ,此参数跟目标系统有关 ,使用方式如 : m ip s - elf - ld - o filename filename. o ———entry = my _ main -
Ttext 0x80000000. 其中的 filename是生成的可执行文件名 ,参数 ———entry = my_main -
Ttext 0x80000000就是程序的入口 ,地址是 0x80000000。 参考文献 : [1]http: / /www. objsw. com /CrossGCC / CrossGCC Frequently A sked Ques2 tions
交叉编译 环境配置 使用方法
一 、引言
表 2 外部目标名以及其作用说明表
本文分为三个部分 :第一个部分 ,详细地介绍环境配置前应该知道的
信息 ,使以后的配置工作能顺利进行 ,避免在这个方面浪费时间和精力 ;第
二个部分 ,给出了一个详细的统一通用的环境配置方案 ,所需的软件包及
出处 ,以及配置时应该注意的地方 ,这些注意事项是正确配置环境的保障 ,
4. 强化网络环境下图书馆信息资源的增值服务 提高信息的使用价值 ,要提供信息本身的价值 ,有偿服务与无偿服务 结合 ,提高服务质量 ,社会效益与经济效益并举 ,图书馆要通过服务 ,满足 社会的需求 ,提高服务的技术含量 ,扩大服务的效果和服务的能力 ,使人们 在网络和信息时代离不开图书馆的服务 。图书馆要利用自己占有信息资 源 ,快速进行信息加工的能力的优势 ,利用网络环境 ,对电子资源进行浓度 分析与重组 ,提供信息增值服务 。图书馆服务人员要掌握信息源 ,了解信 息资源分布状况 ,信息网络的分布 ,熟悉网上信息机构 ,更好地组织网上信 息 ,为读者服务 。 5. 开展数字化服务 开展数字化信息服务是现代图书馆发展的必然要求 。首先 ,数字化信 息需求将会构成今后读者信息要求的主体 。读者可以在任何地方 、任何时
2. 配置环境前应该知道的条件
(1)当前系统信息 :包括开发平台的内核版本 ,可执行工具的版本比如
gcc, ld, as等 ,还有系统所使用的函数库等等 。
(2) build / host/ target的含义和关系
当交叉编译时 ,至少要处理两个系统 ,一个是 build系统 ,用它来生成 交叉工具 ;另Leabharlann Baidu个是 target系统 ,交叉工具为这个系统产生代码 ; host系统 , 交叉工具在这个系统上运行 。通常 build系统和 host系统是相同的 。
os。’
cd / usr/ local/ src /
(3)字节序 : 字节序分为低地址高字节序 ( big endian)和低地址低字节
tar xzvf linux - 3 . tar. gz
序 ( little endian) , 不同的 CPU 上运行不同的操作系统 ,字节序也是不同的 。 (4)指令集 :每一个 cpu都有自己的指令集 ,在环境配置前最好知道所
m ake
make install ②对 TARGET是除 3 - linux以外的 cd / usr/ local/ src / tar xzvf newlib - 3 . tar. gz cd newlib - 3 / mkdir mynewlib 注 :对于高版本的 newlib,必须建立一个新的目录 ,否则不能执行后面 的操作 ,这样有利于保护源代码
制 ,比如 gcc是否必须 3. 2版本以上等等 。
序 ,“Generate big endian code”选中是高序 ,不选是低序 。
三 、环境的配置
1. 系统配置程序 configure (1)系统配置程序 configure的作用 ①接受用户的安装参数和选项 ; ②设置系统缺省配置 ; ③处理配置参 数 ; ④建立目标系统后端文件与逻辑文件名之间的链接 ,使编译系统能正 确地在目标平台上生成 ; ⑤在模板文件 Makefile. in中插入和修改与配置参 数有关的信息 ,生成目标平台上的 Makefile文件 ; ⑥生成 config. status文件 , 记录本次安装的配置信息 。 (2)在 configure中几项重要的配置参数的含义
表 1 只用于交叉编译的参数表
make dep mkdir - p / usr/ local/my_crosscomp iler/ 3 - linux / include 在安装目录中新建一个目录 cp - r / usr/ local/ src / linux/ include / asm - 目标 / 3 \ / usr/ local/my_crosscomp iler/ TARGET/ include / asm cp - r / usr/ local / src / linux / include / linux / usr/ local/my _ crosscomp iler/ TARGET/ include / 将生成的头文件拷贝到安装目录中. (3)编译 binutils,生成一组建立可执行程序的工具 ,主要包括 ld和 as 等程序 。 export PATH = / usr/ local /my_crosscomp iler/ bin: $PATH
商 情 教育经济研究
学术论坛
交叉编译环境的配置与使用
◆胡 丽
随着嵌入式系统的不断发展 ,对交叉编译环境的配置和使用越来越广泛 ,但因为各个厂家的产品不同 ,所需要的环境也不同 ,给 环境的配置造成了难度 ,还有就是尽管环境配置好了 ,但不知道如何使用 。本文给出一个统一通用的环境配置方案 ,并给出其使用方法 。
[2]http: / /www. debian. org /ports/m ip s/ debian - m ip s and debian - m ip sel (作者单位 :江苏南京市幼儿高等师范学校 )
(上接第 185页 )个性化推荐服务 ,不但根据读者的特性提供具有针对性的 信息 ,而且还能通过对读者专业特征 、研究兴趣的智能分析而主动向读者 推荐其可能需要的信息 ;三是个性化知识决策服务 。即利用数据仓库 、数 据挖掘 、知识提取 、人工智能等技术对信息内容进行深加工 ,向读者提供能 够用于决策支持 、智能查询 、科学研究 、解决问题的策略 。这是数字图书馆 个性化信息服务的发展趋势 。开展个性化信息服务还必须注重对读者信 息需求的获取和分析 。读者的信息可以从读者的注册和调查记录 、流通和 借阅记录 、参考咨询留档 、馆际互借记录 、电话和邮件服务情况 、电子数据 库的使用等统计和分析中得来 。基于大量读者的各自不同的信息需求 ,应 对集成化信息进行高效率的过滤 ,即进行“信息分流 ”,从而提高个性化信 息服务的质量和效率 。
能节约大量的时间 ;第三个部分 ,环境配置好后 ,如何正确地使用它就变得
非常重要 ,本文给出了所配环境的使用方法 。
二 、环境配置的准备工作
1. 何谓交叉编译
程序是在一台计算机上编译 ,然后再分布到将要使用的其他计算机
上 。当主机系统 (运行编译器的系统 )和目标系统 (产生的程序将在其上运
行的系统 )不兼容时 ,该过程就叫做交叉编译 。
tar xzvf . . / glibc - linuxthreads - 3 . tar. gz . / configure ———host = TARGET ———p refix = / usr/ local/ my_crosscomp il2 er ———enable - add - ons = linuxthreads 这是几个基本的参数 ,针对不同的环境还有其它的参数可以使用 ,参 考各项配置参数的含义以决定使用哪些参数
m ake
make install ( 5)编译 newlib或 glibc 提供系统调用和基本工具函数库 。现在可以使用刚才建立的 binutils 和 gcc来编译目标的库了 。 ①对 TARGET是 3 - linux cd / usr/ local/ src / tar xzvf glibc - 3 . tar. gz cd glibc - 3 / 注 :一定要先进入 glibc - 3 目录再执行下一个步骤 ,否则不能得到正 确的结果
cd / usr/ local/ src /
tar xzvf binutils - 3 . tar. gz
2. 系统生成程序 Makefile 系统提供的外部目标名以及其作用说明 (见表 2) : 3. 环境的配置过程 ( 1 )准备环境 目标平台 : TARGET
cd binutils - 3 / . / configure ———target = TARGET ———p refix = / usr/ local/my_ crosscom2 p iler m ake make install ( 4)编译自举的 ( bootstrap) gcc
安装目录 : / usr/ local/my_crosscomp iler 源代码安装目录 : / usr/ local/ src ( 2 )准备目标环境的头文件 要使用目标的头文件定义才能正确编译目标的交叉编译工具 ,这些头 文件都在 kernel源程序中 ,下面就是生成目标环境的头文件的操作 。
当 host和 target相同时为本地编译而不是交叉编译 ,如果想生成交叉 编译工具 ,必须通过 —target参数来指定目标 ,如 —target = 3 - 3 - 3 ,第 一个 3 表示 ‘target_cpu’,第二个 3 表示 ‘target_vendor’,第三个 3 表示 ‘target_
cd / usr/ local/ src / tar xzvf gcc - core - 3 . tar. gz cd gcc - core - 3 / . . / configure ———target = TARGET ———p refix = / usr/ local/my_crosscom2 p iler 这是两个基本的参数 ,针对不同的环境还有其它的参数可以使用 ,参 考各项配置参数的含义以决定使用哪些参数
. . / configure ———target = TARGET ———p refix = / usr/ local/my_crosscom2 p iler
m ake
make install (6)重新编译完整的 gcc
cd / usr/ local/ src / tar xzvf gcc - 3 . tar. gz cd gcc - 3 / . / configure ———target = TARGET ———p refix = / usr/ local/my_ crosscom2 p iler 这是几个基本的参数 ,针对不同的环境还有其它的参数可以使用 ,参 考各项配置参数的含义以决定使用哪些参数
142
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
商 情 教育经济研究
学术论坛
因为这时还没有目标库可以使用 , 只能编译一个最简单的 gcc, 用该 gcc编译出库后就可以再编译一个完整的 gcc了 。
cd linux/ make ARCH =目标 menuconfig
配系统的指令集 ,这样才能正确使用系统的指令 。
注 :在 menuconfig的“CPU selection”中 ,选你实际的目标平台的 CPU 类
(5)所选软件包的版本限制 : 根据所配环境的要求决定是否有版本限 型 ;在 menuconfig的“General setup”中 , 根据你的环境需要选择低序还是高
make install 以上就构 建 好 了 一 套 自 己 的 交 叉 编 译 环 境 , 目 录 在 / usr/ local/my _ crosscomp iler下 ,你可以把它打包拷贝到其它的 L inux系统下也能使用 。 四 、环境的使用 1. 要使用此交叉编译环境请先加上 PATH环境变量 : export PATH = / usr/ local /my_crosscomp iler/ bin: $PATH 2. 使用配置好的 gcc工具时要加参数 - nostartfiles,这样就不会使用本 地机器的启动文件 ,如果不加那编译生成的文件不能在目标机器上运行 ; 可以自己写目标机器的启动文件 。 Gcc的使用方式例如 : m ip s - elf - gcc - c filename. c - g - nostartfiles 。 3. 接时需要指定入口 ,此参数跟目标系统有关 ,使用方式如 : m ip s - elf - ld - o filename filename. o ———entry = my _ main -
Ttext 0x80000000. 其中的 filename是生成的可执行文件名 ,参数 ———entry = my_main -
Ttext 0x80000000就是程序的入口 ,地址是 0x80000000。 参考文献 : [1]http: / /www. objsw. com /CrossGCC / CrossGCC Frequently A sked Ques2 tions
交叉编译 环境配置 使用方法
一 、引言
表 2 外部目标名以及其作用说明表
本文分为三个部分 :第一个部分 ,详细地介绍环境配置前应该知道的
信息 ,使以后的配置工作能顺利进行 ,避免在这个方面浪费时间和精力 ;第
二个部分 ,给出了一个详细的统一通用的环境配置方案 ,所需的软件包及
出处 ,以及配置时应该注意的地方 ,这些注意事项是正确配置环境的保障 ,
4. 强化网络环境下图书馆信息资源的增值服务 提高信息的使用价值 ,要提供信息本身的价值 ,有偿服务与无偿服务 结合 ,提高服务质量 ,社会效益与经济效益并举 ,图书馆要通过服务 ,满足 社会的需求 ,提高服务的技术含量 ,扩大服务的效果和服务的能力 ,使人们 在网络和信息时代离不开图书馆的服务 。图书馆要利用自己占有信息资 源 ,快速进行信息加工的能力的优势 ,利用网络环境 ,对电子资源进行浓度 分析与重组 ,提供信息增值服务 。图书馆服务人员要掌握信息源 ,了解信 息资源分布状况 ,信息网络的分布 ,熟悉网上信息机构 ,更好地组织网上信 息 ,为读者服务 。 5. 开展数字化服务 开展数字化信息服务是现代图书馆发展的必然要求 。首先 ,数字化信 息需求将会构成今后读者信息要求的主体 。读者可以在任何地方 、任何时
2. 配置环境前应该知道的条件
(1)当前系统信息 :包括开发平台的内核版本 ,可执行工具的版本比如
gcc, ld, as等 ,还有系统所使用的函数库等等 。
(2) build / host/ target的含义和关系
当交叉编译时 ,至少要处理两个系统 ,一个是 build系统 ,用它来生成 交叉工具 ;另Leabharlann Baidu个是 target系统 ,交叉工具为这个系统产生代码 ; host系统 , 交叉工具在这个系统上运行 。通常 build系统和 host系统是相同的 。
os。’
cd / usr/ local/ src /
(3)字节序 : 字节序分为低地址高字节序 ( big endian)和低地址低字节
tar xzvf linux - 3 . tar. gz
序 ( little endian) , 不同的 CPU 上运行不同的操作系统 ,字节序也是不同的 。 (4)指令集 :每一个 cpu都有自己的指令集 ,在环境配置前最好知道所
m ake
make install ②对 TARGET是除 3 - linux以外的 cd / usr/ local/ src / tar xzvf newlib - 3 . tar. gz cd newlib - 3 / mkdir mynewlib 注 :对于高版本的 newlib,必须建立一个新的目录 ,否则不能执行后面 的操作 ,这样有利于保护源代码
制 ,比如 gcc是否必须 3. 2版本以上等等 。
序 ,“Generate big endian code”选中是高序 ,不选是低序 。
三 、环境的配置
1. 系统配置程序 configure (1)系统配置程序 configure的作用 ①接受用户的安装参数和选项 ; ②设置系统缺省配置 ; ③处理配置参 数 ; ④建立目标系统后端文件与逻辑文件名之间的链接 ,使编译系统能正 确地在目标平台上生成 ; ⑤在模板文件 Makefile. in中插入和修改与配置参 数有关的信息 ,生成目标平台上的 Makefile文件 ; ⑥生成 config. status文件 , 记录本次安装的配置信息 。 (2)在 configure中几项重要的配置参数的含义
表 1 只用于交叉编译的参数表
make dep mkdir - p / usr/ local/my_crosscomp iler/ 3 - linux / include 在安装目录中新建一个目录 cp - r / usr/ local/ src / linux/ include / asm - 目标 / 3 \ / usr/ local/my_crosscomp iler/ TARGET/ include / asm cp - r / usr/ local / src / linux / include / linux / usr/ local/my _ crosscomp iler/ TARGET/ include / 将生成的头文件拷贝到安装目录中. (3)编译 binutils,生成一组建立可执行程序的工具 ,主要包括 ld和 as 等程序 。 export PATH = / usr/ local /my_crosscomp iler/ bin: $PATH
商 情 教育经济研究
学术论坛
交叉编译环境的配置与使用
◆胡 丽
随着嵌入式系统的不断发展 ,对交叉编译环境的配置和使用越来越广泛 ,但因为各个厂家的产品不同 ,所需要的环境也不同 ,给 环境的配置造成了难度 ,还有就是尽管环境配置好了 ,但不知道如何使用 。本文给出一个统一通用的环境配置方案 ,并给出其使用方法 。
[2]http: / /www. debian. org /ports/m ip s/ debian - m ip s and debian - m ip sel (作者单位 :江苏南京市幼儿高等师范学校 )
(上接第 185页 )个性化推荐服务 ,不但根据读者的特性提供具有针对性的 信息 ,而且还能通过对读者专业特征 、研究兴趣的智能分析而主动向读者 推荐其可能需要的信息 ;三是个性化知识决策服务 。即利用数据仓库 、数 据挖掘 、知识提取 、人工智能等技术对信息内容进行深加工 ,向读者提供能 够用于决策支持 、智能查询 、科学研究 、解决问题的策略 。这是数字图书馆 个性化信息服务的发展趋势 。开展个性化信息服务还必须注重对读者信 息需求的获取和分析 。读者的信息可以从读者的注册和调查记录 、流通和 借阅记录 、参考咨询留档 、馆际互借记录 、电话和邮件服务情况 、电子数据 库的使用等统计和分析中得来 。基于大量读者的各自不同的信息需求 ,应 对集成化信息进行高效率的过滤 ,即进行“信息分流 ”,从而提高个性化信 息服务的质量和效率 。
能节约大量的时间 ;第三个部分 ,环境配置好后 ,如何正确地使用它就变得
非常重要 ,本文给出了所配环境的使用方法 。
二 、环境配置的准备工作
1. 何谓交叉编译
程序是在一台计算机上编译 ,然后再分布到将要使用的其他计算机
上 。当主机系统 (运行编译器的系统 )和目标系统 (产生的程序将在其上运
行的系统 )不兼容时 ,该过程就叫做交叉编译 。
tar xzvf . . / glibc - linuxthreads - 3 . tar. gz . / configure ———host = TARGET ———p refix = / usr/ local/ my_crosscomp il2 er ———enable - add - ons = linuxthreads 这是几个基本的参数 ,针对不同的环境还有其它的参数可以使用 ,参 考各项配置参数的含义以决定使用哪些参数
m ake
make install ( 5)编译 newlib或 glibc 提供系统调用和基本工具函数库 。现在可以使用刚才建立的 binutils 和 gcc来编译目标的库了 。 ①对 TARGET是 3 - linux cd / usr/ local/ src / tar xzvf glibc - 3 . tar. gz cd glibc - 3 / 注 :一定要先进入 glibc - 3 目录再执行下一个步骤 ,否则不能得到正 确的结果
cd / usr/ local/ src /
tar xzvf binutils - 3 . tar. gz
2. 系统生成程序 Makefile 系统提供的外部目标名以及其作用说明 (见表 2) : 3. 环境的配置过程 ( 1 )准备环境 目标平台 : TARGET
cd binutils - 3 / . / configure ———target = TARGET ———p refix = / usr/ local/my_ crosscom2 p iler m ake make install ( 4)编译自举的 ( bootstrap) gcc
安装目录 : / usr/ local/my_crosscomp iler 源代码安装目录 : / usr/ local/ src ( 2 )准备目标环境的头文件 要使用目标的头文件定义才能正确编译目标的交叉编译工具 ,这些头 文件都在 kernel源程序中 ,下面就是生成目标环境的头文件的操作 。
当 host和 target相同时为本地编译而不是交叉编译 ,如果想生成交叉 编译工具 ,必须通过 —target参数来指定目标 ,如 —target = 3 - 3 - 3 ,第 一个 3 表示 ‘target_cpu’,第二个 3 表示 ‘target_vendor’,第三个 3 表示 ‘target_
cd / usr/ local/ src / tar xzvf gcc - core - 3 . tar. gz cd gcc - core - 3 / . . / configure ———target = TARGET ———p refix = / usr/ local/my_crosscom2 p iler 这是两个基本的参数 ,针对不同的环境还有其它的参数可以使用 ,参 考各项配置参数的含义以决定使用哪些参数
. . / configure ———target = TARGET ———p refix = / usr/ local/my_crosscom2 p iler
m ake
make install (6)重新编译完整的 gcc
cd / usr/ local/ src / tar xzvf gcc - 3 . tar. gz cd gcc - 3 / . / configure ———target = TARGET ———p refix = / usr/ local/my_ crosscom2 p iler 这是几个基本的参数 ,针对不同的环境还有其它的参数可以使用 ,参 考各项配置参数的含义以决定使用哪些参数
142
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
商 情 教育经济研究
学术论坛
因为这时还没有目标库可以使用 , 只能编译一个最简单的 gcc, 用该 gcc编译出库后就可以再编译一个完整的 gcc了 。
cd linux/ make ARCH =目标 menuconfig
配系统的指令集 ,这样才能正确使用系统的指令 。
注 :在 menuconfig的“CPU selection”中 ,选你实际的目标平台的 CPU 类
(5)所选软件包的版本限制 : 根据所配环境的要求决定是否有版本限 型 ;在 menuconfig的“General setup”中 , 根据你的环境需要选择低序还是高