weakiss 发表于 2004-9-16 10:39:00

这个是什么错误啊?请教

把conf改了,出了这个错误...
SKYEYE: ep7312_io_read_byte error
SKYEYE: state->pc=0,state->instr=0,addr=80000140

chyyuu 发表于 2004-9-16 11:20:43

写地址出错,可能skyeye.conf的地址描述不对,导致内核访问某个地址不存在。

weakiss 发表于 2004-9-16 11:24:10

mem_bank: map=I, type=RW, addr=0x80000000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00020000, file=./armboot.bin,boot=yes
mem_bank: map=M, type=RW, addr=0x00020000, size=0x000a0000, file=./zImage
mem_bank: map=M, type=RW, addr=0x000c0000, size=0x00100000, file=./rd.gz
mem_bank: map=M, type=RW, addr=0x001c0000, size=0x00240000
mem_bank: map=M, type=RW, addr=0xc0000000, size=0x01000000
这是我的conf文件内容
和实际的板子相对应的呀....

chyyuu 发表于 2004-9-16 11:30:23

你可以用skyeye的log信息记录内核的指令流,注意最新的skyeye-0.8.0支持记录最近length条指令。这样结合对内核的反汇编,可定位出出问题的指令。
80000140是IO地址,不知对于的是哪个io寄存器,且指令地址也有问题。
你可以查查看

weakiss 发表于 2004-9-22 09:58:47

不太会用log....
这可能会是哪一部分的代码出问题呢?
我在源码里分别搜ep7312_io_read_byte,state->pc,state->instr
都没看见有相关的函数啊

halfyear 发表于 2004-9-22 10:33:24

sim/arm/skyeye_math_ep7312.c里面有
ep7312_io_read_byte,ep7312_io_read_halfword,ep7312_io_read_word
等函数啊

0x80000140对应的是SYSFLG

通过ep7312_io_read_word可以访问该地址
如果通过ep7312_io_read_byte访问就会出错

   printf("SKYEYE: ep7312_io_read_byte error\n");
   printf("SKYEYE: state->pc=%x,state->instr=%x,addr=%x",state->pc,state->instr,addr);

weakiss 发表于 2004-9-22 15:18:09

多谢half兄啊,原来我没找到这个目录.....
不过没找到哪里有调用ep7312_io_read_byte这个函数啊...
只有这里this_mach->mach_io_read_byte =                 ep7312_io_read_byte
我怎么能用ep7312_io_read_word来访问0x80000140呢?

halfyear 发表于 2004-9-22 15:33:39

可否贴出内核启动时的所有信息?

halfyear 发表于 2004-9-22 15:58:03

在ep7312_io_read_byte中
添加
    case 0x00000140:
          data=io.sysflg;
               break;
然后重新编译skyeye,看看能否跳过这个问题!

weakiss 发表于 2004-9-22 16:12:18

!

ARMboot 1.0.2 (Dec 17 2003 - 13:32:47)

ARMboot code: c0500000 -> c0517f14
DRAM Configuration:
Bank #0: c0000000 8 MB
Flash: 16 MB
*** Using default environment
Hit any key to stop autoboot:0
Base Address: 0x00000000
EP7312 # lilo
Uncompressing Linux.....................................SKYEYE: ep7312_io_read_byte error
SKYEYE: state->pc=0,state->instr=0,addr=80000140
页: [1]
查看完整版本: 这个是什么错误啊?请教