永发信息网

什么是交叉编译环境

答案:1  悬赏:80  手机版
解决时间 2021-02-26 23:05
什么是交叉编译环境
最佳答案
问题一:交叉编译环境包括哪些工具,它的作用是什么 首先你要知道一个软件可能需要在多个CPU架构的平台上运行,如ARM架构,X86架构等等。
假设你要开发一个软件目标平台是ARM,那么你可以选择在PC上,即X86平台上进行开发,然后使用交叉编译工具把软件编译成ARM架构版本,然后才能在ARM上运行,如果只是用一般的编译工具链,那么只能编译在当前平台上运行。
至于编译工具链有哪些,具体要看你的开发平台和目标平台,会对应不同的编译工具。问题二:交叉编译环境的介绍 交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。问题三:交叉编译环境的定义 交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如 C代码)编译(compile)成计算机可以识别和执行的二进制代码。问题四:Linux下的交叉编译环境设置 交叉编译环境,指的是你在PC的操作系统上编译ARM上能运行的程序的编译环境。
说白了,你在PC的操作系统上要的arm-none-linux-gnueabi-gcc等这些工具
有一个网站上,交叉编译环境是直接安装后就可以用的
sourcery.mentor.com/...se1803
选择第一个IA32 GNU/Linux Installer 下载一个arm*.bin文件
把它放在Linux下(注在下边*表示通配符,视你下载的文件而定)
在终端中运行
chmod u+x arm*.bin
./arm*.bin
然后重启电脑
arm-none-linux-gnueabi-gcc --version
可以看看你的编译工具的版本信息问题五:如何搭建交叉编译环境 20分搭建linux交叉编译工具有以下几种:
使用crosstool-ng工具制作交叉编译工具链。http://www.cnblogs.com/leaven/archive/2010/10/12/1848439.html
直接安装ELDK www.cnblogs.com/...3.html
直接下载别人制作好的交叉编译工具链,然后安装即可 wenku.baidu.com/...PxI9BK
刚刚开始接触嵌入式开发的话,不建议自己制作,可以使用第二种或者第三种方法。
对于你说的第二个问题,解压仅仅是解压,还是自己编译,然后安装的。具体安装方法你可以查看tar文件解压出来的文件README.TXT.问题六:mcore的交叉编译环境怎么建立 建立针对arm的交叉编译开发环境为例来解说整个过程,其他的体系结构与这个相类似,只要作一些对应的改动。我的开发环境是,宿主机 i386-RedHat-7.2,目标机 arm。这个过程如下1. 下载源文件、补丁和建立编译的目录2. 建立内核头文件3. 建立二进制工具(binutils)4. 建立初始编译器(bootstrap gcc)5. 建立c库(glibc)6. 建立全套编译器(full gcc)问题七:如何为嵌入式开发建立交叉编译环境 下面我们将以建立针对arm的交叉编译开发环境为例来解说整个过程,其他的体系结构与这个相类似,只要作一些对应的改动。我的开发环境是,宿主机 i386-redhat-7.2,目标机 arm。
这个过程如下
1.下载源文件、补丁和建立编译的目录
2.建立内核头文件
3.建立二进制工具(binutils)
4.建立初始编译器(bootstrap gcc)
5.建立c库(glibc)
6.建立全套编译器(full gcc)
下载源文件、补丁和建立编译的目录
1.选定软件版本号
选择软件版本号时,先看看glibc源代码中的INSTALL文件。那里列举了该版本的glibc编译时所需的binutils 和gcc的版本号。例如在 glibc-2.2.3/INSTALL 文件中推荐 gcc 用 2.95以上,binutils 用 2.10.1 以上版本。
我选的各个软件的版本是:
linux-2.4.21+rmk2
binutils-2.10.1
gcc-2.95.3
glibc-2.2.3
glibc-linuxthreads-2.2.3
如果你选的glibc的版本号低于2.2,你还要下载一个叫glibc-crypt的文件,例如glibc-crypt-2.1.tar.gz。 Linux 内核你可以从www.kernel.org 或它的镜像下载。
Binutils、gcc和glibc你可以从FSF的FTP站点ftp://ftp.gun.org/gnu/ 或它的镜像去下载。 在编译glibc时,要用到 Linux 内核中的 include 目录的内核头文件。如果你发现有变量没有定义而导致编译失败,你就改变你的内核版本号。例如我开始用linux-2.4.25+vrs2,编译glibc-2.2.3 时报 BUS_ISA 没定义,后来发现在 2.4.23 开始它的名字被改为 CTL_BUS_ISA。如果你没有完全的把握保证你改的内核改完全了,就不要动内核,而是把你的 Linux 内核的版本号降低或升高,来适应 glibc。
Gcc 的版本号,推荐用 gcc-2.95 以上的。太老的版本编译可能会出问题。Gcc-2.95.3 是一个比较稳定的版本,也是内核开发人员推荐用的一个 gcc 版本。
如果你发现无法编译过去,有可能是你选用的软件中有的加入了一些新的特性而其他所选软件不支持的原因,就相应降低该软件的版本号。例如我开始用 gcc-3.3.2,发现编译不过,报 as、ld 等版本太老,我就把 gcc 降为 2.95.3。 太新的版本大多没经过大量的测试,建议不要选用。
回页首
2.建立工作目录
首先,我们建立几个用来工作的目录:
在你的用户目录,我用的是用户liang,因此用户目录为 /home/liang,先建立一个项目目录embedded。
$pwd
/home/liang
$mkdir embedded
再在这个项目目录 embedded 下建立三个目录 build-tools、kernel 和 tools。
build-tools-用来存放你下载的 binutils、gcc 和 glibc 的源......余下全文>>问题八:什么是交叉编译环境?mcs-51单片机的 交叉编译环境有哪两种 51单片机用keil软件编程,交叉编译就是在一个平台上生成另一个平台上的可执行代码问题九:linux交叉编译iPhone用什么交叉编译环境 iphone只能用xcode编译,否则无法提交到appstore.问题十:怎样交叉编译环境搭建 主机安装工具链: $tar –jxvf cross-3.3.2.tar.bz2 $./3.3.2/bin/arm-linux-gcc –v 会出现信息:”--prefix=/usr/local/arm/3.3.2” 这就是GCC应该安装的路径。它是在GCC编译前通过prefix选项配置的。 $mkdir –p /usr/local/arm $mv ./3.3.2 /usr/local/arm/ $export PATH=$PATH:/usr/local/arm/3.3.2/bin就可以直接使用arm-linux-gcc命令了。 我太傻了,上述就已经把交叉编译环境搭建好了!!(不用再额外glibc和bintils了。Cross本身已经包括了glibc和bintils,它是交叉工具链下载地址: ftp.arm.linux.org.uk/pub/armlinux/toolchain/ ) arm-linux-ar -r arm-linux-ar –s arm-linux-ranlib arm-linux-gcc arm-linux-objdump –a arm-linux-objdump -h arm-linux-objdump –d arm-linux-readelf –h arm-linux-readelf -e
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐几个学生叛逆、混社会的电影?
金立手机f303和金立GN3002那个好用?
楼栋、门市、小区内消防设施维护由谁负责
辐射4creation club怎么用
(-1)的101次方+1-根号1-根号2的平方求清楚的
建华建筑机械在哪里啊,我有事要去这个地方
陆风x8的车门不能关闭是什么原因
口袋妖怪漆黑的魅影怎么用轮船去神之领域
乌龟什么时候吃乌龟食?一次吃几粒?它要是不吃
榆林市横山区西南新区办我想知道这个在什么地
订婚对联加横批
【引咎自责】引咎自责是什么意思
比萨斜塔倾斜的真正原因是什么
盐城红星美凯龙
老虎坳在什么地方啊,我要过去处理事情
推荐资讯
用“勿忘我”取一个靓一点的LOL名字,可以加
剁手者联盟上的旺旺号怎么填写
畅安摩托车检测公司我想知道这个在什么地方
福建省公安厅交管总队厦门高速公路支队一大队
奶粉和西瓜能不能一起吃
拉布拉多猎犬可以吃鸡骨头吗?
华子良是不是《红岩》里的主角
瑞得在线红宝石网吧地址在哪,我要去那里办事
儿子挽留妈妈感动到哭的信
九阳抚州(老甘)专卖店地址有知道的么?有点事
描条小猪代餐肉棒瘦身多长时间见效
武骏实业在哪里啊,我有事要去这个地方
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?