- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何构建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的开发环境:
安装虚拟机,这里我们采用的是vmware。
安装完毕后,运行vmware,打开已存在的虚拟机文件,并在虚拟机选项里调整内存、串口、以太网选项。详细步骤如下图所示:
vmware选项
点击vm-setting对虚拟机进行设置。
设置虚拟机
这里我们将内存设置为1GB,以太网设置为桥接(Bridged),串口如果有则关闭。在配置完毕后,运行REDHAT。
网络环境配置
配置网络,包括配置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中的设置如下:
安全级别配置
(4)samba服务器配置:
Samba服务器可以实现主机和虚拟机的文件共享,从而我们可以将需要安装的工具包从主机拷贝到虚拟机中进行安装。
Samba服务器设置步骤如下:
点击主菜单运行系统设置-服务器设置-Samba服务器,点击添加。在目录中填入要共享的文件夹的路径,这里我们设置为/home/share;在主机中填入允许进行连接的主机IP地址,这里我们填*,表示接受任意IP的连接;基本权限选择读写。然后点击确定。
(5)配置NFS:
NFS即网络文件系统,将此文件系统挂载到目标机的/mnt/nfs目录上,我们就可以在目标机中访问编译生成的可执行二进制文件。
NFS设置步骤如下:
点击主菜单运行系统设置-服务器设置-NFS服务器,点击添加。在目录中填入要共享的文件夹的路径,这里我们设置为/home/share;在
文档评论(0)