QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1827|回复: 3

关于skyeye的几个问题????

[复制链接]
发表于 2006-9-7 12:14:45 | 显示全部楼层 |阅读模式
问题一:
我按照步骤:
如何编译uClinux-dist-20040408.tar.gz
1.linux-2.4.x/arch/armnommu/vmlinux-armv.lds.in

*(got) /* Global Offset table */
之后添加如下语句:
romfs_data = .;
romfs.o
romfs_data_end = .;
2.vendors/Samsung/4510B/Makefile
在image目标的第三行,增加一条语句:arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)
如下为增加之后:
image:
[ -d $(IMAGEDIR) ] || mkdir -p $(IMAGEDIR)
genromfs -v -V "ROMdisk" -f $(ROMFSIMG) -d $(ROMFSDIR)
arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -b binary $(ROMFSIMG)
3.修改linux-2.4.x/drivers/char/serial_samsung.c
找到uart_config数组,把如下项:
{ "S3C4510B", 1, 0}, /* Samsung S3C4510B uart support */
修改为:
{ "S3C4510B", 128, 0}, /* Samsung S3C4510B uart support */
4.
编译login,boa程序时可能出现undefined reference to 'crypt_old'的错误,可以修改
config/.config
注释掉CONFIG_USER_OLD_PASSWORDS
4.按照如下步骤配置和编译内核,步骤不能乱,中间出现的错误信息可以忽略.
在system type里面,我选择set flash/sdram size and base addr选项(本来的默认是没有选的)
make dep lib_only user_only romfs image linux

