编译skyeye-1.2.4 笔记


编译skyeye-1.2.4 笔记

(一)编译源码 
 今天发现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
运行正常!成功了。

我也来说两句 查看全部回复

最新回复

  • fujinggui (2008-11-01 10:27:02)

    一下子成技术总监了,THANKYOU!