|
在用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函数时候函数经常跑飞,不知这个问题怎么解决,是不是什么地方配置有问题,请各位大虾解答!!非常感激!!! |
|