交叉编译环境调试
1. 如何构建交叉编译环境。
你说的是我下面的回答吗?下面就一些问题作一个说明,以期抛砖引玉。
基于linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主PC机来完成(所以称为交叉编译)。双方之间一般通过串口,并口或以太网接口建立连接关系。
但在此我建议构建如下的交叉编译环境,适合个人或研发小组使用:单独拿出一台PC机(PII以上即可,就用以前淘汰的旧机器就可以),在该PC上安装桌面的Linux操作系统(如Red Hat Linux 8.0及以上),可以采用默认的安装选项(注意要包含ftp服务),这台PC作为Linux服务器,除管理员以外,一般不直接让其他人去操作。
将该Linux服务器接入局域网,并新建一些合法用户,以便其他的PC机(在此我们将其称为工作站)的合法用户能访问到Linux服务器。而其他的PC机(工作站)仍然使用Windows操作系统,原来干啥继续干啥。
需要的软件工具包括:
1、FTP客户端程序(如Cuteftp,可到网上下载)。
2、Telnet工具(如SecureCRT,可到网上下载)。
3、移植到某一特定ARM平台的Linux操作系统内核源码(一般由销售商整理提供)。
4、GNU编译工具,可由相关网站下载,或由销售商整理提供。
在工作站安装:
在某工作站PC上安装FTP客户端程序和Telnet工具,安装完毕后应该可以在该工作站PC和Linux服务器之间进行文件的传输,并在工作站PC可以通过Telnet登陆到Linux服务器(可能需要将Linux服务器的防火墙服务关闭才能完成)。
在Linux服务器安装:
将工作站PC上的Linux操作系统内核源码压缩包和GNU编译工具通过FTP传送到Linux服务器的某个目录(如合法的用户目录),然后在该目录下解压,并将GNU编译工具安装到默认的工作目录即可,以上工作通过在工作站PC使用Telnet工具完成,而不需要在Linux服务器上进行。
Linux操作系统内核的编译:
Linux操作系统内核的编译一般有一个比较固定的步骤,会根据MakeFile文件的不同而略有差异,可参考相关文档,编译的工作在工作站PC使用Telnet工具完成。
2. 建立交叉编译环境需要配置哪些服务
基于Linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主PC机所构成。目标硬件开发板用于运行操作系统和系统应用软件。
这种情况下,在 ARM 平台上进行本机编译就不太可能了,这是因为一般的编译工具链(compilation tool chain)需要很大的存储空间,并需要很强的 CPU 运算能力。为了解决这个问题,交叉编译工具就应运而生了。

比如,我们在 Windows 平台上,可使用 Visual C++开发环境,编写程序并编译成可执行程序。这种方式下,我们使用 PC 平台上的 Windows 工具开发针对 Windows 本身的可执行程序,这种编译过程称为 native compilation,中文可理解为本机编译。
然而,在进行嵌入式系统的开发时,则不能直接编译。运行程序的目标平台通常具有有限的存储空间和运算能力,比如常见的 ARM 平台,其一般的静态存储空间大概是 16 到 32 MB,而 CPU 的主频大概在 100MHz 到 500MHz 之间。
3. 关于arm-linux交叉编译环境
arm-linux-gcc 是gcc下面用来针对arm板子时编译用的,你认为哪个好呢?
4. 求助:qt在linux下,嵌入式交叉编译环境配置
第一步,你需要下载QT源代码(4.8的编译比较容易),然后通过 ./configure (参数自己定,不懂看readme)接下来就是在QT CREATE里面配置了,如下: 工具-->选项--->构建和运行 1. 编译器: 点击添加: "名称"随意 "编译器路径" **/arm-none-linux-gnueabi-g...
5. 嵌入式系统开发为什么要采用交叉编译的方式
由于宿主机和目标机的体系结构不同,在宿主机X86平台上可以运行的程序在目标机ARM平台上无法运行,因此嵌入式软件开发采用交叉编译方式在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就是将程序转化成运行该程序的CPU所能识别的机器代码。
进行交叉编译的主机称为宿主机,也就是普通的通用计算机,宿主机系统资源丰富,使用方便地集成开发环境和调试工具等。
程序实际运行的环境称为目标机,也就是嵌入式系统环境。
6. qt交叉编译调试环境的搭建有没有人搬过来
您最初的想法是正确的,x86平台的库放在电脑上即可。
而通过arm-linux-交叉编译工具链编译过的库,是需要放在
开发板的文件系统里面的,通用的做法一般是放在/lib或者/usr/lib
目录里面即可。或者也可放在其他目录中,但是需要配置一下LD_LIBRARY_PATH
环境变量。例如放在/home/qtlib目录中,由于这个不是系统默认的动态库目录,
需要设置环境变量LD_LIBRARY_PATH,在/etc/profile下面添加:
export LD_LIBRARY_PATH=/home/qtlib:$LD_LIBRARY_PATH
7. 什么是交叉编译环境
交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。
交叉编译这个概念的出现和流行是和嵌入式系统的广泛发展同步的。我们常用的计算机软件,都需要通过编译的方式,把使用高级计算机语言编写的代码(比如 C代码)编译(compile)成计算机可以识别和执行的二进制代码。
8. 如何在ubuntu下搭建qt交叉编译环境
第一步,你需要下载QT源代码(4.8的编译比较容易),然后通过 ./configure (参数自己定,不懂看readme)接下来就是在QT CREATE里面配置了,如下:
工具-->选项--->构建和运行
1. 编译器: 点击添加: "名称"随意
"编译器路径" **/arm-none-linux-gnueabi-g++
找到你的编译器,我这里是用ARM的
其他不填也行.
2.Qt Versions: 点击添加:找到通过源码编译好的qmake文件. 例如:/usr/local/Qt-4.8.6/bin/qmake
3.构建套件: 点击添加: "名称"随意, 重点是 "编译器"跟"QT版本", 分别选择刚刚添加的两项.
调试器:如果是桌面环境那就选桌面的, 如果是在嵌入式中的,那不要也可以..
如果是交叉编译,那只能编译,不能运行...
9. 嵌入式系统的开发模式怎样什么是交叉编译和远程调试
嵌入式系统的开发模式,它包括了很多的内容,很多的方面交叉编辑和远程调试的。
10. 什么是交叉编译环境
交叉编译(cross-compilation)是指,在某个主机平台上(比如PC上)用交叉编译器编译出可在其他平台上(比如ARM上)运行的代码的过程。
