ubuntu 8.04中skyeye仿真项目的开发环境的建立
2008-05-17 21:40
351 查看
网上流传很多文章,但大多数重复杂乱。致使我浪费了好多时时间。
为此,记录我整个安装过程,一来方便自已,二来方便大家。
好了,不罗嗦了,正文开始:
1.在ubuntu中安装skyeye最简单不过,一个命令搞定:
sudoapt-getinstallskyey
安装完成后运行skeye,显示如下:
****************************WARNING**********************************
IfyouwanttorunELFimage,youshoulduse-eoptiontoindicate
yourelf-formatimagefilename.Oryouonlywanttorunbinaryimage,
youneedtosetthefilenameoftheimageanditsentryinskyeye.conf.
***********************************************************************
big_endianisfalse.
Failedtoopenskyeyeconfigfileskyeye.confinthesamedirectory
error:Nosuchfileordirectory
-------------------------SkyEye-V1.2---------------------------
Usage:SkyEye[options]-eprogram[programargs]
DefaultmodeisSTANDALONEmode
------------------------------------------------------------------
Options:
-eexec-filethe(ELFexecutableformat)kernelfilename.
-lload_address,load_address_mask
LoadELFfiletoanotheraddress,notitsentry.
-bspecifythedatatypeisbigendianwhennon"-e"option.
-dinGDBServermode(canbeconnectedbyGDB).
-cconfig-filetheskyeyeconfigurefilename.
-hTheSkyEyecommandoptions,andARCHsandCPUssimulated.
------------------------------------------------------------------
-----------ArchitecturesandCPUssimulatedbySkyEye-------------
--------ARMarchitectures---------
at91
lpc
s3c4510b
s3c44b0x
s3c44b0
s3c3410x
ep7312
lh79520
ep9312
cs89712
sa1100
pxa_lubbock
pxa_mainstone
at91rm92
s3c2410x
s3c2440
sharp_lh7a400
ns9750
lpc2210
ps7500
integrator
--------BlackFinarchitectures----
bf533
出现此界面说明安装成功.
网上有人总是提问,说:不是出现这个界面说明安装不正常吗,只有出现这个界面时才是安装成功能:
GNUgdb5.0
Copyright2000FreeSoftwareFoundation,Inc.
GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouare
welcometochangeitand/ordistributecopiesofitundercertainconditions.
Type"showcopying"toseetheconditions.
ThereisabsolutelynowarrantyforGDB.Type"showwarranty"fordetails.
ThisGDBwasconfiguredas"--host=i686-pc-linux-gnu--target=arm-elf".
(gdb)
这纯粹是误人子弟.我刚开如也以为安装不成功,找了好多文章.发现并没有人去解这个问题.后来仔细看了skeyey的相关资料,发现这是正常现象.一些人只是断章取义,才有此说,希望大家注意。
2.下载skyeye-binary-testutils-1.2.0进行测试:
我以我的测试过程为例:
在$HOME目录下新建一个文件夹:mkdirskyeye_test
然后解压skyeye-binary-testutils-1.2.0.里面有好多bincode.
选择/skyeye-binary-testutils-1.2.0/at91x40/uclinux1
运行$skyeye,出现如下界面,是不是很cool:
Welcometo
______
/__|||_|
__||||_________
|||||||||_/||||////
||_|||__||||||||_||//
|___/____|_||_|_||_|/____|/_//_/
||
|_|
GDB/ARMulatorsupportby<davidm@snapgear.com>
Forfurtherinformationcheck:
http://www.uclinux.org/
Command:/bin/ifconfigeth0up10.0.0.2
ExecutionFinished,Exiting
3.接下来安装crosstoolchain.安装文件比较难下载.
uclinux网站的速度简直是牛速.
我是在以下网站下载的,速度还可以,大家可发试一试:
http://opensrc.sec.samsung.com/download.html
下载后,运行:
sudosh./arm-uclinux-tools-base-gcc3.4.0-20040713.sh
可能会出现错误,只需修改一下即可.
tail+${SKIP}${SCRIPT}|bunzip2|tarxvf-
修改为:
tail-n+${SKIP}${SCRIPT}|bunzip2|tarxvf-
默认安装完后,已在系统命令search路径.
在shell中输入arm-elf-,按TAB,应会出现选择提示:arm-efl-g++,arm-elf-gcc.
说明安装完成一大步.
接下来测试crosstoolchain是否能够正常编译.
转其它网友的,我试过了,是可以的.
先写一个小程序hello.c
srccode代码:
然后执行:
arm-elf-gcc-Wl,-elf2flt-ohellohello.c
-elf2flt参数是将elf文件格式转为flat文件格式,这个工具是在你安装交叉编译器产生的。
或者你可以写个Makefile文件,执行:
make
这里是我的Makefile文件,仅供参考:
makefile代码:
如果编译通过,就会产生hello可执行文件。用下面的命令:
filehello
你会发现,它是BFLT(binaryFLAT),你目标平台所支持的文件格式。
这里,我们将借助genromfs这个小工具来完成测试,这个工具就是你在安装交叉编译器时产生的,你可以直接使用它。
到http://gro.clinux.org/projects/skyey...-1.0.4.tar.bz2
包:
//================================
我试过此链接不可用,不过ubuntu用可直接sudo来安装.
//================================
tarjxvfskyeye-binary-testutils-1.0.4.tar.bz2
cdtestsuits/at91/uclinux2(当然你还可以用别的)
mkdirromfs(建一个目录,后面用)
mount-oloopboot.rom/mnt/xxx
cp-r/mnt/xxx/*romfs
另外,把你编译好的可执行程序拷贝到/romfs/bin目录里,这里就是hello了!
genromfs-fboot.rom-dromfs/
注:可以用genromfs-h来获得帮助!
OK!执行下面的命令:
skyeyelinux
(skyeye)targetsim
(skyeye)load
(skyeye)run
kernelstart.....
很熟悉了吧。。。
cd/bin
hello
可以看到结果了吗?
其实到了这一步,你就可以开发自己的程序了!
/************************************************************/
为此,记录我整个安装过程,一来方便自已,二来方便大家。
好了,不罗嗦了,正文开始:
1.在ubuntu中安装skyeye最简单不过,一个命令搞定:
sudoapt-getinstallskyey
安装完成后运行skeye,显示如下:
****************************WARNING**********************************
IfyouwanttorunELFimage,youshoulduse-eoptiontoindicate
yourelf-formatimagefilename.Oryouonlywanttorunbinaryimage,
youneedtosetthefilenameoftheimageanditsentryinskyeye.conf.
***********************************************************************
big_endianisfalse.
Failedtoopenskyeyeconfigfileskyeye.confinthesamedirectory
error:Nosuchfileordirectory
-------------------------SkyEye-V1.2---------------------------
Usage:SkyEye[options]-eprogram[programargs]
DefaultmodeisSTANDALONEmode
------------------------------------------------------------------
Options:
-eexec-filethe(ELFexecutableformat)kernelfilename.
-lload_address,load_address_mask
LoadELFfiletoanotheraddress,notitsentry.
-bspecifythedatatypeisbigendianwhennon"-e"option.
-dinGDBServermode(canbeconnectedbyGDB).
-cconfig-filetheskyeyeconfigurefilename.
-hTheSkyEyecommandoptions,andARCHsandCPUssimulated.
------------------------------------------------------------------
-----------ArchitecturesandCPUssimulatedbySkyEye-------------
--------ARMarchitectures---------
at91
lpc
s3c4510b
s3c44b0x
s3c44b0
s3c3410x
ep7312
lh79520
ep9312
cs89712
sa1100
pxa_lubbock
pxa_mainstone
at91rm92
s3c2410x
s3c2440
sharp_lh7a400
ns9750
lpc2210
ps7500
integrator
--------BlackFinarchitectures----
bf533
出现此界面说明安装成功.
网上有人总是提问,说:不是出现这个界面说明安装不正常吗,只有出现这个界面时才是安装成功能:
GNUgdb5.0
Copyright2000FreeSoftwareFoundation,Inc.
GDBisfreesoftware,coveredbytheGNUGeneralPublicLicense,andyouare
welcometochangeitand/ordistributecopiesofitundercertainconditions.
Type"showcopying"toseetheconditions.
ThereisabsolutelynowarrantyforGDB.Type"showwarranty"fordetails.
ThisGDBwasconfiguredas"--host=i686-pc-linux-gnu--target=arm-elf".
(gdb)
这纯粹是误人子弟.我刚开如也以为安装不成功,找了好多文章.发现并没有人去解这个问题.后来仔细看了skeyey的相关资料,发现这是正常现象.一些人只是断章取义,才有此说,希望大家注意。
2.下载skyeye-binary-testutils-1.2.0进行测试:
我以我的测试过程为例:
在$HOME目录下新建一个文件夹:mkdirskyeye_test
然后解压skyeye-binary-testutils-1.2.0.里面有好多bincode.
选择/skyeye-binary-testutils-1.2.0/at91x40/uclinux1
运行$skyeye,出现如下界面,是不是很cool:
Welcometo
______
/__|||_|
__||||_________
|||||||||_/||||////
||_|||__||||||||_||//
|___/____|_||_|_||_|/____|/_//_/
||
|_|
GDB/ARMulatorsupportby<davidm@snapgear.com>
Forfurtherinformationcheck:
Command:/bin/ifconfigeth0up10.0.0.2
ExecutionFinished,Exiting
3.接下来安装crosstoolchain.安装文件比较难下载.
uclinux网站的速度简直是牛速.
我是在以下网站下载的,速度还可以,大家可发试一试:
下载后,运行:
sudosh./arm-uclinux-tools-base-gcc3.4.0-20040713.sh
可能会出现错误,只需修改一下即可.
tail+${SKIP}${SCRIPT}|bunzip2|tarxvf-
修改为:
tail-n+${SKIP}${SCRIPT}|bunzip2|tarxvf-
默认安装完后,已在系统命令search路径.
在shell中输入arm-elf-,按TAB,应会出现选择提示:arm-efl-g++,arm-elf-gcc.
说明安装完成一大步.
接下来测试crosstoolchain是否能够正常编译.
转其它网友的,我试过了,是可以的.
先写一个小程序hello.c
srccode代码:
#include<stdio.h>
intmain
(
void
)
{
inti
;
for(
i
=
0
;
i
<
6
;
i
++){
printf
(
"i=%d"
,
i
);
printf
(
"Hello,embeddedlinux!/n"
);
}
return
0
;
}
然后执行:
arm-elf-gcc-Wl,-elf2flt-ohellohello.c
-elf2flt参数是将elf文件格式转为flat文件格式,这个工具是在你安装交叉编译器产生的。
或者你可以写个Makefile文件,执行:
make
这里是我的Makefile文件,仅供参考:
makefile代码:
#begin
CC
=
arm
-
elf
-
gcc
CFLAGS
=-
D__PIC__
-
fpic
-
msingle
-
pic
-
base
-
O2
-
pipe
-
Wall
-
g
LDFLAGS
=-
Wl
,-
elf2flt
LIBS
=
OBJS
=
hello
.
o
all
:
hello
hello
:$(
OBJS
)
$(
CC
)$(
CFLAGS
)$(
LDFLAGS
)-
ohello
$(
OBJS
)$(
LIBS
)
clean
:
rm
-
rf
*.
o
*.
elf
*.
gdbhello
#end
如果编译通过,就会产生hello可执行文件。用下面的命令:
filehello
你会发现,它是BFLT(binaryFLAT),你目标平台所支持的文件格式。
这里,我们将借助genromfs这个小工具来完成测试,这个工具就是你在安装交叉编译器时产生的,你可以直接使用它。
到
包:
//================================
我试过此链接不可用,不过ubuntu用可直接sudo来安装.
//================================
tarjxvfskyeye-binary-testutils-1.0.4.tar.bz2
cdtestsuits/at91/uclinux2(当然你还可以用别的)
mkdirromfs(建一个目录,后面用)
mount-oloopboot.rom/mnt/xxx
cp-r/mnt/xxx/*romfs
另外,把你编译好的可执行程序拷贝到/romfs/bin目录里,这里就是hello了!
genromfs-fboot.rom-dromfs/
注:可以用genromfs-h来获得帮助!
OK!执行下面的命令:
skyeyelinux
(skyeye)targetsim
(skyeye)load
(skyeye)run
kernelstart.....
很熟悉了吧。。。
cd/bin
hello
可以看到结果了吗?
其实到了这一步,你就可以开发自己的程序了!
/************************************************************/
相关文章推荐
- ubuntu 8.04中skyeye仿真项目的开发环境的建立
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye仿真
- ubuntu 8.04建立mysql C开发环境 (转)
- ubuntu 8.04建立mysql C开发环境
- 在ubuntu7.10上搭建uClinux编译开发环境并用Skyeye进行仿真(嵌入)
- 在ubuntu7.10上搭建uClinux编译开发环境并用Skyeye进行仿真
- 【指导]如何编译完整建立开发环境和编译Android 4.0.1 on Ubuntu 11.04 (64 bit)
- GTK编程——linux下GTK开发环境建立(ubuntu)
- Ubuntu下建立Android开发环境
- VMware下利用ubuntu13.04建立嵌入式开发环境之三
- UBUNTU10.04下建立Android开发环境
- Ubuntu 8.04 下uClinux的编译和skyeye仿真
- Ubuntu 8.04 下uClinux的编译和skyeye仿真
- [转]ubuntu 11.10 mini2440 qte4.6.3开发环境的建立
- uClinux学习笔记之一 Ubuntu 8.04 下uClinux的编译和skyeye仿真
- Ubuntu apache2下建立django开发环境
- (整理)友善之臂micro2440 ubuntu 8.04 嵌入式QT开发环境搭建(ubuntu 8.04、友善之臂、Micro2440、Qtopia)
- Ubuntu下建立Android开发环境
- 在Ubuntu上建立Arm Linux 开发环境
- Ubuntu下建立Android开发环境