在ubuntu上搭建uClinux编译开发环境并用Skyeye (2)
来源:互联网 发布:塔斯马尼亚大学 知乎 编辑:程序博客网 时间:2024/05/15 05:38
四、测试这个程序:
测试这个程序需要用到一个工具skyeye-testsuits,可以在下面的网址下载:
http://gro.clinux.org/projects/skyeye/
网址里面有testsuite2.1.tar.bz2 但是在这里我们直接下载1.2.0版的二进制的工具包,skyeye-binary-testutils-1.2.0.tar.bz2
下载后解压
进入下面这个目录,这是我们主要用到的目录。
这个目录里面有四个文件,其中linux就是内核映像,boot.rom是要写到Flash里面去的。里面包含文件系统。skyeye.conf是配置文件。
可以在命令行里键入以下代码,
你看到了什么?没错,我没有骗你
当你看到这幅图片的时候,是不是感觉很爽?呵呵,我也是。
刚才我们不是写了一个代码吗?下面我们就看看怎么运行我们的程序:
首先在skyeye-binary-testutils-1.2.0/at91x40/uclinux2这个目录里面建立一个文件夹:romfs
这个目录主要用来存放用户程序,就是最后你写的程序也要拷到这个目录里面。
但是我们必须把系统已有的文件系统里面的程序也拷出来,也就是把boot.rom本身所有的程序也要拷到romfs这个文件夹里面,所以首先要进行一次挂载,所以进入/mnt目录,建立一个临时文件夹tmp,如下所示
用 mount -o loop src dst命令进行挂载,如下所示:
然后把这里面的所有文件拷贝到我们刚才所建的那个我们自己的文件夹romfs里面
这时,我们自己的文件夹里面有以下内容:
将我们刚才生成的一个测试程序test也拷贝过来到romfs/bin目录时面:
用genromfs这个工具重新制作文件系统
好了,下面我们再运行skyeye进行仿真,键入:skyeye -e linux
在这里面进行以下操作:
看到程序在运行了吗?
测试这个程序需要用到一个工具skyeye-testsuits,可以在下面的网址下载:
http://gro.clinux.org/projects/skyeye/
网址里面有testsuite2.1.tar.bz2 但是在这里我们直接下载1.2.0版的二进制的工具包,skyeye-binary-testutils-1.2.0.tar.bz2
下载后解压
代码: |
wenwu@wenwu-desktop:/source$ tar jxvf skyeye-binary-testutils-1.2.0.tar.bz2 |
进入下面这个目录,这是我们主要用到的目录。
代码: |
wenwu@wenwu-desktop:/source$ ls skyeye-binary-testutils-1.2.0/at91x40/uclinux2 boot.rom |
这个目录里面有四个文件,其中linux就是内核映像,boot.rom是要写到Flash里面去的。里面包含文件系统。skyeye.conf是配置文件。
可以在命令行里键入以下代码,
代码: |
skyeye -e linux |
你看到了什么?没错,我没有骗你
代码: |
|
当你看到这幅图片的时候,是不是感觉很爽?呵呵,我也是。
刚才我们不是写了一个代码吗?下面我们就看看怎么运行我们的程序:
首先在skyeye-binary-testutils-1.2.0/at91x40/uclinux2这个目录里面建立一个文件夹:romfs
这个目录主要用来存放用户程序,就是最后你写的程序也要拷到这个目录里面。
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ mkdir romfs wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ ls boot.rom |
但是我们必须把系统已有的文件系统里面的程序也拷出来,也就是把boot.rom本身所有的程序也要拷到romfs这个文件夹里面,所以首先要进行一次挂载,所以进入/mnt目录,建立一个临时文件夹tmp,如下所示
代码: |
wenwu@wenwu-desktop:/mnt$ ls wenwu@wenwu-desktop:/mnt$ sudo mkdir tmp wenwu@wenwu-desktop:/mnt$ ls tmp |
用 mount -o loop src dst命令进行挂载,如下所示:
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ sudo mount -o loop boot.rom /mnt/tmp/ wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ ls /mnt/tmp/ bin |
然后把这里面的所有文件拷贝到我们刚才所建的那个我们自己的文件夹romfs里面
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ sudo cp -r /mnt/tmp/* ./romfs/ |
这时,我们自己的文件夹里面有以下内容:
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ ls romfs/ bin |
将我们刚才生成的一个测试程序test也拷贝过来到romfs/bin目录时面:
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ sudo cp /source/work/test/test romfs/bin/ wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ ls romfs/bin/ boa busybox |
用genromfs这个工具重新制作文件系统
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ sudo genromfs -f boot.rom -d ./romfs/ wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ ls -l boot.rom -rw-r--r-- 1 wenwu wenwu 1561600 2007-11-11 14:03 boot.rom |
好了,下面我们再运行skyeye进行仿真,键入:skyeye -e linux
代码: |
wenwu@wenwu-desktop:/source/skyeye-binary-testutils-1.2.0/at91x40/uclinux2$ skyeye -e linux big_endian is false. arch: arm cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x8057550 ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1 can't find device module: (name:net, type:(null)) log_info: log is off. log_info:log file is /tmp/test.log, fd is 0x80f9318 log_info: log start clock 3200000 log_info: log end clock 3330000 uart_mod:0, desc_in:, desc_out:, converter: SKYEYE: use arm7100 mmu ops Loaded ROM start addr is set to 0x01000000 by exec file. Linux version 2.4.20-uc0 (chy@localhost.localdomain) (gcc version 2.95.3 20010315 (release)(ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #7 �� 8�� 1 19:43:07 CST 2003 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 On node 0 totalpages: 1024 zone(0): 0 pages. zone(1): 1024 pages. zone(2): 0 pages. Kernel command line: root=/dev/rom0 Calibrating delay loop... 12.97 BogoMIPS Memory: 4MB = 4MB total Memory: 2984KB available (833K code, 181K data, 40K init) Dentry cache hash table entries: 512 (order: 0, 4096 bytes) Inode cache hash table entries: 512 (order: 0, 4096 bytes) Mount-cache hash table entries: 512 (order: 0, 4096 bytes) Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes) Page-cache hash table entries: 1024 (order: 0, 4096 bytes) POSIX conformance testing by UNIFIX Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket Starting kswapd Atmel USART driver version 0.99 ttyS0 at 0xfffd0000 (irq = 2) is a builtin Atmel APB USART ttyS1 at 0xfffcc000 (irq = 3) is a builtin Atmel APB USART Blkmem copyright 1998,1999 D. Jeff Dionne Blkmem copyright 1998 Kenneth Albanowski Blkmem 1 disk images: 0: 1400000-157D3FF [VIRTUAL 1400000-157D3FF] (RO) RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize SkyEye NE2k Ethernet driver version 0.2 (2003-04-27) sene2k dev name: eth0: <6>NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 512 bind 512) NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. sys_mount:dev_name /dev/root,dir_name /root, type ext2, flag 0x8001, data 0 sys_mount:2 data_page 0, type_page 117f000, dev_page 117d000, dir_page 117e000 sys_mount:3 data_page 0, type_page 117f000, dev_page 117d000, dir_page 117e000 sys_mount:4 data_page 0, type_page 117f000, dev_page 117d000, dir_page 117e000 sys_mount:dev_name /dev/root,dir_name /root, type romfs, flag 0x8001, data 0 sys_mount:2 data_page 0, type_page 117f000, dev_page 117d000, dir_page 117e000 sys_mount:3 data_page 0, type_page 117f000, dev_page 117d000, dir_page 117e000 sys_mount:4 data_page 0, type_page 117f000, dev_page 117d000, dir_page 117e000 VFS: Mounted root (romfs filesystem) readonly. sys_mount:dev_name .,dir_name /, type <NULL>, flag 0x2000, data 0 sys_mount:2 data_page 0, type_page 0, dev_page 117f000, dir_page 1122000 sys_mount:3 data_page 0, type_page 0, dev_page 117f000, dir_page 1122000 sys_mount:4 data_page 0, type_page 0, dev_page 117f000, dir_page 1122000 Shell invoked to run file: /etc/rc Command: hostname GDB-ARMulator Command: /bin/expand /etc/ramfs.img /dev/ram0 Command: mount -t proc proc /proc sys_mount:dev_name /proc,dir_name /proc, type proc, flag 0xc0ed0000, data 11d0008 sys_mount:2 data_page 1188000, type_page 11a0000, dev_page 1189000, dir_page 1122000 sys_mount:3 data_page 1188000, type_page 11a0000, dev_page 1189000, dir_page 1122000 sys_mount:4 data_page 1188000, type_page 11a0000, dev_page 1189000, dir_page 1122000 mount: /etc/mtab: Read-only file system Command: mount -t ext2 /dev/ram0 /var sys_mount:dev_name /dev/ram0,dir_name /var, type ext2, flag 0xc0ed0000, data 11d0008 sys_mount:2 data_page 1186000, type_page 1188000, dev_page 1187000, dir_page 1122000 sys_mount:3 data_page 1186000, type_page 1188000, dev_page 1187000, dir_page 1122000 sys_mount:4 data_page 1186000, type_page 1188000, dev_page 1187000, dir_page 1122000 mount: /etc/mtab: Read-only file system Command: mkdir /var/tmp Command: mkdir /var/log Command: mkdir /var/run Command: mkdir /var/lock Command: cat /etc/motd Welcome to GDB/ARMulator support by <davidm@snapgear.com> For further information check: http://www.uclinux.org/ Command: /bin/ifconfig eth0 up 10.0.0.2 Execution Finished, Exiting Sash command shell (version 1.1.1) /> |
在这里面进行以下操作:
代码: |
/> cd bin /bin> ./test i=0 Hello,embedded linux! i=1 Hello,embedded linux! i=2 Hello,embedded linux! i=3 Hello,embedded linux! i=4 Hello,embedded linux! i=5 Hello,embedded linux! /bin> |
看到程序在运行了吗?
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye (2)
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye仿真
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye (3)
- 在RedHat9.2上搭建uClinux编译开发环境并用skyeye进行仿真
- 在ubuntu7.10上搭建uClinux编译开发环境并用Skyeye进行仿真(嵌入)
- 在ubuntu7.10上搭建uClinux编译开发环境并用Skyeye进行仿真
- 在RedHat9.0上搭建uClinux编译开发环境并用skyeye进行仿真
- ubuntu8.04上搭建uClinux编译开发环境并用skyeye仿真
- ubuntu下编译uclinux skyeye上运行
- 搭建uClinux+arm+skyeye软硬件开发环境
- 基于SkyEye的uCLinux交叉编译环境的搭建
- 在skyeye上跑uClinux
- 在skyeye上运行uclinux
- 在SkyEye上仿真运行uClinux
- 在SkyEye上仿真运行uClinux
- RHEL5.2中架设skyeye+uClinux环境
- 在Ubuntu上搭建J2EE开发环境
- 在ubuntu上搭建perl开发环境
- Martin Fowler
- unique 和distinct 的区别
- 超级搞笑:微软的无奈
- 为你的基于SPRING的应用增加简单规则引擎
- 在没有袁老博客的日子里
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye (2)
- Socket 函数集(linux)
- 心理创富学(第三章):期望理论——创富成功之秘
- Yahoo Employee Twitters Through Layoff (YHOO)
- 在ubuntu上搭建uClinux编译开发环境并用Skyeye (3)
- 使用Spring来创建一个简单的工作流引擎
- 多线程读写文件 加锁
- 编写适合自己的printf()函数(转)
- C#模式中的两个基本原则