当前时区 GMT+8, 现在时间是 2008-9-5 22:29 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 这个是什么错误啊?请教
weakiss
新手上路
Rank: 1


UID 102047
精华 0
积分 38
帖子 15
阅读权限 10
注册 2004-3-8
来自 China.gif
状态 离线
发表于 2004-9-16 10:39  资料  短消息  加为好友 
这个是什么错误啊?请教

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

顶部
chyyuu
公社版主



UID 37477
精华 23
积分 1949
帖子 727
阅读权限 225
注册 2003-5-15
来自 China.gif
状态 离线
发表于 2004-9-16 11:20  资料  短消息  加为好友 
写地址出错,可能skyeye.conf的地址描述不对,导致内核访问某个地址不存在。

顶部
weakiss
新手上路
Rank: 1


UID 102047
精华 0
积分 38
帖子 15
阅读权限 10
注册 2004-3-8
来自 China.gif
状态 离线
发表于 2004-9-16 11:24  资料  短消息  加为好友 
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
公社版主



UID 37477
精华 23
积分 1949
帖子 727
阅读权限 225
注册 2003-5-15
来自 China.gif
状态 离线
发表于 2004-9-16 11:30  资料  短消息  加为好友 
你可以用skyeye的log信息记录内核的指令流,注意最新的skyeye-0.8.0支持记录最近length条指令。这样结合对内核的反汇编,可定位出出问题的指令。
80000140是IO地址,不知对于的是哪个io寄存器,且指令地址也有问题。
你可以查查看

顶部
weakiss
新手上路
Rank: 1


UID 102047
精华 0
积分 38
帖子 15
阅读权限 10
注册 2004-3-8
来自 China.gif
状态 离线
发表于 2004-9-22 09:58  资料  短消息  加为好友 
不太会用log....
这可能会是哪一部分的代码出问题呢?
我在源码里分别搜ep7312_io_read_byte,state->pc,state->instr
都没看见有相关的函数啊

顶部
halfyear
注册会员
Rank: 2


UID 32185
精华 1
积分 320
帖子 126
阅读权限 20
注册 2003-4-26
来自 China.gif
状态 离线
发表于 2004-9-22 10:33  资料  短消息  加为好友 
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
新手上路
Rank: 1


UID 102047
精华 0
积分 38
帖子 15
阅读权限 10
注册 2004-3-8
来自 China.gif
状态 离线
发表于 2004-9-22 15:18  资料  短消息  加为好友 
多谢half兄啊,原来我没找到这个目录.....
不过没找到哪里有调用ep7312_io_read_byte这个函数啊...
只有这里this_mach->mach_io_read_byte =                 ep7312_io_read_byte
我怎么能用ep7312_io_read_word来访问0x80000140呢?

顶部
halfyear
注册会员
Rank: 2


UID 32185
精华 1
积分 320
帖子 126
阅读权限 20
注册 2003-4-26
来自 China.gif
状态 离线
发表于 2004-9-22 15:33  资料  短消息  加为好友 
可否贴出内核启动时的所有信息?

顶部
halfyear
注册会员
Rank: 2


UID 32185
精华 1
积分 320
帖子 126
阅读权限 20
注册 2003-4-26
来自 China.gif
状态 离线
发表于 2004-9-22 15:58  资料  短消息  加为好友 
在ep7312_io_read_byte中
添加
    case 0x00000140:
          data=io.sysflg;
               break;
然后重新编译skyeye,看看能否跳过这个问题!

顶部
weakiss
新手上路
Rank: 1


UID 102047
精华 0
积分 38
帖子 15
阅读权限 10
注册 2004-3-8
来自 China.gif
状态 离线
发表于 2004-9-22 16:12  资料  短消息  加为好友 
!

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

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP