QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2247|回复: 6

skyeye模拟pxa255的lubbock,跑u-boot-1.1.6的问题,请指教

[复制链接]
发表于 2008-5-14 10:28:51 | 显示全部楼层 |阅读模式
在用skyeye模拟pxa255的lubbock,跑u-boot-1.1.6的的时候,出现以下显示后在无任何显示,请各位帮忙看看
[root@jian u-boot-1.1.6]# skyeye -e u-boot
big_endian is false.
arch: arm
cpu info: xscale, pxa25x, 69052100, fffffff0, 2
mach info: name pxa_lubbock, mach_init addr 0x806d8a0
uart_mod:1, desc_in:/dev/ttyS0, desc_out:/dev/ttyS0, converter:
SKYEYE: use xscale mmu ops
Loaded FLASH ./u-boot.bin
start addr is set to 0xa3080000 by exec file.
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa3080698
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa308069c
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa30806a0
SKYEYE: cp14_mcr unknown cp14 regs!!!!!!


以下是我的skyeye.conf文件:
cpu: pxa25x

#--------------------------------------------------------------------------------
# below is the machine(development board) config info
# machine(develop board) maybe at91 or ep7312
mach: pxa_lubbock

#-------------------------------------------------------------------------------
#NOTICE: this parameter is useless for skyeye-V0.3.1+
# have 7 memory bank (include RAM, ROM, mapped IO space)
# below is the memory config info
#mem_num: 4
# map=M means ram/rom, map=I means mapped IO space, F means flash,
# type=RW means can be read or written,
# type=R means read only,
# addr=0x..... means the mem bank's beginning address,
# size=0x..... means the mem bank's memory size,  
# file=... is the filesystem image file, used for uclinux4skyeye or armlinux4skyeye


mem_bank: map=F, type=RW, addr=0x00000000, size=0x02000000,file=./u-boot.bin, boot=yes
mem_bank: map=F, type=RW, addr=0x04000000, size=0x02000000
mem_bank: map=M, type=RW, addr=0xa0000000, size=0x04000000
mem_bank: map=M, type=RW, addr=0xa4000000, size=0x00000000
mem_bank: map=M, type=RW, addr=0xa8000000, size=0x00000000
mem_bank: map=M, type=RW, addr=0xac000000, size=0x00000000

#mem_bank: map=I, type=RW, addr=0x40000000, size=0x0c000000


#uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS0

#set nic info state=on/off mac=xxxxxxx ethmod=tuntap/vnet hostip=dd.dd.dd.dd
#net: state=on, mac=08:00:3e:26:0a:5b, ethmod=tuntap, hostip=192.168.0.21

最先开始调试时只能出现
root@jian u-boot-1.1.6]# skyeye -e u-boot
big_endian is false.
arch: arm
cpu info: xscale, pxa25x, 69052100, fffffff0, 2
mach info: name pxa_lubbock, mach_init addr 0x806d8a0
uart_mod:1, desc_in:/dev/ttyS0, desc_out:/dev/ttyS0, converter:
SKYEYE: use xscale mmu ops
Loaded FLASH ./u-boot.bin
start addr is set to 0xa3080000 by exec file.
改动方面:
后来用gdb单步跟踪u-boot,一步一步的追下去,发现在内存配置时有2个等待延迟(大概是对内存配置完后还要等待其稳定的意思),这两个延迟会造成死循环,所以把延迟时间设置为0,多出现以下信息:
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa3080698
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa308069c
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa30806a0
SKYEYE: cp14_mcr unknown cp14 regs!!!!!!
    接着继续跟踪,发现波特率设置方面在u-boot的lubbock.h下设置的波特率115200没起作用(不知道为什么),因此在函数里会跑到一个hang的死循环,我直接在此函数里将波特率写死为115200。后面还有一些微小的改动吧,不记得了
   接着跟踪,发现跑到serial.c的printf函数时候函数经常跑飞,不知这个问题怎么解决,是不是什么地方配置有问题,请各位大虾解答!!非常感激!!!
 楼主| 发表于 2008-5-14 10:35:22 | 显示全部楼层
再补充一下,u-boot里面已经跑到display_banner()函数里面去了,从跟踪来看,也到了打印u-boot版本信息的语句,但是u-boot的版本信息之类的字体就是打印不出来,是不是串口配置有问题?请问该怎么配置?谢谢!!
回复

使用道具 举报

 楼主| 发表于 2008-5-14 11:11:49 | 显示全部楼层
个人感觉是波特率没配置好,skyeye好像没有配置波特率的方法?问问大家怎么在conf里面配置串口波特率?
回复

使用道具 举报

 楼主| 发表于 2008-5-14 14:03:48 | 显示全部楼层
