workbuywalk 发表于 2006-3-19 02:38:49

再问skyeye 1.0的使用问题

对skyeye 1.0的使用说明比较少,我查了精华区的贴子iamyymm的"skyeye-1.0.0怎么用?"但其中的问题也没得到最后的回复和解决,所以只能再问一次啦。
我共有三个问题:
问题1:skyeye 1.0的build和安装是否已经不需要./configure 去配置了?
按照Readme,只要执行命令make就可以编译和安装,我确实也安装成功了。只是1.0的编译安装方法和以前的差别比较大,所以想确认一下,省得后面运行出的问题归到编译安装的问题上来。

问题2:执行"skyeye"或"skyeye vmlinux"就会死到Loaded RAM那步
按照以上现象,我只能执行"skyeye -e vmlinux",config文件用缺省的skyeye.conf。这样linux可以运行成功。
但这样的话,我只能运行而不能调试。就像"skyeye-1.0.0怎么用?"文中说的tar sim,load,run命令不能用了。
其实,归根结底就是不知道在skyeye1.0中怎样使用gdb的调试手段。

问题3:从skyeye 1.0开始,skyeye变成了standalone的方式,和gdb使用RSP协议通信,不知道这到底意味着什么?为什么有这个变化?
对这点的说明非常少,怎么使用真是满头雾水,初步猜测这个问题和问题2是相关联的。


这里,客气话就不说了,希望斑竹百忙之中能够抽空帮着看看。

M理论 发表于 2006-3-19 17:32:38

the same question to you

我都有同样的问题啊!希望斑竹指教! :P

workbuywalk 发表于 2006-3-19 23:08:59

哎,没人理睬,还是自立更生吧。M理论,下面是我目前的进展。
第一,我找到了这个网址http://skyeye.sourceforge.net/wiki/UserManual,上面有简单的使用说明。
第二,我就下载了一个arm-elf-gdb,以及相关的依赖文件
第三,安装arm-elf-gdb
第四,就是运行指令skyeye -d, 它就停到Load Ram那等gdb指令啦
第五,再开一个terminal执行arm-elf-gdb vmlinux,启动了gdb
第六,在gdb中执行tar remote localhost:12345 (注:manual中写的是tar remote :12345, 我想是笔误啦),呵呵可以连到skyeye上啦。
第七,在gdb中执行load指令,这时你就看skyeye那个窗口数据飞舞啊,煞是壮观
第八,执行run指令。nn个熊,关键时刻掉链子,这时gdb提示偶"You can't do that without a process to debug", 说的还挺客气。没办法,这步暂时还搞不定,我也不知道是步骤错了,还是skyeye的问题。我用的是skyeye20051204那个版本,不知M理论你那里如何?

本来打算把下载的arm-elf-gdb给你一起附上,省的你再费时去找,但是我不知道回复贴子怎么上传文件,只好先这样了,回头再联系吧

ksh 发表于 2006-3-20 14:26:44

采用gdb远程调试的理由如下:代码结构清晰,容易扩展,因为以前和gdb的代码混合在一起,乱乱的,很难支持多个架构和加一些自己的扩展。另外采用远程调试的功能,也容易和IDE集成. 关于这个问题的论述,我会添加到UserManual中
关于调试的功能,目前正在完善,确实还有些bug,不稳定。所以如果需要调试功能的话,我建议还是使用1.0以前的版本

workbuywalk 发表于 2006-3-20 19:07:02

ksh:您(或者开发组)的观点是从设计者出发的,但从使用者的角度来说,易用性降低不少,在安装arm-elf-gdb的时候还是挺花功夫的,尤其对于新手。另外,由于需要和第三方工具配合使用,所以不知以后使用时是否又需要考虑兼容性的问题。

没有一个更好的方法吗

ksh 发表于 2006-3-20 19:49:02

实际上,我也比较喜欢用1.0以前版本的SkyEye做一些调试,确实要比现在开两个窗口调试方便一些。但是从模块化考虑或者代码维护的角度考虑,和gdb混杂在一起,也给我们带来了很多不方便,而且我们以后会加一些性能测试分析,或者多处理器,多架构的一些东西进去,和gdb分开的话有利于以后的扩展。这是个比较困难的选择,但是我们还是认为应该和gdb分开。从理论上讲,这样整体架构很清晰,我们完全把SkyEye当作一块开发板,可以用各种各样的调试手段去调试,jtag,gdb rsp,ads等等,完全是一种C/S的模式。
另外一个考虑就是,也可以在SkyEye的模拟模块中做一个gdb接口文件,可以以库的形式提供给gdb,让gdb编译的时候,把SkyEye编译进去来兼容SkyEye 1.0以前的用法。希望我有时间能够完成它。。。
目前,大家需要调试的话,我建议大家用1.0以前的版本,1.0更高的版本中的gdb 调试功能应该在下一个release中,完善。。。

M理论 发表于 2006-3-22 11:20:27

多谢各位大虾指教
页: [1]
查看完整版本: 再问skyeye 1.0的使用问题