文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>skyeye quick start

skyeye quick start

时间:2007-01-06  来源:hellofalcon

date:07/1/6
os: ubuntu 6.06(dapper)
gcc: 4.0.3
author:falcon

1.what is skyeye

    Skyeye is a hardware simulator. you can use it to devlop embeded system, even if  don't have the development board.

2.prepare

Download the following packages, and uncompress them.
if the postfix is .tar.gz, type "tar xzvf package.tar.gz" to uncompress it
if is .tar.bz2, type "tar xjvf package.tar.bz2" to uncompress it
XXX.sh is a script file, you don't need to uncompress it

[1] skyeye: hardware simulator
the newest version:skyeye-v1.2_Rel.tar.bz2
http://gro.clinux.org/projects/skyeye/

[2] arm-elf-tools-20030314.sh: cross compiler for arm-cpu
ftp://166.111.8.229/OS/Embedded/uclinux/pub/uClinux/arm-elf-tools

[3] uClinux-dist: linux-kernel and filesystem-image
ftp://166.111.8.229/OS/Embedded/uclinux/pub/uClinux/dist

[4] uclinux4skyeye: network support
http://gro.clinux.org/projects/skyeye/

3. install skyeye

Read the README file in the main directory of skyeye.

1) find the the restrictions.
As this version, it need:
[1] gcc version >=4.x.x
[2] require packages:gtk+-2.0-dev pkg-config atk-dev pango-dev freetype2-dev glib-dev x11-dev binutils-dev(bfd)
2) change directory to skyeye-v1, type "make" and execute it
3) type this command to test the skyeye

./binary/skyeye

there will be some errors, so we need to fix it, we need a linux kernel , a filesystem, and a skyeye configration file, and also, we need a cross compiler to compile the binary code for arm-cpu.
4) copy the binary file skyeye to /usr/local/bin
sudo cp binary/skyeye /usr/local/bin

4. install arm-elf-tools

sudo bash arm-elf-tools-20030314.sh

        type "arm-elf-gcc" to test it

5. use uClinux-dist to create OS and filesystem

1) Enter the directory uClinux-dist,and then
[1] create our own configration file
   
make menuconfig

    we need to have the config like this:
   
(GDB/ARMulator) Vendor/Product
        (X) GDB/ARMulator        
(linux-2.4.x) Kernel Version
        (X) linux-2.4.x    
(uClibc) Libc Version
        (X) uClibc   

    Exit this config menu, and say "yes" to save your new kernel configuration.
[2] build the dependencies
   
make dep
[3] build the image
   
make

2) we will find the binary kernel in ./linux-2.4.x, named linux
and the filesystem-image in ./image, named romfs.img

6. create a skyeye configuration

1) we can find an example of skyeye.conf in the README file in the main directory of skyeye:
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000


2) change directory to uClinux-dist, and create the skyeye.conf file like above.
and then, type the command

skyeye -e linux-2.4.x/linux -c skyeye.conf

if we want to do the skyeye experiment independently, we can copy out the kernel linux, the filesystem-image romfs.img.just make a new directory named skyeye-experiment, and copy the kernel linux, the filesytem romfs.img, the config file skyeye.conf into it. and change the string "file=images/romfs.img" in skyeye.conf to "file=./romfs.img". now, we can start the system just need to type: "skyeye -e linux -c skyeye.conf"
shell> mkdir skyeye-experiment
shell> cp uClinux-dist/linux-2.4.x/linux skyeye-experiment/
shell> cp uClinux-dist/images/romfs.img skyeye-experiment/
shell> cp uClinux-dist/skyeye.conf skyeye-experiment/
shell> vi skyeye.conf   //change the "images/romfs.img" to "./romfs.img"
shell> skyeye -e linux -c skyeye.conf


7. "hello, embeded linux!"

now, we can do a real experiment with skyeye
1) write a c program:

/* hello.c */
#include <stdio.h>

int main()
{
        printf("hello, embeded linux!\n");
        return 0;
}


2) compile it for arm
   
arm-elf-gcc -Wl,-elf2flt -o hello hello.c

3) we need to copy the hello to the filesytem romfs.img
but the filesytem is readonly, we need to use the genromfs comand to
create a romfs image from romfs.img, make sure you are root here.

shell> sudo -s
shell> mkdir /media/romfs
shell> mount -o loop romfs.img /media/romfs
shell> mkdir romfs
shell> cp -rf /media/romfs/* romfn/
shell> cp hello romfs/bin
shell> genromfs -f boot.rom -d romfs
shell> vi skyeye.conf //modify the "./romfs.img" to "./boot.rom"
to "file=./boot.rom"
shell> skyeye -e linux -c skyeye.conf
...
/> /bin/hello
hello, embeded linux!

Note: genromfs is a tool to create a romfs image, you can use "genromfs -h" to get help, this tool was installed with arm-elf-tools

8. support network

Read the document installguide.txt in uclinux4skyeye, you need to solve it yourself. because i cannot fix it, it's so depressed.

You can download the demovideo of skyeye from http://gro.clinux.org/projects/skyeye/, it's name is demovideo.tar.bz2, and also, there are more useful files in http://gro.clinux.org/projects/skyeye/

now, I can just see the tap0 device from host system when i use ifconifg command
what i have done like this:

1) recompile the uclinux with the first method of installguide.txt of uclinux4skyeye, and copy linux and romfs.img to skyeye-experiment/
2) add the following line to skyeye.conf:

net: type=rtl8019, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1

3) insert the module tun.ko(or tun.o) to your host system:

sudo insmod /lib/modules/`uname -r`/kernel/drivers/net/tun.ko

4) change the user to root, and start the skyeye with uclinux

shell> sudo -s
shell> syseye -e linux -c skyeye.conf

open a new terminal,type "ifconfig", i can find the tap0 device
but i cannot ping the skyeye from host,and cannot ping the host from the skyeye either

if you can fix the problem, would you tell me how?

reference

[1] skyeye
http://www.mcublog.com/blog/user1/9450/archives/2006/13179.html
[2] 使用SKYEYE 陈渝
http://blog.sina.com.cn/u/48c194c7010004he
[3] Ethernet communication between skyeye and Windows Host
http://lists.gro.clinux.org/pipermail/skyeye-developer/2006-October/001036.html
[4] The README files of every package
相关阅读 更多 +
排行榜 更多 +
Unity Connect

Unity Connect

学习教育 下载
青橙记录本

青橙记录本

商务办公 下载
脑洞惊魂夜

脑洞惊魂夜

休闲益智 下载