Skyeye open source simulator

http://sourceforge.net/apps/trac/skyeye/wiki/uClinux

1) uClinux-dist-20070130 on At91 platform (Linux Host)

You can follow below instructions to run linux-2.6.x / At91 on Skyeye.

  1. get your toolchain From: http://ftp.snapgear.org/pub/snapgear/tools/arm-linux/arm-linux-tools-20061213.tar.gz

and uClinux-dist-20070130.tar.gz from uClinux.org

  1. Instll toolchian and untar uClinux package.
  2. Enter vendor/product menu by run "make menuconfig", select GDB/Armulator option. Then exit the whole menu. Run "make" command to build your uClinux.After finish the build , you can get linux image under linux-2.6.x directory.
  3. Build :

make menuconfig
make CROSS_COMPILE=arm-elf- dep
make CROSS_COMPILE=arm-elf-
You can more easily kernel compile

  1. run your kernel on Skyeye by "skyeye -e linux-2.6.x/linux" . The config file of Skyeye can be the following content:
    #skyeye config file sample
    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=./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
    net: type=rtl8019, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
    #net: type=rtl8019_16, ethmod=tuntap, hostip=10.0.0.1
    #dbct: state=on
    

2) uClinux-dist-20070130 on At91 platform (Windows/Cygwin Host) ¶

You can follow below instructions to run linux-2.4.x / At91 on Skyeye

1. Compile Skyeye-1.2.4 under cygwin. and Download http://www.uclinux.org/uClinux/dist/uClinux-dist-20070130.tar.bz2

2. get your cygwin based "arm-elf-" toolchain from:http://prdownloads.sourceforge.net/ipodlinux/arm-elf-gcc.zip?download It contains the entire folder hierarchy (/usr/local/...), so you need to extract this to your Cygwin root directory, making sure you do not replace the contents of existing directories but add the new files into them.

3. Verify you have toolchain installed properly: Since this is gcc2.95.3, you can only compile Linux 2.4.x kernel. You will need to use other toolchain to compile 2.6.x kernel.

$ arm-elf-gcc.exe --version
2.95.3

4. In uClinux directory. Enter vendor/product menu by run "make menuconfig", select GDB/Armulator option, change kernel option to 2.4.x. Then exit the whole menu.

5. cd into "uClinux-dist/linux-2.4.x" and vim or nano "Makefile", uncomment the following to lines

.......
ARCH := armnommu
......
CROSS_COMPILE = arm-elf-

6. Run "make dep && make" command inside "uClinux-dist/linux-2.4.x" directory to build your uClinux. After finishing the build, you can get "linux" image under linux-2.4.x directory.

$ ls linux -al
-rw-r--r-- 1 wyh None 31041250 Nov 18 11:28 linux

wyh@ualboot ~/uClinux-dist/linux-2.4.x
$ file linux
linux: ELF 32-bit LSB executable, ARM, version 1, statically linked, not stripped

7. Prepare "skyeye.exe", "romfs.img", and "skyeye.conf". The skyeye.conf and romfs.img can be extract from skyeye-testsuite-2.3 or if you want to download onlyromfs.img here. The content of skyeye.conf is below:

#skyeye config file sample
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=./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
net: type=rtl8019, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
#dbct: state=on

8. Run your kernel on Skyeye by "skyeye -e linux".

3) uClinux-dist-20040408 on LPC platform (Linux Host) ¶

You can follow below instructions to run linux-2.4.x / LPC2200 on Skyeye.

  1. get your toolchain arm-elf-tools-20030314.sh

and uClinux-dist-20040408.tar.gz from uClinux.org

  1. Instll toolchian and untar uClinux package.
  2. Get skyeye-v1/trunk/misc/uClinux/uClinux-dist-20040408-lpc.diff patch from skyeye source repository.Apply the above patch on uClinux-dist20040408 source tree. Then enter vendor/product menu by run "make menuconfig", select PHILIPS/lpc2200 option. Then exit the whole menu. Run "make" command to build your uClinux.After finish the build , you can get linux image under linux-2.4.x directory.
  3. run your kernel on Skyeye by "skyeye -e linux-2.4.x/linux" . The config file of Skyeye can be the following content:
    #skyeye config file sample
     cpu: arm7tdmi
    mach: lpc
    mem_bank: map=M, type=RW, addr=0x40000000, size=0x00200000
    mem_bank: map=M, type=RW, addr=0x81000000, size=0x00700000
    mem_bank: map=M, type=RW,  addr=0x81700000, size=0x00100000, file=./initrd-u
    mem_bank: map=I, type=RW, addr=0xe0000000, size=0x20000000
    

Known issues:

  • uClinux run slowly on SkyEye when run into "Calibrate loop...", need to wait a minute.
  • Now shell can not appear probably for some bug in uart simulation.

4) Run uClinux-dist-R05R4 on Blackfin 533 platform (on Linux Host) ¶

You can follow below instructions to run uClinux-dist-R05R4/bf533 on Skyeye 1.2.4 version.

  1. get your uClinux-dist-R05R4-RC2.tar.bz2 and the corresponding toolchain from blackfin.uclinux.org
  2. Instll toolchian and untar uClinux package.
  3. Build your own uClinux image. Note that cache option , network option should be check off. Dma mode of serial option should be changed to pio mode. And you should select sash as your default shell program. As fas as I know, busybox is not stalbe on skyeye.
  4. Get skyeye-1.2.4 release version and run "make" command to build it
  5. run your kernel on Skyeye by "skyeye -e images/linux" . The config file of Skyeye can be the following content:
    arch:blackfin
    mach:bf533
    

5) Run 8019 netcard driver with uClinux-dist-20070130 on At91 platform (Linux Host) ¶

Make sure uClinux can run on SkyEye firstly. You can see the http://skyeye.wiki.sourceforge.net/uClinux#tocuClinux0

The netcard driver for rtl8019 can be downloaded from http://lists.gro.clinux.org/pipermail/skyeye-developer/2007-July/001442.html or get rtl8019 driver from SkyEye svn.
1. Copy these two files to uClinux-dist/linux-2.4.x/driver/net
2. Modify the Makefile under uClinux-dist/linux-2.4.x/driver/net, add
a line like this:
obj-y += rtl8019.o
3. Run make menuconfig, to select GDB/Armulator option. Then run "make
dep", "make" to build uClinux image. At the end of build , you can get
image of at91 at linux-2.4.x/linux.
4. Use the following config file skyeye.conf to run at91 image.
###########################################

cpu: arm7tdmimach: 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
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
net: type=rtl8019_16, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
  1.  

Note that in skyeye,conf , the option hostip=10.0.0.1 is the ip address of your host that used to communicate with your uClinux.
5. Change to root user and run the following command:
skyeye -e linux-2.4.x/linux

6.After run into the shell of uClinux, you can use ifconfig to set ip
address for uClinux, at the same time, you also can find there is another netcard service in your host. Then to ping your host as the following:
#ifconfig eth0 10.0.0.2
#ping 10.0.0.1

Additional driver package for at91: wiki:MiscWikiFiles:uclinux4skyeye-v0.2.4.tar.bz2

你可能感兴趣的:(eclipse,debug,休闲,skyeye,arm_)