虚拟机Ubuntu创建交叉编译环境(二)

来源:互联网 发布:多条sql语句一起执行 编辑:程序博客网 时间:2024/06/03 19:05

我用的是Vmware-workstation 6.0+注册破解,升级了!哈!

配置512内存,8.0G以上,网络:选择桥接Bridged

虚拟机的安装不需要说了吧!下载xubuntu-7.10-desktop-i386.iso,选择该光盘启动。

启动àF2(语言)àF3(键盘)à回车,进入光盘的ubuntu模式,进入后选择“安装”

****注:有可能安装的时候会有下不去的时候,一般都是内存小引起的,增加内存,或者安装虚拟机的时候window主机不要进行别的工作。要么删除,重新安装ubuntu.

有什么问题,欢迎jk_new@163.com

OK!安装好ubuntu之后,那么先上网吧,如果能上,那么就说明你的虚拟机安装是没有问题了,如果不能上,问题就比较多了,修改虚拟机安装后的注册表,然后自己再设置一下virturl network setting 吧,具体的也可以参考我的另外一篇文章,那里描述的就是不能使用bridged 桥接而使用NAT共享上网的,架设FTP来解决问题的笨方法。我觉得因为很不方便,因此直接重装了,顺便再重新配置一下开发环境了

几个命令:ifconfig eth0 192.168.1.*配置IP,或者直接虚拟机上配置成一个静态IP(推荐使用)

          ifconfig eth0 up /ifconfig eth0 down

可以上网可是头等大事,一般如果是全新安装的话,那么根据上述几个步骤,就可以上网了!

然后ubuntu默认的分辨率很高,改一下吧!下拉à设置à显示设定+用户界面首选项

也可以修改,/etc/X11/xong.conf 中在Section “Screen ”中加入

                                                                          SubSection “Display”

                                                                                    Depth 24

                                                                                    Modes “1024×7680”

EndSubSection

命令shutdown –r now

进入正题:如何建立完整的ubuntu嵌入式开发环境

修改源:安装 sudo apt-get install gedit

sudo cp /etc/apt/source.list /etc/apt/source.list.save

sodu vim /etc/apt/source.list修改其中有main的部分的源,电信建议使用ubuntu.cn99.com这个快

sudo apt-get update   注意啊!每次改过源后都要更新的,不然新立得也用不了

sudo apt-get dist-upgrade 全部升级更新啦!/你也可以使用下拉à系统à更新管理器  来更新

安装开发软件: 下拉à系统à新立得软件开发管理,例如automake,libtool,vmware tools等等,记得要刷新啊!

手动安装:Vmware tools

 tar –xzvf Vmtools.tar.gz  进入文件夹后执行,./vmware…pl运行,回车到底 OK!装好了!看你的鼠标是不是可以自由的移动了啊!呵呵!很爽吧!顺便设置VMàSetting设置共享文件夹,很重要!这样你就可以访问到/mnt/hgfs, very good!

设置Vim编译器

sudo apt-get install vim 这个很重要

cp /etc/vim/vimrc ~/.vimrc

vi ~/.vimrc

打开syntax on

set background =dark

set number

set incsearch

set showmatch

set nocompatible

 

 

安装交叉编译环境:

先安装标准的C开发环境

sudo apt-get install gcc g++ libgcc1 libg++ make automake gdb

接下来熟悉一下一点简单的编程小例子:

随便弄个例子:

include <stdio.h>

int main()

{

 

char *tmp=”hello world !”;

printf(“I wait to say :%s”,tmp);

return 0;

 

}

gcc –Wall –o program program.c

file program

或者加上Makefile

sudo vim Makefle

代码:OBJ=program.o

CC=gcc

Test: $(OBJ)

         $(CC)  -Wall –o test $(OBJ)

 

clean:

         rm –f *.o

 

OK!下面开始GDB调试技术工具使用学习:

test.c

#include <stdio.h>

#include <math.h>

 

int main(void)

{

const float Pi=3.1415926;

float R;

float S=0;

printf("Please input your Ridus:/n");

scanf("%f",&R);

if(R>0)

         {

                  S=Pi*R*R;

                  printf("The value of S is :%f/n",S);

         }

else

         printf("Sorry,Wrong input!!/n");

         return 0;

}

 

Makefile

CC=gcc

OBJ1=testgdb.o

 

test:$(OBJ1)

         $(CC) -Wall -o testgdb $(OBJ1)

testgdb.o:testgdb.c

         $(CC) -c testgdb.c

testgo:

         cp testgdb.c /mnt/hgfs/jk/

clean:

         rm  -f *.o

 

 

执行:sudo make 就可以了

调试 gcc –g –o testgdb testgdb.c

开始调试 gdb –g testgdb

查看源码用 list

运行run

设置断点 break linnumber

清除断点clear linnumber

查看变量值 例如上面:printf  S

不多说了,还有很多命令,结束kill

反汇编技术:

查看一下testgdb文件信息:readelf –h testgdb

readelf –S testgdb 可以查看段信息(程序保存,程序控制) 还有-l 查看section 头信息

readelf –s testgdb 符号表,列出了这个段内各个函数的符号表名称等

gcc –s testgdb.c 可以变成单个的汇编查看 cat testgdb.s

还有一个命令自己试试 nm –A a testgdb.o

 

接下来开始安装for ARM的调试环境

下载cross-2.95.3.tar.bz2(这个老了一点,不过能将就用吧,以后有空再试试其他的)

tar –jxvf cross-2.95.3.tar.bz2

查看./bin/arm-linux-gcc –v 可以知道安装路径/usr/local/arm 默认

mkdir –p /usr/local/arm

mv ./2.95.3/ /usr/local/arm

echo “export PATH=/usr/local/arm/bin:${PATH}” >>~/.bashrc

source ~/.bashrc

编译一下:uboot

我的:make distclean

make config_2440

make dep

make

 

至此完整的uboot开发环境已经结束。

后面是SVN或者CVS的开发环境的建立,为了linux内核的开发

http://wiki.ubuntu.org.cn/index.php?title=SubVersion&variant=zh-cn#SubVersion.E6.9C.8D.E5.8A.A1.E5.AE.89.E8.A3.85.E8.AE.BE.E7.BD.AE
原创粉丝点击