QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6281|回复: 19

Skyeye1.3不支持linux-2.6.30.5的内核吗?

[复制链接]
发表于 2010-4-7 09:40:56 | 显示全部楼层 |阅读模式
(skyeye)start
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
In do_mach_option, mach info: name s3c2410x, mach_init addr 0x29c2970

ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1
lcd_mod:1
Invalid parameter for mod option
uart_mod:0, desc_in:, desc_out:, converter:
Loaded RAM   ./initrd.img
SKYEYE: use arm920t mmu ops
exec file "vmlinux"'s format is elf32-i386.
load section .text: addr = 0x00000000  size = 0x001cff60.
lt-skyeye: bus/ram.c:101: mem_write_byte: 断言 `global_mbp != ((void *)0)' 失败.
忽略

skyeye.conf
arch:arm
cpu:arm920t
mach:s3c2410x

# physical memory
mem_bank:map=M,type=RW,addr=0xc0000000,size=0x00800000
mem_bank:map=M,type=RW,addr=0xc0800000,size=0x00800000,file=./initrd.img
mem_bank:map=M,type=RW,addr=0xc1000000,size=0x01000000

# all peripherals I/O mapping area
mem_bank:map=I,type=RW,addr=0x48000000,size=0x20000000

mem_bank:map=I,type=RW,addr=0x19000300,size=0x00000020
net:type=cs8900a,base=0x19000300,size=0x20,int=9,mac=0:4:3:2:1:f,ethmod=tuntap,hostip=10.0.0.1

lcd:type=s3c2410x,mod=gtk
uart:mod=xterm
#dbct:state=on

[ 本帖最后由 zhongkui 于 2010-4-7 18:45 编辑 ]
发表于 2010-4-7 11:18:05 | 显示全部楼层

这是我成功利用skyeye1.3.0模拟2410的操作步骤

My work process:
1. Complile the kernel
   1) vi Makefile (change the 'ARCH' and 'CROSS_COMPILE')
   2) make s3c2410_defconfig
   3) make menuconfig (CAUTION!)
        System Type  ---> S3C2410 Machines  --->SMDK2410/A9M2410  "check on"   ,  and then check off all of others' machines.
        Boot options  --->  enter the third line, and modify to this resullt:    mem=32M console=ttySAC0 root=/dev/ram initrd=0x30800000,0x00800000 ramdisk_size=8192 rw
        Device Drivers  --->  Character devices  --->  Serial drivers  ---> 8250/16550 and compatible serial support   "check off".
        OK! save and quit.
   4) make

2. Copy the two files (skyeye.conf and initrd.img) to your source directory of linux kernel

3. vi skyeye.conf  (modify the load address)
    This is my skyeye.conf:

# skyeye config file for S3C2410X
arch:arm
cpu: arm920t
mach: s3c2410x
  
# physical memory
mem_bank: map=M, type=RW, addr=0x30000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0x30800000, size=0x00800000, file=./initrd.img
mem_bank: map=M, type=RW, addr=0x31000000, size=0x01000000

# all peripherals I/O mapping area
mem_bank: map=I, type=RW, addr=0x48000000, size=0x20000000

mem_bank: map=I, type=RW, addr=0x19000300, size=0x00000020
#net: type=cs8900a, base=0x19000300, size=0x20,int=9, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1

#lcd: type=s3c2410x, mod=gtk
uart:mod=term
#dbct:state=on


4. Download skyeye1.3.0 and install it correctly(according to the file of INSTALL)

5. Run the skyeye with loading kernel on your kernel source directory.
   
    Command:   /opt/skyeye/bin/skyeye -e vmlinux -l 0x30000000,0xffffff
      (skyeye):   start                      (uart console appears)
      (skyeye):   run                        (running normally,  maybe need to wait for some time)

6. That's all. I hope this article can help you solve your problem.
回复

使用道具 举报

 楼主| 发表于 2010-4-7 17:29:34 | 显示全部楼层

问题解决,谢谢!但running时挂死

(skyeye)start
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
In do_mach_option, mach info: name s3c2410x, mach_init addr 0x46ef970

uart_mod:3, desc_in:, desc_out:, converter:
In create_uart_console
Loaded RAM   ./initrd.img
SKYEYE: use arm920t mmu ops
exec file "vmlinux"'s format is elf32-i386.
load section .text: addr = 0x00000000  size = 0x001cd260.
load section .got: addr = 0x001cd260  size = 0x00000070.
load section .got.plt: addr = 0x001cd2d0  size = 0x0000000c.
not load section .bss: addr = 0x001cd2dc  size = 0x00008448 .
not load section .stack: addr = 0x001d5724  size = 0x00001000 .
not load section .ARM.attributes: addr = 0x00000000  size = 0x00000010 .
not load section .comment: addr = 0x00000000  size = 0x0000002a .
not load section .debug_line: addr = 0x00000000  size = 0x000008c3 .
not load section .debug_info: addr = 0x00000000  size = 0x0000166e .
not load section .debug_abbrev: addr = 0x00000000  size = 0x000003c8 .
not load section .debug_aranges: addr = 0x00000000  size = 0x00000048 .
not load section .debug_ranges: addr = 0x00000000  size = 0x00000058 .
not load section .debug_frame: addr = 0x00000000  size = 0x000004a8 .
not load section .debug_loc: addr = 0x00000000  size = 0x00001c1f .
not load section .debug_pubnames: addr = 0x00000000  size = 0x0000031d .
not load section .debug_str: addr = 0x00000000  size = 0x00000352 .
In SIM_start, Set PC to the address 0x30000000

(skyeye)run
(running)
回复

使用道具 举报

发表于 2010-4-8 09:18:27 | 显示全部楼层

回复 3# zhongkui 的帖子

有弹出来一个小窗口吗?所有的串口信息应该全部打印在那个小窗口中。
回复

使用道具 举报

 楼主| 发表于 2010-4-8 09:53:13 | 显示全部楼层
有串口窗,只显示:
Connecting to self-ubuntu:43738
回复

使用道具 举报

发表于 2010-4-8 10:15:17 | 显示全部楼层

回复 5# zhongkui 的帖子

请问,您是不是只是改了skyeye.conf?编译内核的第3步,关于menuconfig的修改很重要,需要严格按照那个步骤走。如果是这样,请重新编译内核。
回复

使用道具 举报

 楼主| 发表于 2010-4-8 11:21:12 | 显示全部楼层

重新编译内核步骤,是否正确?

root@self-ubuntu:~/linux# make distclean
root@self-ubuntu:~/linux# cp -f ./arch/arm/configs/s3c2410_defconfig .config
root@self-ubuntu:~/linux# make ARCH=arm menuconfig
System Type --->
            ARM system type (Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443)  --->
       
  • PWM device support
            -*- S3C2410 DMA support
            [ ]   S3C2410 DMA support debug
           
  • ADC common driver support
            *** Boot options ***
            [ ] S3C Initialisation watchdog
           
  • S3C Reboot on decompression error
           
  • Force UART FIFO on during boot process
            *** Power management ***
            [ ] S3C2410 PM Suspend debug
            [ ] S3C2410 PM Suspend Memory CRC
            (0) S3C UART to use for low-level messages
            (0) Space between gpio banks
                    S3C2400 Machines  ---> (除了S3C2410以外,其他S3C24xx等内部选项全部check off)
                    S3C2410 Machines  --->
                           
  • SMDK2410/A9M2410
                            [ ] IPAQ H1940
                            [ ] Acer N30 family
                            [ ] Simtec Electronics BAST (EB2410ITX)
                            [ ] NexVision OTOM Board
                            [ ] AML M5900 Series
                            [ ] TCT Hammer Board
                            [ ] Thorcom VR1000
                            [ ] QT2410
                    S3C2412 Machines  --->
                    S3C2440 Machines  --->
                    S3C2442 Machines  --->
                    S3C2443 Machines  --->
                    *** Processor Type ***
                    *** Processor Features ***
            [ ] Support Thumb user binaries
            [ ] Disable I-Cache (I-bit)
            [ ] Disable D-Cache (C-bit)
            [ ] Force write through D-cache
            [ ] Round robin I and D cache replacement algorithm  
          
    Boot options --->
            (0x0) Compressed ROM boot loader base address
            (0x0) Compressed ROM boot loader BSS address
            (mem=32M console=ttySAC0 root=/dev/ram initrd=0x30800000,0x00800000 ramdisk_size=8192 rw) Default kernel com
            [ ] Kernel Execute-In-Place from ROM
            [ ] Kexec system call (EXPERIMENTAL)

    Device Drivers  --->
           
  • Block devices  --->
                    < >   Parallel port IDE device support
                    <*>   Loopback device support
                    < >     Cryptoloop Support
                    <M>   Network block device support
                    <M>   Low Performance USB Block driver
                    <*>   RAM block device support
                    (16)    Default number of RAM disks
                    (8192)  Default RAM disk size (kbytes)
                    [ ]     Support XIP filesystems on RAM block device
                    < >   Packet writing on CD/DVD media
                    <M>   ATA over Ethernet support
            Character devices  --->
                    Serial drivers  --->
                            < > 8250/16550 and compatible serial support
                            *** Non-8250 serial port support ***
                            <*> Samsung SoC serial support
                            [ ] Samsung SoC serial debug
                           
  • Support for console on Samsung SoC serial port
                            <*> Samsung S3C2410 Serial port support
                            < > MAX3100 support
    File systems  --->
            <*> Second extended fs support
           
  •    Ext2 extended attributes
           
  •      Ext2 POSIX Access Control Lists
           
  •      Ext2 Security Labels
            [ ]   Ext2 execute in place support
            <*> Ext3 journalling file system support
            [ ]   Default to 'data=ordered' in ext3 (legacy option)
           
  •    Ext3 extended attributes
           
  •      Ext3 POSIX Access Control Lists
            [ ]     Ext3 Security Labels
            <M> The Extended 4 (ext4) filesystem
            [ ]   Enable ext4dev compatibility
           
  •    Ext4 extended attributes
           
  •      Ext4 POSIX Access Control Lists
            [ ]     Ext4 Security Labels
            < > Reiserfs support
            < > JFS filesystem support
            < > XFS filesystem support
            < > OCFS2 file system support
            < > Btrfs filesystem (EXPERIMENTAL) Unstable disk format
           
  • Dnotify support
           
  • Inotify file change notification support
           
  •    Inotify support for userspace
            [ ] Quota support
            <M> Kernel automounter support
            <M> Kernel automounter version 4 support (also supports v3)
            <M> FUSE (Filesystem in Userspace) support
                    Caches  --->
                    CD-ROM/DVD Filesystems  --->
                    DOS/FAT/NT Filesystems  --->
                    Pseudo filesystems  --->
                   
  • Miscellaneous filesystems  --->
                   
  • Network File Systems  --->
                            Partition Types  --->
                    -*- Native language support  --->
                    < > Distributed Lock Manager (DLM)  --->  

    root@self-ubuntu:~/linux# make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
    编译完毕产生 ./arch/arm/boot/zImage和./arch/arm/boot/compressed/vmlinux (大小1.9M)
  • 回复

    使用道具 举报

     楼主| 发表于 2010-4-8 13:05:52 | 显示全部楼层
    重新编译后运行,一样的情况~~!郁闷呀!
    回复

    使用道具 举报

    发表于 2010-4-8 17:36:59 | 显示全部楼层

    回复 8# zhongkui 的帖子

    按照您的说法,我下午刚刚在kernel.org上下载了linux2.6.30.5的内核,按照我给您提供的步骤编译模拟了一遍,很正常的跑通了。
    看来还是我们之间在某些方面出了差别。
    我已经将我编译的vmlinux , .skyeye.conf , initrd.img 三个文件通过邮箱给您发过去了,您在您的skyeye上模拟下。
    如果模拟成功,则说明您的vmlinux存在问题,否则则说明您的skyeye编译出了问题。
    回复

    使用道具 举报

     楼主| 发表于 2010-4-8 18:46:39 | 显示全部楼层
    我的139邮箱没有收到,能否再发一次!或qq传给我,谢谢。
    回复

    使用道具 举报

    发表于 2010-4-12 09:38:44 | 显示全部楼层

    zhongkui的已经成功

    他换成我发的内核映像vmlinux后,已经可以成功模拟了,所以我怀疑是他的内核编译出了问题。如若其他人遇到同样的问题,请参考2层的编译方法,不要省步骤,应该可以成功。
    回复

    使用道具 举报

    发表于 2010-4-12 21:27:33 | 显示全部楼层

    最后终于找到原因了!!!

    原来楼主用的是./arch/arm/boot/compressed/vmlinux这个目录下的kernel,是压缩后的
    vmlinux。换成 ./vmlinux (也就是内核源码根目录下的vmlinux,这个没有压缩)这个就可以了。
    回复

    使用道具 举报

     楼主| 发表于 2010-4-13 18:23:10 | 显示全部楼层

    再次鸣谢 :tsinghuayuan86!

    tsinghuayuan86 在嵌入式arm-linux方面对我帮助非常大,非常热心!!是我的良师益友~~!
    回复

    使用道具 举报

    发表于 2010-4-14 08:42:35 | 显示全部楼层

    回复 13# zhongkui 的帖子

    呵呵,实在不敢当,作为skyeye项目组的维护成员,我有责任做好用户的技术支持。目前skyeye还不算完善,希望大家多提问题和建议,我们会根据大家的反馈进一步完善skyeye,让用户得到更好的体验。
    回复

    使用道具 举报

     楼主| 发表于 2010-4-15 17:18:31 | 显示全部楼层

    Skyeye1.3只支持cs8900和rtl8019网卡

    Linux-2.6.32的内核没有办法用cs8900了吗?按照网上下载的cs8900.c的办法,可能是内核版本问题,都是失败~~!
    那位给个2.6.32的cs8900的驱动呀!
    回复

    使用道具 举报

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

    本版积分规则

    GMT+8, 2024-4-27 02:37 , Processed in 0.161298 second(s), 16 queries .

    © 2021 Powered by Discuz! X3.5.

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