没人给点意见吗?我现在单步跟踪已经到打印uboot版本信息的这一步了,但在终端就是看不到打印信息,是不是要用minicom来看打印信息啊?大家给点建议也是好的
回复

使用道具 举报

发表于 2008-5-14 15:59:09 | 显示全部楼层
ksh@server:/opt/source/u-boot-1.2.0>
ksh@server:/opt/source/u-boot-1.2.0> make ARCH=arm lubbock_config
ksh@server:/opt/source/u-boot-1.2.0> make ARCH=arm
ksh@server:/opt/source/u-boot-1.2.0> cat skyeye.conf
cpu: pxa25x
mach: pxa_lubbock
mem_bank: map=I, type=RW, addr=0x40000000, size=0x0c000000
mem_bank: map=M, type=RW, addr=0xa0000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0xa0800000, size=0x00800000
mem_bank: map=M, type=RW, addr=0xa1000000, size=0x00800000
mem_bank: map=M, type=RW, addr=0xa1800000, size=0x02800000

#lcd:state=on,type=pxa,mod=gtk

#dbct:state=on
ksh@server:/opt/source/u-boot-1.2.0> /home/ksh/cvs/skyeye/skyeye-v1/trunk/skyeye -e u-boot
Your elf file is little endian.
arch: arm
cpu info: xscale, pxa25x, 69052100, fffffff0, 2
mach info: name pxa_lubbock, mach_init addr 0x41e850
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use xscale mmu ops
exec file "u-boot"'s format is elf32-little.
load section .text: addr = 0xa3080000  size = 0x000167bc.
load section .glue_7: addr = 0xa30967bc  size = 0x00000000.
load section .glue_7t: addr = 0xa30967bc  size = 0x00000000.
load section .rodata: addr = 0xa30967c0  size = 0x000006f4.
load section .rodata.str1.8: addr = 0xa3096eb8  size = 0x00004753.
load section .data: addr = 0xa309b610  size = 0x00001ab8.
load section .u_boot_cmd: addr = 0xa309d0c8  size = 0x00000468.
not load section .bss: addr = 0xa309d530  size = 0x00035000 .
not load section .debug_line: addr = 0x00000000  size = 0x000065d1 .
not load section .debug_info: addr = 0x00000000  size = 0x00015fb7 .
not load section .debug_abbrev: addr = 0x00000000  size = 0x000055d7 .
not load section .debug_aranges: addr = 0x00000000  size = 0x000007a0 .
not load section .debug_frame: addr = 0x00000000  size = 0x00002be4 .
not load section .debug_pubnames: addr = 0x00000000  size = 0x00002086 .
not load section .debug_str: addr = 0x00000000  size = 0x000044a0 .
not load section .comment: addr = 0x00000000  size = 0x000003f0 .
not load section .debug_ranges: addr = 0x00000000  size = 0x000008e8 .
call ARMul_InitSymTable,kernel filename is u-boot.
start addr is set to 0xa3080000 by exec file.
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa3080698
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa308069c
SKYEYE: xscale_cp15_mcr wrote UNKNOWN - reg 14, reg15 0xa30806a0
SKYEYE: cp14_mcr unknown cp14 regs!!!!!!
SKYEYE:Error in mem_read_word, no bank found, NumInstrs 388226, mem_read_word addr = 40000 no bank


U-Boot 1.2.0 (May 14 2008 - 15:43:11)

DRAM:  64 MB
SKYEYE:Error in mem_read_word, no bank found, NumInstrs 392756, mem_read_word addr = 0 no bank
SKYEYE:Error in mem_read_word, no bank found, NumInstrs 392809, mem_read_word addr = 4000000 no bank
Flash:  0 kB
*** Warning - bad CRC, using default environment

Hit any key to stop autoboot:  3
回复

使用道具 举报

 楼主| 发表于 2008-5-14 16:58:24 | 显示全部楼层
你好,谢谢你的回复,从你给出的信息看,是不需要串口的,:)
那配置成功和memory有关吗,我看到很多的内存配置都有如下的信息,如:
mem_bank: map=I, type=RW, addr=0x40000000, size=0x0c000000
就是配置I/O的映射空间,这个是不是必须的?再次谢谢你的回复!!
回复

使用道具 举报

 楼主| 发表于 2008-5-14 17:17:49 | 显示全部楼层
我晕,我把你的skyeye.conf的内容全部拷贝到我的conf里面,居然直接就可以跑起来了哦。。。
我之前那个conf文件是参照u-boot.1.1.6里面的关于lubbock的设置参数改的。。。
虽然可以跑成功,但我还是有点糊涂,难道skyeye模拟的时候不用参照具体的硬件开发板的设置吗?如果是的,那么这样在硬件开发板没出来的情况下进行模拟,能保证将来也能在具体的开发板上运行吗?谢谢你的回复!!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-2 10:21 , Processed in 0.034681 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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