探究arm架构下使用Linux系统与gcc 5.2编译器的技巧 (arm linux gcc 5.2)

探究ARM架构下使用Linux系统与gcc 5.2编译器的技巧

随着嵌入式系统应用领域的不断发展,ARM架构已经成为嵌入式系统中最常用的处理器架构之一。在ARM架构下,如何使用Linux系统与gcc 5.2编译器进行开发,是嵌入式系统工程师们所必备的技能之一。本文将对ARM架构下使用Linux系统与gcc 5.2编译器进行开发的技巧进行探究。

一、ARM架构

ARM是Acorn RISC Machines(英国研究公司)的缩写,是一种精简指令集(RISC)处理器架构,最初是为Acorn电脑公司的电脑设计的。随后,由于其功耗低、性能高的特点,ARM架构被广泛应用于嵌入式系统中,成为嵌入式系统处理器架构的代表之一。目前,ARM架构已经成为移动终端、智能穿戴、智能家居等各种智能设备的处理器架构之一。

二、Linux系统

Linux是一种类UNIX操作系统,是由Linus Torvalds在1991年发起的一个自由软件项目。Linux操作系统具有开放源代码、组件丰富、稳定可靠等特点,成为了嵌入式系统中广泛应用的操作系统平台。Linux操作系统不仅支持ARM架构,还支持MIPS、PowerPC等多种芯片架构。而且,Linux操作系统内核源代码得到全球软件开发者的密切关注和参与,其更新速度非常快,容易移植,并且有强大的调试、分析工具。

三、gcc编译器

gcc是GNU Compiler Collection(GNU编译器)的缩写,是由自由软件基金会(Free Software Foundation)开发的一款C、C++、Objective-C、Fortran、Ada等语言的集成开发环境。gcc不仅仅是一个编译器,还包含了预处理器、汇编器、链接器等一系列的标准工具,可以帮助开发者实现从源代码到目标二进制文件的整个编译过程。GCC编译器具有易于移植、支持多种语言等特点,是嵌入式系统中广泛应用的编译器之一。

四、ARM架构下使用Linux系统和gcc编译器

1.准备工作

在进行ARM架构下的Linux系统和gcc编译器开发之前,需要准备一些必要的工具和环境,包括:

(1)ARM处理器开发板:ARM处理器开发板是我们的开发平台,需要根据不同的应用场景选择不同的ARM处理器开发板。

(2)交叉编译工具:由于ARM处理器和PC机器的指令集不同,因此需要使用交叉编译工具进行编译。常用的交叉编译工具有arm-linux-gcc等。

(3)TFTP服务器:TFTP服务器是用来传输固件等程序的服务器,通常用于开发板烧录程序。

(4)串口调试工具:使用串口调试工具可以通过串口与ARM处理器交互。

2.Linux系统开发

在ARM架构下使用Linux系统进行开发,需要向ARM处理器开发板中烧入Linux系统。我们可以从官网上下载适用于开发板的Linux内核。下载完成后,我们需要对内核进行配置,根据开发板的硬件特点进行适当的调整,然后进行编译、烧录。

3.gcc编译器使用

使用gcc编译器进行代码开发,需要首先进行交叉编译。例如,如果我们要在PC机器上编译ARM架构的应用程序,就需要使用arm-linux-gcc进行编译。在进行编译之前,需要配置编译环境。一般情况下,我们需要设置交叉编译工具路径、头文件路径、库文件路径等。除此之外,还需要根据开发板的不同进行一些特殊的配置。

4.调试技巧

在ARM架构下使用Linux系统和gcc编译器进行开发时,调试非常重要。我们可以使用gdb调试工具进行调试。gdb可以对正在运行的程序进行监视,并在发生错误时暂停程序的执行,然后让开发者检查程序的状态。此外,我们还可以使用printf()函数进行程序调试,将调试信息输出到串口上。

