QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5506|回复: 9

编译skyeye-1.2.4 笔记

[复制链接]
发表于 2007-11-16 10:52:44 | 显示全部楼层 |阅读模式
(一)编译源码 
 今天发现skyeye-1.2.4 Relase了,到http://sourceforge.net/project/showfiles.php?group_id=85554下载下来,解压,#cd skyeye-1.2.4
  [root@localhost skyeye-1.2.4]# make
  .......
   --start-group -Lbinary -larm -ldev -lutils -lbfin -lcoldfire -lppc -lmips -lbfd -liberty --end-group -lm -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
  binary/libppc.a(ppc_mmu.o)(.text+0x1c7e): In function `ppc_mmu_set_sdr1':
  arch/ppc/common/ppc_mmu.c:1273: undefined reference to `prom_quiesce'
  collect2: ld returned 1 exit status
  make: *** [binary/skyeye] Error 1

打开arch/ppc/common/ppc_mmu.c 找到1273,注释掉if (quiesce) {
prom_quiesce();
}我看到quiesce==false,该if里面应该不执行的,不知道有什么作用?

[root@localhost skyeye-1.2.4]# make
--start-group -Lbinary -larm -ldev -lutils -lbfin -lcoldfire -lppc -lmips -lbfd -liberty --end-group -lm -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
****
**** The binary file located at 'binary/skyeye', enjoy it.
****
成功了!!!

(二)运行测试用例
[root@localhost skyeye]# cd skyeye-testsuite-2.2
[root@localhost s3c2410]# cd s3c2410x-2.6.14/
[root@localhost s3c2410x-2.6.14]# ls
initrd.img skyeye.conf vmlinux
[root@localhost s3c2410x-2.6.14]# skyeye -e vmlinux
big_endian is false.
arch: arm
cpu info: armv4, arm920t, 41009200, ff00fff0, 2
mach info: name s3c2410x, mach_init addr 0x8080354
ethmod num=1, mac addr=0:4:3:2:1:f, hostip=10.0.0.1
lcd_mod:1
段错误

出错了!注释掉skyeye.conf中的lcd: type=s3c2410x, mod=gtk
[root@localhost s3c2410x-2.6.14]# skyeye -e vmlinux
可以运行起来,看来是LCD的支持出了问题。

(三)找LCD问题
发现device\lcd\skyeye_lcd_gtk.c的464行if (gtk_init_check(&global_argc, &global_argv) == FALSE) {
出错,打印发现global_argc,global_argv都没赋值,找到utils\main\skyeye.c的main (int argc, char **argv),加入
global_argc=argc;
global_argv=argv;
[root@localhost skyeye-1.2.4]# make
[root@localhost skyeye-1.2.4]# cp binary/skyeye /usr/local/bin/
[root@localhost s3c2410x-2.6.14]# skyeye -e vmlinux
运行正常!成功了。

[ 本帖最后由 lvcoffee 于 2007-11-16 10:53 编辑 ]
发表于 2007-11-16 11:12:32 | 显示全部楼层
Thanks! Great help for us. I will do some investigation about your report.
回复

使用道具 举报

发表于 2008-2-26 17:56:04 | 显示全部楼层
这篇文章应该进入精华贴,
直到今天安装还是要按这个说明来改的,也不知为什么,

我的系统是rh9,(vmware里的),skyeye0.98本来装好了,但是几个testsuit用不起来,现在1.2.4总算是好了.

楼主真是个强人啊.
回复

使用道具 举报

发表于 2008-2-27 11:58:08 | 显示全部楼层
I had submited this bug at https://sourceforge.net/tracker/ ... 554&atid=576533

So we can track it and fix it in the coming release
回复

使用道具 举报

发表于 2008-2-28 18:41:58 | 显示全部楼层

回复 #1 lvcoffee 的帖子

您好,我按照您的帖子安装1.2.4版,make时没有出现错误,
但在运行同一个测试用例时(我用的是testsuite2.3版的),

在没有改skyeye.conf(没有去掉lcd那行)文件时,停留在Loaded ARM ./initrd.img 并且系统发出错误报告;

在改过skyeye.conf(去掉lcd那行)之后,并且在skyeye.c中加入您提到的那两个语句,执行时还是出现“段错误”的提示,不知道该如何解决 请您指点,谢谢!
回复

使用道具 举报

发表于 2008-3-2 20:45:05 | 显示全部楼层

疑问。。。

您好,我又测试了一下测试包中的其他示例,都是出现类似如下错误:(以下是testsuite2.3中,linux下ep7312中的vmlinux-8-332 ,执行skyeye -e vmlinux-8-332后的输出)

big_endian is false.
arch: arm
cpu info: armv4, arm920t, 41807200, ffffff00, 1
mach info: name ep7312, mach_init addr 0x8066d90
dbct info:turn offdbct!
uart_mod:0, desc_in:, desc_out:, converter:
SKYEYE: use arm7100 mmu ops
Loadded ROM ./ywcromfs-minigui.img
段错误

试了好几个都是段错误,不知道为什么?还望高手指点! 谢谢!
回复

使用道具 举报

发表于 2008-3-3 10:34:13 | 显示全部楼层
能否用gdb跟踪一下?
gdb skyeye
set args -e vmlinux-8-332
run
backtrace.

这样我可以知道你的错误大概是什么原因?或者你描述你一下你的开发使用环境?
回复

使用道具 举报

发表于 2008-3-3 21:55:23 | 显示全部楼层

调试

谢谢ksh的回复, 我用VMware虚拟FC8 Linux系统,

按照调试方法 截图如下:(我调试的是LZ测试的s3c2410x-2.6.14例子中的vmlinux)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
回复

使用道具 举报

发表于 2008-3-4 01:05:31 | 显示全部楼层
错误发生在 utils/main/skyeye.c 的第 416 行:

  1.         printf ("exec file "%s"'s format is %s.\n", file,
  2.                 tmp_bfd->xvec->name);
复制代码

按你给的结果 file 内容为 vmlinux,但当 tmp_bfd->xvec->name 为 NULL 可引发 printf 异常。

初步猜测原因:bfd 库版本太低
解决方案:请安装新版本的 binutils-dev 或者使用 make NO_BFD=1 编译。
回复

使用道具 举报

发表于 2008-3-4 12:19:45 | 显示全部楼层

回复 #9 AnthonyLee 的帖子

谢谢 我已经在RedHat 企业4版本下直接安装成功(用的make NO_BFD=1 编译的) 呵呵
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-23 01:01 , Processed in 0.082653 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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