如何建立Linux交叉编译环境

如何建立Linux交叉编译环境,第1张

最近有很多朋友在探讨关于建立Linux交叉编译环境的问题,下面就一些问题作一个说明,以期抛砖引玉。

基于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工具完成。

按固定的步骤编译内核完成以后,会在相应目录生成可执行的二进制文件,通过FTP将该可执行的二进制文件传回工作站PC,然会再通过ADS或SDT下的烧写工具写入开发板的Flash即可。

(T004)

编译器:GCC编译器可以用来编译C和C++源程序,C编译器通过文件的后缀来判断是C程序还是C++程序。一般来说C源文件的后缀为“.C”,而C++源文件的后缀为“.C”或“C++”。

但GCC编译器只能编译C++源程序,不能与使用的库连接,因此用G++来完成C++程序的编译与连接,该程序会自动调用GCC来编译。

Linux里环境变量的设置,有如下几种方法:

(1)直接在终端里输入export 后面加要设的变量,例如QT:

Export QTDIR=$PWD/qt-2.3.2

其中,pwd是用来显当前路径的命令,在其前面加上$,则表示QT的目标目录在当前目录下的“qt-2.3.2”里,当然“$PWD”也可以用绝对路径来代替。这种方法所设的环境变量在下次开机后不再有效,而且换个shell也不会有效,只是临时的。

(2)在etc/profile里添加环境变量,比如:

export QTDIR=/usr

export LD_LIBRARY_PATH=$QTDIR/lib

export QT_QWS_FONTDIR=$QTDIR/lib/fonts

export QWS_DISPLAY="LinuxFb:/dev/fb0"

(3)修改.bashrc, 如果需要给某个用户权限使用这些环境变量,只需修改其个人用户家目录下的.bashrc文件就可以了。

(4)用以上面两种方法设置好环境变量后记得重启

以上使用QT为例

主要是参考这两篇文章

https://raamdev.com/2008/howto-install-md5sum-sha1sum-on-mac-os-x/

https://blog.csdn.net/nanzhanfei/article/details/121951919

https://gitee.com/mirrors/git-lfs?_from=gitee_search

路径可能有改变


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/yw/5891224.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-05
下一篇2023-03-05

发表评论

登录后才能评论

评论列表(0条)

    保存