[root@localhost uclinux1]# skyeye linux
***************************************************************
****                                                       ****
****   SkyEye  Simulator Ver 0.8.0 with  GDB 5.3 Interface ****
****                                                       ****
***************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...ta
(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name s3c4510b, mach_init addr 0x813df38
SKYEYE: use arm7100 mmu ops
Loaded ROM ./romfs.img
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xa000 vma 0x8000
Loading section .text, size 0x1941a0 vma 0x12000
Loading section .data, size 0x9178 vma 0x1a8000
Start address 0x8000
Transfer rate: 13867200 bits in <1 sec.
(SkyEye) run
Starting program: /root/Desktop/uclinux/skyeye-binary-testutils-1.2.0/s3c4510b/uclinux1/linux
Linux version 2.4.24-uc0 (root@localhost) (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/)) #3 浜?9鏈?5 11:52:50 CST 2006
Processor: Samsung S3C4510B revision 6
Architecture: SNDS100
On node 0 totalpages: 2048
zone(0): 0 pages.
zone(1): 2048 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/rom0
Calibrating delay loop... 20.78 BogoMIPS
Memory: 8MB = 8MB total
Memory: 6228KB available (1616K code, 172K data, 40K init)
Dentry cache hash table entries: 1024 (order: 1, 8192 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: 2048 (order: 1, 8192 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
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
Samsung S3C4510 Serial driver version 0.9 (2001-12-27) with no serial options enabled
ttyS00 at 0x3ffd000 (irq = 5) is a S3C4510B
ttyS01 at 0x3ffe000 (irq = 7) is a S3C4510B
Blkmem copyright 1998,1999 D. Jeff Dionne
Blkmem copyright 1998 Kenneth Albanowski
Blkmem 1 disk images:
0: ED1A0-1A619F [VIRTUAL ED1A0-1A619F] (RO)
RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize
s3c4510b flash device: 200000 at 1000000
SKYEYE: WARNING: illegal write halfword to 0x1000000 of 0xf0 @ 0x15240
SKYEYE: WARNING: illegal write halfword to 0x10000aa of 0x98 @ 0x15240
SKYEYE: WARNING: illegal write halfword to 0x1000000 of 0xf0f0 @ 0x15240
SKYEYE: WARNING: illegal write halfword to 0x10000aa of 0x9898 @ 0x15240
SKYEYE: WARNING: illegal write halfword to 0x1000000 of 0xf0f0 @ 0x15240
SKYEYE: WARNING: illegal write halfword to 0x1000154 of 0x9898 @ 0x15240
CFI: Found no s3c4510b flash device device at location zero
init_mtdchar: allocated major number 90.
init_mtdblock: allocated major number 30.
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)
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 40K
Shell invoked to run file: /etc/rc
Command: hostname Samsung
Command: /bin/expand /etc/ramfs.img /dev/ram0
Can't open expanded file /dev/0
pid 10: failed 768
Command: mount -t proc proc /proc
Command: mount -t ext2 /dev/ram0 /var
VFS: Can't find ext2 filesystem on dev ramdisk(1,0).
mount: Mounting /dev/ram0 on /var failed: Unknown error 22
pid 12: failed 256
Command: mkdir /var/config
mkdir: Cannot create directory `/var/config': Unknown error 30
pid 13: failed 256
Command: mkdir /var/tmp
mkdir: Cannot create directory `/var/tmp': Unknown error 30
pid 14: failed 256
Command: mkdir /var/log
mkdir: Cannot create directory `/var/log': Unknown error 30
pid 15: failed 256
Command: mkdir /var/run
mkdir: Cannot create directory `/var/run': Unknown error 30
pid 16: failed 256
Command: mkdir /var/lock
mkdir: Cannot create directory `/var/lock': Unknown error 30
pid 17: failed 256
Command: mkdir /var/empty
mkdir: Cannot create directory `/var/empty': Unknown error 30
pid 18: failed 256
Command: cat /etc/motd
Welcome to
          ____ _  _
         /  __| ||_|
    _   _| |  | | _ ____  _   _  _  _
   | | | | |  | || |  _ \| | | |\ \/ /
   | |_| | |__| || | | | | |_| |/    \
   |  ___\____|_||_|_| |_|\____|\_/\_/
   | |
   |_|

For further information check:
http://www.uclinux.org/

Command: ifconfig lo 127.0.0.1
Command: route add -net 127.0.0.0 netmask 255.255.255.0 lo
SIOCADDRT: Unknown error 22
pid 20: failed 1792
Command: #dhcpcd &
Execution Finished, Exiting
init: Booting to single user mode

Sash command shell (version 1.1.1)
/>
这个问题在我移植JFFS2文件系统的编译好之后用skyeye调试的话,,也是和上面一样的问题,不过这次我让set flash/sdram size and base addr选项保持默认(就是没有选取)。
不过就是我在没有搞JFFS2文件系统的时候set flash/sdram size and base addr选项保持默认的话是OK的。
这个原因是在哪里????????

问题二:
有时候编译出来的内核在用skyeye调试的时候
[root@localhost uclinux1]# skyeye linux
***************************************************************
****                                                       ****
****   SkyEye  Simulator Ver 0.8.0 with  GDB 5.3 Interface ****
****                                                       ****
***************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf"...ta
(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name s3c4510b, mach_init addr 0x813df38
SKYEYE: use arm7100 mmu ops
Loaded ROM ./romfs.img
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xa000 vma 0x8000
Loading section .text, size 0x1941a0 vma 0x12000
Loading section .data, size 0x9178 vma 0x1a8000
Start address 0x8000
Transfer rate: 13867200 bits in <1 sec.
(SkyEye) run
Starting program: /uclinux1/linux-2.4.x/linux
到这里就执行不下去了?
这个又是什么原因???????

其实上面几种情况我都在skyeye-binary-testutils-1.2.0解压包里面试过,,也都是同样的问题。。


问题三:

在uClinux-dist\vendors\Samsung\4510B的config.linux-2.4.x文件里面的
System Type
#
# CONFIG_ARCH_DSC21 is not set
# CONFIG_ARCH_C5471 is not set
# CONFIG_ARCH_CNXT is not set
# CONFIG_ARCH_NETARM is not set
# CONFIG_ARCH_TA7S is not set
# CONFIG_ARCH_TA7V is not set
# CONFIG_ARCH_SWARM is not set
CONFIG_ARCH_SAMSUNG=y
# CONFIG_ARCH_ATMEL is not set
# CONFIG_CPU_BIG_ENDIAN is not set
# CONFIG_SET_MEM_PARAM is not set
# CONFIG_RAMKERNEL is not set
CONFIG_ROMKERNEL=y
# CONFIG_BOARD_SMDK40100 is not set
# CONFIG_BOARD_MBA44 is not set
# CONFIG_BOARD_EVS3C4530HEI is not set
# CONFIG_BOARD_S3C2500REFRGP is not set
# CONFIG_BOARD_SMDK2500 is not set
CONFIG_BOARD_SNDS100=y
CONFIG_NO_PGT_CACHE=y
CONFIG_CPU_32=y
# CONFIG_CPU_26 is not set
CONFIG_CPU_S3C4510=y
CONFIG_CPU_ARM710=y
CONFIG_CPU_WITH_CACHE=y
# CONFIG_CPU_WITH_MCR_INSTRUCTION is not set
DRAM_BASE=0x00000000
DRAM_SIZE=0x00800000
FLASH_MEM_BASE=0x01000000
FLASH_SIZE=0x00200000
还有在uClinux-dist\linux-2.4.x\arch\armnommu的config.in文件里面的
if [ "$CONFIG_BOARD_SNDS100" = "y" ]; then
   define_bool CONFIG_NO_PGT_CACHE y
   define_bool CONFIG_CPU_32 y
   define_bool CONFIG_CPU_32v4 y
   define_bool CONFIG_CPU_26 n
   define_bool CONFIG_CPU_S3C4510 y
   define_bool CONFIG_CPU_ARM710 y
   define_bool CONFIG_CPU_WITH_CACHE y
   define_bool CONFIG_CPU_WITH_MCR_INSTRUCTION n
   if [ "$CONFIG_SET_MEM_PARAM" = "n" ]; then
     define_hex DRAM_BASE 0x00000000
     define_hex DRAM_SIZE 0x00800000
     define_hex FLASH_MEM_BASE 0x01000000
     define_hex FLASH_SIZE 0x00200000
   fi
仔细分析了这两个文件,我看出了一个是"n"一个是"y",在编译的时候在选择system type的时候因该怎么处理这个问题???
还是说这两个文件是独立的,用的不同的
在 Vendor/Product Selection ---> 中选择
--- Select the Vendor you wish to target
(Samsung) Vendor
--- Select the Product you wish to target
(4510B) Samsung Products
当中选择呢??
它们有什么内在的联系??/
 楼主| 发表于 2006-9-10 14:56:46 | 显示全部楼层

怎么没有人回答的?

怎么没有人回答的?
回复

使用道具 举报

发表于 2006-9-12 13:25:17 | 显示全部楼层
你问的问题基本上和SkyEye关系不大,都是uClinux的一些问题
回复

使用道具 举报

 楼主| 发表于 2006-9-15 20:10:49 | 显示全部楼层
是uclinux版本的问题?还是什么其它的问题?
这个我就不是很清楚了/
能说下你的大概意思吗?
斑竹。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-26 15:30 , Processed in 0.045230 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表