zhangzc 发表于 2005-1-23 12:15:42

SkyEye0.8.5.1成功移植到cygwin下

SkyEye0.8.5.1成功移植到cygwin下,目前除网络功能外,lcd和touch screen功能能正常运行。下面是运行ep7312_with_framebuffer_touchscreen_minigui的截图

zhangzc 发表于 2005-1-23 12:28:16

编译过程

0.安装gtk-for-cygwin
gtk2-win32-2.2.1-3.tar.gz
gtkmm-win32-2.2.0-1.tar.gz
atk-1.2.0-1.tar.gz
pango-1.2.1-2.tar.gz
glib-2.2.1-2.tar.gz

1. run configure scripts
./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest

2. make

      a. skyeye_lcd.c 不能编译,原因找不到gtk/gtk.h,gdk/gdk.h,glib.h,pango/pango.h,glib-object.h,gdkconfig.h
      b. copy glibconfig.h from \usr\lib\glib-2.0\include to skyeye/sim/arm
      c. gcc -c skyeye_lcd.c -o skyeye_lcd.o -DHAVE_CONFIG_H -DDEFAULT_INLINE=0 -DMODET -I. -I. -I../common -I./../common -I../../include -I./../../include -I../../bfd -I./../../bfd -I../../opcodes -I./../../opcodes -I../../intl -I./../../intl -I../../include/gdb -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include-I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/include/pango-1.0 -I/usr/lib/glib-2.0/include -I/usr/include/atk-1.0 -g -O2

3.skyeye-ne2k.c不能编译,原因找不到linux/if_tun.h
   注释skyeye-ne2k.c全部代码,创建skyeye_stub.c文件,修改 makefile 编译skyeye_stub.c.
   skyeye_stub.c内容如下
/***************************************************/
unsigned long Pen_buffer;

void nic_init(void)
{
}
int tapif_init(int index,unsigned char *macaddr, unsigned char *hostip)
{
}
voidtapif_input(int tapif_fd, ARMul_State *state)
{
}
INT8U tapif_output(int tapif_fd, ARMul_State *state,INT8U startpage,INT16U packet_len)
{
}

INT8U nic_read(int nic_index, ARMul_State *state, INT8U offset)
{
}
void nic_write(int nic_index, ARMul_State *state,INT8U offset, INT8U data) //offset should be 00-0f, 10 or 1f
{
}
int vnetif_init(int index,unsigned char *macaddr, unsigned char *hostip)
{
}

4.添加如下代码在下列文件skyeye_mach_at91.c,skyeye_mach_at91rm92.c,skyeye_mach_cs89712.c,...
的 #include "skyeye-ne2k.h" 行后,添加
//zzc:2005-1-1
#include "mpw/sys/time.h"

5.注释skyeye_net_tuntap.c,skyeye_net_vnet.c文件全部内容
             

6.如上修改源代码后,在link时,还会报告一些link error
在sim/arm目录下,出错时,使用:
gcc -DHAVE_CONFIG_H               -DDEFAULT_INLINE=0         -DMODET `pkg-config gtk+-2.0 --cflags`   -I. -I. -I../common -I./../common -I../../include -I./../../include -I../../bfd -I./../../bfd -I../../opcodes -I./../../opcodes -I../../intl -I./../../intl -I../../include/gdb -g -O2 -o run.exe run.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a ../../intl/libintl.a ../../libiberty/libiberty.a /usr/lib/libgtk-win32-2.0.dll.a /usr/lib/libatkmm-1.0.dll.a /usr/lib/libgtkmm-2.0.dll.a /usr/lib/libgdk-win32-2.0.dll.a /usr/lib/libgtkmm_generate_extra_defs-2.0.dll.a /usr/lib/libgdk_pixbuf-2.0.dll.a/usr/lib/libpangomm-1.0.dll.a /usr/lib/libgdkmm-2.0.dll.a /usr/lib/libglibmm-2.0.dll.a /usr/lib/libglib-2.0.dll.a /usr/lib/libgobject-2.0.dll.a /usr/lib/libgmodule-2.0.dll.a /usr/lib/libgthread-2.0.dll.a libsim.a