本文对于ARM架构下使用Linux系统与gcc 5.2编译器进行开发的技巧进行了探究。其中包括了准备工作、Linux系统开发、gcc编译器使用以及调试技巧等方面。作为嵌入式系统工程师,掌握这些技巧是非常重要的。相信通过本文的介绍,能够对嵌入式系统开发的同学起到一定的帮助作用。

相关问题拓展阅读:

Linux中Makefile文件中arm-linux-gcc后面的语句具体如何理解

arm-linux-gcc是linux下的交叉编译器,它是生成arm目标代码的

-g

是生成debug信息

-c

是只编译,不连接

-o

后面是输出文件名,也就是它会生成crt0.o

而arm-linux-ld是连接器

其中的

-Ttext

0x

表示代码的初始地址为 0x

所有的linux命令你都可以通过帆磨在它李轮后面加

–help

看它的用法的,如哪轿信

arm-linux-gcc

–help

如何建立Linux下的ARM交叉编译环境

最近有很多朋友在探讨关于建立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)

首先安装交叉编译器,百度“arm-linux-gcc”就可以一个编译器压缩包。

把压缩包放到linux系统中,解压,这样就算安装好了交叉编译器。

设置编者模译器环境变量,具体方式百度。如打开 /etc/bash.bashrc,添加刚才安装的编译器路径 export PATH=/home/。。。/4.4.3/bin:$PATH。这样是为了方便使用,用arm-linux-gcc即可,不然既要带全路径/home//bin/arm-linux-gcc,这样不方便使用。

编译c文件。和gcc编译相似,把gcc用arm-linu-gcc代替就是了。编译誉嫌销出来的就可以放到庆游arm上运行了。

从网上下载arm-linux-gcc

4.4.3的源码

进入Linux的终端,将当前目录设为arm-linux-gcc的下载目录,输入tar

-xzf

arm-linux-gcc-4.4.3.tar.gz,将文件解压,解压后会有一个opt的文件夹。

arm-linux-gcc交叉编译环境的安装

在/usr/local/下建立一个名为arm的文件夹,在终端中输入命令:cd

/usr/local/,回车,然后再输入命令:mkdir

arm,建立arm目录,并修改该文件夹的属性为rwx,输入命令:chmod

777

arm

arm-linux-gcc交叉编译环境的安装

将之前解压得到的opt文件压下的源码,复制到上一步中创建的arm文件夹下,在终端中输入命令:sudo

cp

-r

/opt/FriendlyARM/toolschain/4.4.3

/usr/local/arm

arm-linux-gcc交叉编译环境的安装

到这里已经基本安装好了,到为了避免每次使用arm-linux-gcc时都要输入它所在的完整路径,所以这里我们要修改一下环境变量$PATH。在终端中输入:sudo

gedit

/etc/profile,打开profile文备昌件,在最后一行加上“export

PATH=$PATH:/usr/local/arm/4.4.3/bin”然后保存文件。

arm-linux-gcc交叉编译环境的安装

arm-linux-gcc交叉编译仿枯扒环境的安装

立即使新的环境变量生效,输入:source

/etc/profile。再输入:echo

$PATH查看环境变量,如图。如果不成功,则直接重新启动系统,再查看。因为之前我已经安装过了,为了演示,所以图中会有两个/usr/local/arm/4.4.3/bin。

arm-linux-gcc交叉编译环境的安装

arm-linux-gcc交叉编译环境的安败友装

最后检查是否安装完成,输入:arm-linux-gcc

-v查看版本信息,如果出现以下信息,则说明安装成功。

arm-linux-gcc交叉编译环境的安装

arm linux gcc 5.2的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于arm linux gcc 5.2,探究arm架构下使用Linux系统与gcc 5.2编译器的技巧,Linux中Makefile文件中arm-linux-gcc后面的语句具体如何理解,如何建立Linux下的ARM交叉编译环境的信息别忘了在本站进行查找喔。


数据运维技术 » 探究arm架构下使用Linux系统与gcc 5.2编译器的技巧 (arm linux gcc 5.2)