简易折叠轮椅:Ubuntu下使用Eclipse编译、调试嵌入式程序的方法

来源:百度文库 编辑:偶看新闻 时间:2024/04/29 09:30:36
风之书XuBing的技术博客

Ubuntu下使用Eclipse编译、调试嵌入式程序的方法(上)

/************************************************

转载请注明出处:

风之书:http://xubing.cnblogs.com

************************************************/

这篇文章将分成3部分:

第一步:安装arm-linux-gcc

第二步:安装、配置Eclipse

第三步:编译、配置GDB Server & GDB Client

 

下面开始讲解第一步的操作:

第一步:安装arm-linux-gcc

      首先,我们需要下载一个arm-linux-gcc.这是用来编译arm上的程序所需的编译器。我使用的是4.3.2版的arm-linux-gcc。下载后,进入存放该文件的目录,将该文件解压缩。

命令如下:

 

tar  xvzf ./arm-linux-gcc-4.3.2.tgz –C /

注意:C 后面有个空格,并且 C 是大写的,也就是改变目录到根目录/进行解压缩操作。

 

      默认情况下,arm-linux-gcc会被解压到/usr/local/arm/4.3.2/目录中,其中,可执行文件存储在/usr/local/arm/4.3.2/bin中。解压成功后,我们需要修改环境变量,使得Linux可以找到arm-linux-gcc。使用gedit打开/etc/environment,在原有语句后面加上/usr/local/arm/4.3.2/bin。

我的/etc/environment是这样的:

 

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"

注意:Linux中有3个级别的环境变量。这个/etc/environment是其中级别较高的一个。

 

      如果我们修改私有的环境变量,Eclipse会提示无法找到arm-linux-gcc。必须修改/etc/environment,才能让Eclipse找到arm-linux-gcc。我猜测这是由于Eclipse运行于JAVA虚拟机上造成的。

      至此,arm-linux-gcc就已经安装完成了,注销一下,再重新登录。打开一个终端,在里面输入arm-linux-gcc -v,如果返回了版本信息的话,就说明arm-linux-gcc安装成功了!

风之书XuBing的技术博客

Ubuntu 下使用Eclipse编译、调试嵌入式程序的方法(中)

/************************************************

转载请注明出处:

风之书:http://xubing.cnblogs.com

************************************************/

这篇文章将分成3部分:

第一步:安装arm-linux-gcc

第二步:安装、配置Eclipse

第三步:编译、配置GDB Server & GDB Client

 

下面开始讲解第二步的操作:

第二步:安装、配置Eclipse

 

打开http://www.eclipse.org/downloads/,下载Eclipse IDE for C/C++ Developers

注意: Eclipse的网站比较智能,它会根据你的操作系统来为你选择下载的软件版本。如果你用windows打开这个网址,就会下到windows版的eclipse。

 下完之后,解压就能用了~很简单。但是,现在我们的Eclipse还只能编译PC机的程序。

接下来,我们要为Eclipse添加交叉编译功能。

常规的方法是建一个GCC工程,然后把工程属性里的gcc改成arm-linux-gcc。

这里,我介绍一种新的方法:

我们可以在下面的这个网址找到一个GNU ARM Eclipse Plug-in,这是一个eclipse的插件,装上这个插件之后,eclipse就能够编译ARM程序了。

http://sourceforge.net/projects/gnuarmeclipse/

相对于前面说的那种常规方法而言,使用这个插件来实现交叉编译,可以看到更多的细节设置、选项。

打开那个网页后,先别急着点击Download按钮~我们点view all files按钮,在里面可以看到一个README。里面写着:

 

The recommended way is to use the Eclipse standard update mechanism:
Help -> Software Updated -> Available Software -> Add Site
    http://gnuarmeclipse.sourceforge.net/updates
(be sure you uncheck 'Group items by category' and later accept
the unsigned plug-in)
The alternate solution to the online site is to download the archive
from SourceForge and to to point the Eclipse update mechanism to it
(Help -> Software Updated -> Available Software -> Add Site -> Archive).

 

我们还是按照这个recommended way来做吧。

打开Eclipse,点击Help。呃……居然没有Software Updated这个选项……

呵呵,不要慌,我们可以在Window->Preferences->Available Software同样的功能。

点击Add,把网址加上,然后Help->Install new software,在Work with后面填入这个网址网址:http://gnuarmeclipse.sourceforge.net/updates,然后把Group items by category取消。

如下图:

 

点击Next安装这个插件。安装完后,重启eclipse,新建一个工程,此时就可以看到ARM的toolchain了。如下图所示:

 

然后,我们选择ARM Cross Target Application中的Empty Project,并选择ARM Linux GCC来建立一个C语言工程。

默认情况下,GNU ARM Eclipse Plug-in会按照无操作系统的执行环境来配置工程。我的开发板上已经有了Linux,所以我需要修改一下设置。

首先,我们删除一些不需要的编译工具。进入Project->Properties,选择C/C++ Builder下的 Tool Chain Editoer。

我不记得原先有哪些编译工具了,总之,我选了下图中的这几个:

然后在Setting中选择你的CPU类型,我的是S3C2440属于ARM920t,设置如下图:

另外,还需要设置各个工具的Command。如下图:

最后,选择ARM Linux GCC C Linker下面的General,把所有的选项都取消。如下图:

至此,设置就全部完成了。你可以用这个工程写一个Hello World传到板子上去试一试~

我把这个工程命名为Template,以后需要新建工程的时候直接Copy它,再改名就行了~

风之书XuBing的技术博客

Ubuntu 下使用Eclipse编译、调试嵌入式程序的方法(下)

/************************************************

转载请注明出处:

风之书:http://xubing.cnblogs.com

************************************************/

这篇文章将分成3部分:

第一步:安装arm-linux-gcc

第二步:安装、配置Eclipse

第三步:编译、配置GDB Server & GDB Client

 

下面开始讲解第三步的操作:

第三步:编译、配置GDB Server & GDB Client

 

首先在http://ftp.gnu.org/gnu/gdb/下载GDB的源代码,解压到/usr/local/arm-gdb/中。

编译GDB

 

 cd gdb-7.1
./configure --target=arm-linux --prefix=/usr/local/arm-gdb
make
make install

 

如果出现如下错误:

configure: error: no termcap library found
make[1]: *** [configure-gdb] 错误 1
make[1]:正在离开目录 `/usr/local/arm-gdb/gdb-7.1'
make: *** [all] 错误 2

 

则说明需要下载安装一个libncurses5-dev。

用apt-get install libncurses5-dev命令下载安装后再执行make就可以了。

 

然后编译GDB Server

 

cd ./gdb/gdbserver
export PATH=$PATH:/usr/local/arm-gdb/bin
./configure --target=arm-linux --host=arm-linux
make CC=arm-softfloat-linux-gnu-gcc

 

如果你不想自己编译gdbserver,或者编译出现问题,也可以在我这儿下一个:

http://files.cnblogs.com/xubing/gdbserver.zip

 

打开Eclipse,按照下图配置Debug的选项:

其中,192.168.1.200是我的板子的IP,1234是调试时使用的端口。

 

现在,将需要调试的可执行文件于gdbserver一起传到板子上。

在目标板上运行gdbserver

gdbserver 192.168.1.123:1234 foo其中192.168.1.123是远程主机的IP,1234是目标板使用的端口。foo是要调试的可执行文件。
这时候,gdbserver会开始监听。然后我们点击Eclipse中的Debug按钮,Eclipse就会使用GDB去连接板子的1234端口。
后面的过程就和调试本地程序一样了。