QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3120|回复: 5

求助:用SKYEYE仿真三星S3C44B0X

[复制链接]
发表于 2007-2-5 14:22:26 | 显示全部楼层 |阅读模式
我用的是杭州立宇泰公司生产的ARMSys(处理器S3C44B0X)
大家有谁仿真成功的,交流下
我用立宇泰公司给的uclinux_armsys_051111.tgz包编译出来的内核老是不能成功用在SKYEYE上,大侠帮帮忙好吗?

配置
#skyeye config file sample
cpu: arm7tdmi
mach: s3c44b0
mem_bank: map=M, type=R,  addr=0x00000000, size=0x00200000
#mem_bank: map=M, type=R,  addr=0x01C00000, size=0x02000000
#mem_bank: map=M, type=R,  addr=0x00000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0x0C000000, size=0x00800000,file=../images/image.rom,boot=yes
mem_bank: map=I, type=RW, addr=0x01c00000, size=0x08400000

运行:
***********************************************************************
****                                                               ****
****   SkyEye  Simulator Ver 0.9.8 with  GDB/Insight 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"...

(SkyEye)
(SkyEye) target sim
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name s3c44b0, mach_init addr 0x818d430
SKYEYE: use arm7100 mmu ops
Loaded RAM   ../images/image.rom
Connected to the simulator.
(SkyEye) load
Loading section .init, size 0xf000 vma 0xc008000
Loading section .text, size 0x1b05a8 vma 0xc017000
Loading section .data, size 0xd370 vma 0xc1c8000
Start address 0xc008000
Transfer rate: 15091904 bits in <1 sec.
(SkyEye) run
Starting program: /home/uClinux-dist/linux-2.4.x/linux
rder: %lu, %lu bytes)
ash table entries: %d (order: %lu, %lu bytes)
has not started
table entries: %d (order: %lu, %lu bytes)
就一直停在这了
发表于 2007-2-6 16:03:59 | 显示全部楼层
You can try to debug your linux by set some breakpoint on the entry of your image. In fact , if your purpose is to learn embedded linux , the base way is to try to debug your linux image by SkyEye.
回复

使用道具 举报

发表于 2007-3-4 23:23:39 | 显示全部楼层
个人认为这个skyeye对44b0支持不好,我用一个能在44b0实验板上面跑的uclinux,在skyeye上面就是不能跑,那个u-boot1.1.4在实验板上面能跑,在skyeye上面也可以跑,但是提示很多警告。
所以个人认为有条件还是自己用板子来做实验,免得误导自己。
回复

使用道具 举报

发表于 2007-3-7 06:26:32 | 显示全部楼层
编译 linux-2.6.19 版本,经追踪陷入了 kmem_cache_init() 的 BUG() 中。
我猜测是否由于 CPU_32v4T,CPU_ABRT_LV4T,CPU_CACHE_V4 这几个东东引起。
SkyEye 源码中
{"armv3", "arm7tdmi", 0x41007700, 0xfff8ff00, NONCACHE},

So... 也许期待 SkyEye 的下个版本能运行 uClinux-dist-20070130 之 S3C44B0X ...
回复

使用道具 举报

发表于 2007-3-9 17:15:02 | 显示全部楼层
也许需要要多个 Bootloader 作辅助。
我想 uClinux 没有经过修改是不可能顺利运行在 S3C44B0X 上的。
下面的输出结果是费了九牛二虎之力从 uClinux-dist-20070130 逐渐调试并补丁来的。
需要在 0x0 地址处放置中断表转至 0x0c000000-0x0c00001c 的代码(也就是超小 bootloader,我把代码从 fixup_machine 中装载)。

还是有点小问题,完成后再贴出来吧。

