QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1181|回复: 5

调试的时候怎么没有armsimulator的symbol?

[复制链接]
发表于 2004-10-13 10:50:21 | 显示全部楼层 |阅读模式
请问用skyeye调试的时候只有linux的调试信息,而没有arm simulator的symbol,如mem_reset。skyeye编译的时候有?g -O2为什么没有呢,应该怎么修改呢,版主。
发表于 2004-10-13 13:42:05 | 显示全部楼层
skyeye本身就是一个应用程序,只不过这个应用程序可以让你看见你的操作系统,如何在arm体系结构的cpu上运行的. 可以单步执行你的程序.你调试操作系统的时候,就像用gdb调试一个普通程序一样 .
所以 你这个问题我们可以翻译为:
我在用gdb调试helloworld.c程序的时候怎么只有helloworld的程序,而没有gdb本省的调试信息呢.及时你用gcc -g  自己生成了一个自己的gdb调试器,在用这个调试你的helloworld.c程序, 也不会有gdb的符号信息,不过当你用gdb调试你带符号的gdb时 ,就会有gdb的符号信息了
   所以用用skyeye调试程序时 不会有skyeye的符号信息, 你可以在skyeye中输出一些你希望观察到的信息.
回复

使用道具 举报

 楼主| 发表于 2004-10-14 17:24:20 | 显示全部楼层
skyeye不仅仅是一个gdb,应该是一个gdb和arm simulator的组合,我在用skyeye调试linux内核的时候也想了解skyeye与linux内核的接口和skyeye的内部实现细节,我的意思是我是想调试skyeye的arm simulator部分而不是它的gdb部分,在skyeye的分析报告中是可以的啊。
回复

使用道具 举报

发表于 2004-10-14 21:49:31 | 显示全部楼层
skyeye中关于arm simulator 部分大多数都在skyeye/sim/arm/
里面有很多文件 skyeye的各个开发办的程序都在这下面,你要是想了解
skyeye的架构的话 ,做好向看看skyeye相关文档,在看里面的源代码
在里面   skyeye相关文件都是以skyeye开头命名的,

这里我告诉你几个比较关键的文件中的函数
remote-sim
wrapper中的init()函数调用,里面skyeye的初始化工作都在里面展开,
建议跟踪init路线读下去,就差不多能够理解了
还有一个就是armemu.c
ARMul_Emulate32 (ARMul_State * state)
#else
ARMul_Emulate26 (ARMul_State * state)
#endif这是一个对arm cpu指令节的模拟, 和一个对处理外设的io_do_cyle()的调用
你要是牛的话
可以全部看该函数,理解cpu是怎么工作的, 这是当 我们在skyeye中输入
命令run, step,next等命令时调用的,
skyeye开头的函数比较好理解,难理解的地方大都是对硬件的处理上面
其他对于gdb命令的扩充如target  sim都在skyeye/gdb/remote-sim.c目录下实现的

  Good Luck !  
                       最好的理解方式就是直接看它的实现代码
回复

使用道具 举报

 楼主| 发表于 2004-10-18 14:52:13 | 显示全部楼层
谢谢你的帮助!
是我理解上有些问题,现在我用GDB调试SKYEYE,而在同时SKYEYE运行调试uClinux.
看skyeye的代码也是最近的事情,突然有了塌实的感觉,看了关键的数据结构和一些模块的实现对于
ARMul_Emulate32 (ARMul_State * state) 和
ARMul_Emulate26 (ARMul_State * state)
我想以后再看,现在用SKYEYE可以帮助我调试嵌入设备的驱动程序.

对于使用skyeye和研究skyeye的实现你还有什么建议,希望和你交流!
回复

使用道具 举报

发表于 2004-10-18 16:46:50 | 显示全部楼层
理解skyeye比较好的方式是直接看里面的源代码
里面是对sim目录下时对硬件的模拟,认真分析几个开发板
会对你理解硬件体系结构有很大的好处。
如果你有兴趣的话, 可以看看里面的gdb的实现
you do, you understand
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-22 04:14 , Processed in 0.036872 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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