如何构建ARM交叉开发环境

如何构建ARM交叉开发环境
交叉开发环境基本概念
常⽤的编程调试⽅法有集成调试环境ICE+ADS仿真调试和利⽤Linux的交叉调试,两者的主要区别是前者可以在没有嵌⼊式操作系统的情况下进⾏软、硬件调试,⽽后者必须建⽴在⽬标板上已经可以运⾏嵌⼊式操作系统的基础上进⾏软、硬件调试。这⾥我们主要介绍第⼆种⽅法。
嵌⼊式系统的开发与通常PC机上的软件开发相⽐,⼀个很⼤的不同是前者通常没有⾜够的资源在本机(开发板系统)上运⾏开发⼯具和调试⼯具。通常的嵌⼊式系统的软件开发采⽤⼀种叫交叉编译调试的⽅式。交叉编译调试环境建⽴在宿主机(PC)上,对应的开发板叫⽬标板。
开发是使⽤宿主机上的交叉编译、汇编及链接⼯具形成可执⾏的⼆进制代码。交叉编译的含义也就是在PC(通常为X86架构)上编译针对其他种类的处理器的代码(如ARM)。这样⽣成的⼆进制代码通常只能在⽬标机上执⾏。调试的⽅法有很多,可以使⽤串⼝或以太⽹⼝等。这⾥我们采取通过以太⽹⼝将⽣成的⼆进制代码下载到⽬标机,然后执⾏的⽅式。
GNU编译器、调试器基本概念
GCC是GNU项⽬的C编译器套件,事实上GCC已不再是单纯的C编译器,⽽是⼀套编译⼯具,可以⽀持
多种不同的语⾔。Gcc 是基于命令⾏的。我们应对其基本⽤法有所了解。
Gcc命令基本⽤法是:gcc [选项][⽂件名]
Gcc的编译选项很多,⼤家只需要掌握常⽤的⼏个选项,更多的内容可以查看gcc的帮助⽂档。
海布圣地城Gcc的编译过程⼀共分为四个阶段:
预处理
编译
汇编
链接
程序员可以在编译的任何阶段结束后停⽌这个编译过程以检查编译器在该阶段的输出信息。
Gcc常⽤的命令选项:
-o [⽂件名] :指定输出⽂件名。
-
c:只编译不连接如来神掌之宇宙争雄
-I DIRNAME:将DIRNAME加⼊到头⽂件的搜索⽬录列表中
-L DIRNAME:将DIRNAME加⼊到库⽂件的搜索⽬录列表中
-l X:链接名为libX的函数库
步骤
嵌⼊式Linux开发环境有⼏个⽅案:
1、基于PC机WINDOWS操作系统下的CYGWIN.
2、在WINDOWS下安装虚拟机后,再在虚拟机中安装Linux操作系统。
3、直接在PC上安装操作系统。
由于基于Windows的环境容易产⽣兼容性有问题,这⾥我们采⽤第⼆种⽅式,即:Vmware+RedHat9.0.
电磁炮原理接下来我们开始构建Linux的开发环境:
(1)安装虚拟机,这⾥我们采⽤的是vmware。
(2)安装完毕后,运⾏vmware,打开已存在的虚拟机⽂件,并在虚拟机选项⾥调
整内存、串⼝、以太⽹选项。详细步骤如下图所⽰:
vmware选项
点击vm-setting对虚拟机进⾏设置。
设置虚拟机
这⾥我们将内存设置为1GB,以太⽹设置为桥接(Bridged),串⼝如果有则关闭。在配置完毕后,运⾏REDHAT。
(3)⽹络环境配置
配置⽹络,包括配置IP地址、宿主机防⽕墙。⽹络配置主要是配置以太⽹卡,⼀般REDHAT可以⾃动识别,⽤户不需要参与。因为我们要把⽂件从主机拷贝到虚拟机中,还要将可执⾏⼆进制代码拷贝到⽬标板中,因此三者的IP要设置在统⼀的⽹段内。这⾥我们采⽤如下设置:
主机IP设置成:192.168.1.10;对于PC,可以在⽹络连接,查看本地连接,本地连接属性⾥⾯设置IP。
虚拟机IP设置成:192.168.1.11;对于虚拟机,运⾏终端,输⼊如下命令并回车:ifconfig eth0 192.168.1.11
⽬标板IP设置成:192.168.1.12.;对于⽬标板,可以在PC上先运⾏超级终端。波特率为115200,数据位为8位,停⽌位为1,⽆奇偶校验,软
硬件流控设为⽆。同样输⼊命令并回车:
ifconfig eth0 192.168.1.12(配置IP)
默认⽹关均为:192.168.1.255
为使⽤samba服务器和nfs服务,我们还需关闭虚拟机和主机的防⽕墙。
REDHAT中的设置如下:
麦博m800安全级别配置
(4)samba服务器配置:
Samba服务器可以实现主机和虚拟机的⽂件共享,从⽽我们可以将需要安装的⼯具包从主机拷贝到虚拟机中进⾏安装。Samba服务器设置步骤如下:
点击主菜单运⾏系统设置->服务器设置->Samba服务器,点击添加。在⽬录中填⼊要共享的⽂件夹的路径,这⾥我们设置
为/home/share;在主机中填⼊允许进⾏连接的主机IP地址,这⾥我们填*,表⽰接受任意IP的连接;基本权限选择读写。然后点击确定。
(5)配置NFS:
NFS即⽹络⽂件系统,将此⽂件系统挂载到⽬标机的/mnt/nfs⽬录上,我们就可以在⽬标机中访问编译⽣成的可执⾏⼆进制⽂件。
NFS设置步骤如下:
点击主菜单运⾏系统设置->服务器设置->NFS服务器,点击添加。在⽬录中填⼊要共享的⽂件夹的路径,这⾥我们设置
为/home/share;在主机中填⼊允许进⾏连接的主机IP地址,这⾥我们填*,表⽰接受任意IP的连接;基本权限选择读写。然后点击确定。
NFS基本设置
以下是其常规选项设置:
客户端存取服务器的⼀些其他设置
(6)开发环境配置
开发环境配置可以分成三步:
第⼀步,安装开发⼯具。对立与统一
通过上述第(5)⼩节,现在我们可以⽤Samba服务器将要安装的⼯具包拷贝到虚拟机共享的⽂件夹中。步骤如下:
在主机上按住win+R,弹出运⾏对话框,输⼊:\\192.168.1.11
在弹出的对话框中输⼊⽤户名:bc;密码:123456,并将提供的270⽂件夹拷贝到share⽂件夹中。
在虚拟机中运⾏终端。输⼊如下命令:
cd /home/share/270
chmod +x install.sh
./install.sh
其中install.sh是⼀个shell脚本⽂件,运⾏后即可将我们需要安装的交叉编译⼯具包安装到虚拟机中。
安装完成后,我们需要验证⼀下是否安装成功,可以运⾏命令:arm-linux-gcc 并回车,如显⽰没有输⼊⽂件,则表⽰安装成功。如果未能安装成功,可以查看根⽬录是否有/up-techpxa270cl,如有,则可以查看~/.bashrc是否有下⾯内容:
长江上游
/up-techpxa270cl/arm-linux-tools/gcc-3.4.6-glibc-2.3.6/arm-linux/bin
如果没有则添加;
或者可以删掉⽬录/up-techpxa270cl,重新运⾏install.sh。
⾄此,我们已将开发环境安装完毕。
(7)测试开发环境
在虚拟机终端中输⼊下⾯命令:
cd /home/share
touch hello.c

本文发布于:2024-09-25 08:19:04,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/264569.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:编译   安装   交叉   开发
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议