在gdb目录下,出错时,使用:
gcc -g -O2 -Wl,-Map -Wl,map.txt -o gdb.exe gdb.o main.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-disas.o mi-main.o mi-parse.o mi-getopt.o libgdb.a         rdi-share/libangsd.a`pkg-config --libs gtk+-2.0 ` ../sim/arm/libsim.a ../bfd/libbfd.a ../readline/libreadline.a ../opcodes/libopcodes.a ./../intl/libintl.a ../libiberty/libiberty.a `if test -r ../libtermcap/libtermcap.a; then echo../libtermcap/libtermcap.a; else echo -ltermcap; fi`   -lm../libiberty/libiberty.a -luser32 `pkg-config --cflags gtk+-2.0 ` -L/usr/lib libgtk-win32-2.0.dll.a libatkmm-1.0.dll.a       libgtkmm-2.0.dll.a libgdk-win32-2.0.dll.a   libgtkmm_generate_extra_defs-2.0.dll.a libgdk_pixbuf-2.0.dll.alibpangomm-1.0.dll.a libgdkmm-2.0.dll.a libglibmm-2.0.dll.a libglib-2.0.dll.a libgobject-2.0.dll.a libgmodule-2.0.dll.a libgthread-2.0.dll.a

zhangzc 发表于 2005-1-23 12:38:09

test report with ep7312

test in ep7312
ep7312_with_dynaiclib                                        ok
ep7312_with_framebuffer_touchscreen_minigui ok 能成功运行house-keeper程序,touch-screen能够正常工作,但速度极慢
ep7312_with_imagekernel                                  ok 但readme 中 (SkyEye)load应去掉
ep7312_with_lcd                                                 ok 但运行时console上出现大量gtk错误“(skyeye:20536): Gtk-CRITICAL **: file ../../gtk+-2.2.1/gtk/gtkwidget.c: line 2214 (gtk_widget_draw): assertion `GTK_IS_WIDGET (widget)' failed sim_info called”,重定向到NULL后,可以正常运行demo-x,demobmp等
ep7312_with_lcd_touchscreen                            ok,但慢
ep7312_with_net                                                fail,core dump

zhangzc 发表于 2005-1-23 23:02:43

怎么贴7兆的大文件啊?我想把可执行程序和dll等打包发上来

rt

halfyear 发表于 2005-1-24 11:44:20

Re

Goodwu 发表于 2005-1-24 12:54:24

如果要考虑网络支持,参考openvpn里面的tap-win32

zhangzc 发表于 2005-1-25 17:58:10

openvpn我不熟,我觉得是不是也可以考虑win pcap?

如果要考虑网络支持,参考openvpn里面的tap-win32

chyyuu 发表于 2005-1-26 09:25:42

这几天忙于其它事务,发现zhangzc的大作,甚为惊喜!
请问cygwin需要安装哪些包?
希望能与你email联系!
你可以把软件(7MB)发给我看看!
不知你把软件上载到 ftp://166.111.68.183/incoming/
上如何?

zhangzc 发表于 2005-1-26 23:51:07

这几天忙于其它事务,发现zhangzc的大作,甚为惊喜!
请问cygwin需要安装哪些包?
希望能与你email联系!
你可以把软件(7MB)发给我看看!
不知你把软件上载到 ftp://166.111.68.183/incoming/
上如何?cygwin我也就安装了常见的包,我现在也不知道详细的列表。比较特殊的,只有上面第二篇开头提到的那几个包(gtk for cygwin)是单独安装的。
我的email是[email protected],另外我上穿了一份打包好的软件在
ftp://166.111.68.183/incoming/skyeye-cygwin.rar ,我不在教育网,上传时,失败了两次,你试试这个版本能不能用?不行的话,我再重传

chyyuu 发表于 2005-1-29 11:10:38

zhangzc , 前两天给你发了email,收到了吗?保持联系!

wzyzz 发表于 2005-2-24 10:36:26

FTP上的软件不见了

zhangzc 发表于 2005-2-24 22:54:55

可能被管理员删了,不知道有没有其他空间可以长期存放大文件的

littertiger 发表于 2005-2-28 22:29:35

gtk2-win32-2.2.1-3.tar.gz
gtkmm-win32-2.2.0-1.tar.gz
这两个包我怎么找不到呢?

zhangzc 发表于 2005-2-28 23:59:20

RE

gtk2-win32-2.2.1-3.tar.gz
gtkmm-win32-2.2.0-1.tar.gz
这两个包我怎么找不到呢?

在下面地址下载http://web.sfc.keio.ac.jp/~s01397ms/cygwin/index.html.en

littertiger 发表于 2005-3-1 09:39:26

3x! downloading...
页: [1] 2 3
查看完整版本: SkyEye0.8.5.1成功移植到cygwin下