QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 857|回复: 2

skyeye lubbock仿真无法设置断点

[复制链接]
发表于 2005-2-1 10:50:40 | 显示全部楼层 |阅读模式
我用skyeye 仿真lubbock,但是无法设置断点调试
skyeye.conf 如下

cpu: xscale
mach: pxa_lubbock
mem_bank: map=I, type=RW, addr=0x40000000, size=0x0c000000
mem_bank: map=M, type=RW, addr=0xa0000000, size=0x00200000
mem_bank: map=M, type=RW, addr=0xa0200000, size=0x00100000, file=zImage, boot=yes
mem_bank: map=M, type=RW, addr=0xa0300000, size=0x00d00000
mem_bank: map=M, type=RW, addr=0xa1000000, size=0x00800000, file=./initrd4M.img
mem_bank: map=M, type=RW, addr=0xa1800000, size=0x02800000

运行skyeye

***************************************************************
****                                                       ****
****   SkyEye  Simulator Ver 0.8.6 with  GDB 5.3 Interface ****
****                                                       ****
***************************************************************
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This SkyEye was configured as "--host=i686-pc-linux-gnu --target=arm-elf".
(SkyEye) target sim
cpu info: xscale, xscale, 69052100, fffffff0, 2
mach info: name pxa_lubbock, mach_init addr 0x815ba00
SKYEYE: use xscale mmu ops
Loaded ROM zImage
Loaded ROM ./initrd4M.img
Connected to the simulator.
(SkyEye) symbol-file vmlinux
Reading symbols from lvmlinux...done.
(SkyEye) b setup_arch
Breakpoint 1 at 0xc000ed4c: file arch/arm/kernel/setup.c, line 277.
(SkyEye) run
Starting program:  
warning: No executable file specified.
warning: No program loaded.
No program loaded.
(SkyEye) del 1
(SkyEye) c
Continuing.
Uncompressing Linux....
 楼主| 发表于 2005-2-28 15:02:27 | 显示全部楼层
经调试发现仿真lubbock的linux设置断点需要将vmlinux转成bin格式加载
同时还需要load vmlinux。
设置断点时也很奇怪,需要同时设置两个断点才会中断。
(SkyEye) inf breakpoints
Num Type           Disp Enb Address    What
1   breakpoint     keep y   0xc0008658 in start_kernel at init/main.c:499
2   breakpoint     keep y   0xa0008658
                                         ^^^^^^^^这个断点是上一个断点的实地址

(SkyEye) r
Starting program: /home/znanth/course/xscale-dev/skyeyetest/vmlinux

Breakpoint 1, start_kernel () at init/main.c:499
如果只设置断点1skyeye不会产生中断
而如果只设断点2会产生中断,但是却无法继续运行。
当设置了两个中断时,应该是中断2使skyeye停下来,但是实际上察看中断信息却是breakpoint1 hit 1次
(SkyEye) info breakpoints
Num Type           Disp Enb Address    What
1   breakpoint     keep y   0xc0008658 in start_kernel at init/main.c:499
        breakpoint already hit 1 time
2   breakpoint     keep y   0xa0008658
因此怀疑skeye在中断处理时没有根据mmu的情况处理虚地址与实地址的转换。
回复

使用道具 举报

发表于 2005-3-1 18:15:15 | 显示全部楼层
谁能解决?悬赏!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-5-12 21:02 , Processed in 0.119506 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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