$ ../../skyeye -e linux
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name s3c44b0x, mach_init addr 0x8072fa0
uart_mod:0, desc_in:, desc_out:
uart_mod:1, desc_in:/dev/ttyS1, desc_out:
lcd_mod:1
SKYEYE: use arm7100 mmu ops
Loaded ROM   ./linux_bootrom.bin
exec file "linux"'s format is elf32-little.
load section .init: addr = 0x0c008000  size = 0x00010000.
load section .text: addr = 0x0c018000  size = 0x001814d0.
not load section .pci_fixup: addr = 0x0c19a000  size = 0x00000000 .
not load section .rio_route: addr = 0x0c19a000  size = 0x00000000 .
not load section __ksymtab: addr = 0x0c19a000  size = 0x00000000 .
not load section __ksymtab_gpl: addr = 0x0c19a000  size = 0x00000000 .
not load section __ksymtab_unused: addr = 0x0c19a000  size = 0x00000000 .
not load section __ksymtab_unused_gpl: addr = 0x0c19a000  size = 0x00000000 .
not load section __ksymtab_gpl_future: addr = 0x0c19a000  size = 0x00000000 .
not load section __kcrctab: addr = 0x0c19a000  size = 0x00000000 .
not load section __kcrctab_gpl: addr = 0x0c19a000  size = 0x00000000 .
not load section __kcrctab_unused: addr = 0x0c19a000  size = 0x00000000 .
not load section __kcrctab_unused_gpl: addr = 0x0c19a000  size = 0x00000000 .
not load section __kcrctab_gpl_future: addr = 0x0c19a000  size = 0x00000000 .
load section __param: addr = 0x0c19a000  size = 0x000000f0.
load section .data: addr = 0x0c19c000  size = 0x0000c0a8.
not load section .bss: addr = 0x0c1a80c0  size = 0x0000beb4 .
not load section .comment: addr = 0x00000000  size = 0x000012b4 .
not load section .debug_abbrev: addr = 0x00000000  size = 0x000400a2 .
not load section .debug_info: addr = 0x00000000  size = 0x00629070 .
not load section .debug_line: addr = 0x00000000  size = 0x00074860 .
not load section .debug_pubnames: addr = 0x00000000  size = 0x0000ebbf .
not load section .debug_str: addr = 0x00000000  size = 0x00025698 .
not load section .debug_aranges: addr = 0x00000000  size = 0x00002af0 .
not load section .debug_frame: addr = 0x00000000  size = 0x00024cd4 .
not load section .debug_ranges: addr = 0x00000000  size = 0x0000fa10 .
start addr is set to 0x0c008000 by exec file.
Linux version 2.6.19-uc1 (root@lee) (gcc version 3.4.3) #43 Fri Mar 9 16:43:53 C ST 2007
CPU: Samsung-S3C44B0x [44b07700] revision 0 (ARMv4T), cr=0000007c
Machine: S3C44B0X Development Board
Built 1 zonelists.  Total pages: 2032
Kernel command line: root=/dev/ram0 initrd=0x0c0d5cd0,782k console=ttyS0 keepini trd
PID hash table entries: 32 (order: 5, 128 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 8MB = 8MB total
Memory: 6396KB available (1548K code, 95K data, 64K init)
Mount-cache hash table entries: 512
checking if image is initramfs...it isn't (bad gzip magic numbers); looks like a n initrd
ttyS0 at I/O 0x1d00000 (irq = 3) is a Samsung S3C44B0X Internal UART
ttyS1 at I/O 0x1d04000 (irq = 2) is a Samsung S3C44B0X Internal UART
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered (default)
Software Watchdog Timer: 0.07 initialized. soft_noboot=0 soft_margin=60 sec (now ayout= 0)
RAMDISK driver initialized: 16 RAM disks of 1024K size 1024 blocksize
loop: loaded (max 8 devices)
RAMDISK: romfs filesystem found at block 0
RAMDISK: Loading 782KiB [1 disk] into ram disk... done.
VFS: Mounted root (romfs filesystem) readonly.
Freeing init memory: 64K
Shell invoked to run file: /etc/rc
Command: hostname Samsung
Command: /bin/expand /etc/ramfs.img /dev/ram1
Command: mount -t proc proc /proc
Command: mount -t ext2 /dev/ram1 /var
Command: mkdir /var/config
Command: mkdir /var/tmp
Command: mkdir /var/log
Command: mkdir /var/run
Command: mkdir /var/lock
Command: mkdir /var/empty
Command: cat /etc/motd
Welcome to
          ____ _  _
         /  __| ||_|
    _   _| |  | | _ ____  _   _  _  _
   | | | | |  | || |  _ \| | | |\ \/ /
   | |_| | |__| || | | | | |_| |/    \
   |  ___\____|_||_|_| |_|\____|\_/\_/
   | |
   |_|

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

Execution Finished, Exiting

Sash command shell (version 1.1.1)
/>
Sash command shell (version 1.1.1)
/>
回复

使用道具 举报

发表于 2007-4-4 22:09:19 | 显示全部楼层
[quote:53ed625d28="scut_ak"]个人认为这个skyeye对44b0支持不好,我用一个能在44b0实验板上面跑的uclinux,在skyeye上面就是不能跑,那个u-boot1.1.4在实验板上面能跑,在skyeye上面也可以跑,但是提示很多警告。
所以个人认为有条件还是自己用板子来做实验,免得误导自己。[/quote]

最新结果 U-BOOT + FLASH on SkyEye。
S3C44B0X 作为实用,也许已经过时。
但若作为入门学习而使用 SkyEye 也未尝不可,
如果遇到难题请发邮件到 SkyEye 的 Developer Maillist 。

$ ./skyeye.exe

**************************** WARNING **********************************
If you want to run ELF image, you should use -e option to indicate
your elf-format image filename. Or you only want to run binary image,
you need to set the filename of the image and its entry in skyeye.conf.
***********************************************************************

big_endian is false.
arch: arm
cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0
mach info: name s3c44b0x, mach_init addr 0041D200
uart_mod:0, desc_in:, desc_out:, converter:
uart_mod:1, desc_in:/dev/tty8, desc_out:, converter:
lcd_mod:5
ethmod num=1, mac addr=12:34:56:78:90:ab, hostip=10.0.0.1
[TAP-WIN32]: Found TAP device named '本地连接 10'
[TAP-WIN32]: Changing IP/Mask...
sound: channels:2, bits_per_sample:16, samples_per_sec:22050.
dbct info: turn on dbct!
SKYEYE: use arm7100 mmu ops
Loaded FLASH ./u-boot/u-boot.bin
Loaded FLASH ./u-boot/uImage
Loaded FLASH ./u-boot/uInitrd
Loaded RAM   ./linux
Loaded RAM   ./initrd.img
dbct translate block use memory 0x03fee1f7 bytes.
[S3C44B0X]: ERROR: s3c44b0x_io_write_byte(addr:0x01d8000c, data:0xfff)


U-Boot 1.1.6 (Apr  4 2007 - 04:43:57)

DRAM:   8 MB
Flash:  2 MB
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
## Booting image at 00020000 ...
   Image Name:   Linux Kernel Image for S3C44B0X
   Created:      2007-04-03  20:43:22 UTC
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    620725 Bytes = 606.2 kB
   Load Address: 0c008000
   Entry Point:  0c008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK
## Loading Ramdisk Image at 000f0000 ...
   Image Name:   Ramdisk Image for S3C44B0X
   Created:      2007-04-03  16:38:32 UTC
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    371741 Bytes = 363 kB
   Load Address: 0c700000
   Entry Point:  0c700000
   Verifying Checksum ... OK

Starting kernel ...

Linux version 2.6.19-uc1 (root@lee) (gcc version 3.4.6) #16 Wed Apr 1 12:57:04 UTC 2007
CPU: Samsung-S3C44B0x [44b07700] revision 0 (ARMv4T), cr=0000007c
Machine: S3C44B0X Development Board
Built 1 zonelists.  Total pages: 2032
Kernel command line: root=/dev/ram0 rw initrd=0x0c700000,1024k keepinitrd video=
s3c44b0xfb:bpp:8 console=ttyS0
PID hash table entries: 32 (order: 5, 128 bytes)
Division by zero in kernel.
Division by zero in kernel.
Console: colour dummy device 80x30
Dentry cache hash table entries: 1024 (order: 0, 4096 bytes)
Inode-cache hash table entries: 1024 (order: 0, 4096 bytes)
Memory: 8MB = 8MB total
Memory: 5808KB available (1068K code, 123K data, 80K init)
...
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-23 07:36 , Processed in 0.046604 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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