hailai 发表于 2019-1-27 07:13:32

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.


[*]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



[*]Instll toolchian and untar uClinux package.
[*]Enter vendor/product menu by run "make menuconfig", selectGDB/Armulator option. Then exit the whole menu. Run "make" command tobuild your uClinux.After finish the build , you can get linux imageunder linux-2.6.x directory.
[*]Build :
  make menuconfig
  
make CROSS_COMPILE=arm-elf- dep
  
make CROSS_COMPILE=arm-elf-
  
You can more easily kernel compile



[*]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,>
  
mem_bank: map=M, type=RW, addr=0x01000000,>
  
mem_bank: map=M, type=R, addr=0x01400000,>
  
mem_bank: map=M, type=RW, addr=0x02000000,>
  
mem_bank: map=M, type=RW, addr=0x02400000,>
  
mem_bank: map=M, type=RW, addr=0x04000000,>
  
mem_bank: map=I, type=RW, addr=0xf0000000,>  
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 sureyou do not replace the contents of existing directories but add the newfiles into them.
  3. Verify you have toolchain installed properly: Since this isgcc2.95.3, you can only compile Linux 2.4.x kernel. You will need to useother 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 "makemenuconfig", 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. Afterfinishing the build, you can get "linux" image under linux-2.4.xdirectory.
  

  
$ 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,>
  
mem_bank: map=M, type=RW, addr=0x01000000,>
  
mem_bank: map=M, type=R, addr=0x01400000,>
  
mem_bank: map=M, type=RW, addr=0x02000000,>
  
mem_bank: map=M, type=RW, addr=0x02400000,>
  
mem_bank: map=M, type=RW, addr=0x04000000,>
  
mem_bank: map=I, type=RW, addr=0xf0000000,>  
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.


[*]get your toolchain arm-elf-tools-20030314.sh
  and uClinux-dist-20040408.tar.gz from uClinux.org



[*]Instll toolchian and untar uClinux package.
[*]Get skyeye-v1/trunk/misc/uClinux/uClinux-dist-20040408-lpc.diffpatch from skyeye source repository.Apply the above patch onuClinux-dist20040408 source tree. Then enter vendor/product menu by run"make menuconfig", select PHILIPS/lpc2200 option. Then exit the wholemenu. Run "make" command to build your uClinux.After finish the build ,you can get linux image under linux-2.4.x directory.
[*]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,>
  
mem_bank: map=M, type=RW, addr=0x81000000,>
  
mem_bank: map=M, type=RW,addr=0x81700000,>
  
mem_bank: map=I, type=RW, addr=0xe0000000,>  

  


  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.


[*]get your uClinux-dist-R05R4-RC2.tar.bz2 and the corresponding toolchain from blackfin.uclinux.org
[*]Instll toolchian and untar uClinux package.
[*]Build your own uClinux image. Note that cache option , networkoption should be check off. Dma mode of serial option should be changedto pio mode. And you should select sash as your default shell program.As fas as I know, busybox is not stalbe on skyeye.
[*]Get skyeye-1.2.4>
[*]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,>
  
mem_bank: map=M, type=RW, addr=0x01000000,>
  
mem_bank: map=M, type=R, addr=0x01400000,>
  
mem_bank: map=M, type=RW, addr=0x02000000,>
  
mem_bank: map=M, type=RW, addr=0x02400000,>
  
mem_bank: map=M, type=RW, addr=0x04000000,>
  
mem_bank: map=I, type=RW, addr=0xf0000000,>  
net: type=rtl8019_16, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1
  

  


[*]
  Note that in skyeye,conf , the option hostip=10.0.0.1 is the ip addressof 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 isanother netcard service in your host. Then to ping your host as thefollowing:
  
#ifconfig eth0 10.0.0.2
  
#ping 10.0.0.1
  Additional driver package for at91: wiki:MiscWikiFiles:uclinux4skyeye-v0.2.4.tar.bz2


页: [1]
查看完整版本: Skyeye open source simulator