完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本人实习生一枚,最近接到一个任务,就是将minigui移植到9G45开发板,操作系统是vxworks6.6。
接到这个任务的时候,就有两个想法,第一个就是上网搜教程。搜了半天,就搜到一个将minigui1.6.10移植到mips内核的开发板。而且那个高手的minigui1.6.9跟开源的是不一样的,估计是增值版的(收费的),所以参考价值比较低。另外我是用WindRiver工具,而不是Tornado工具。所以,我慢慢琢磨着弄了一个自己的rules.make,如下。 # rules for 9g45-vxworks AS= CC=CC CPP=dplus AR=AR RANLIB=ranlib MAKE=/usr/bin/make ARFLAGS=crus COFLAGS=-c OBJ=o LIBA=a PREFIX=C:/cross TARGET_DIR=D:/WindRiver/vxworks-6.6/target INCS+=-I$(TARGET_DIR)/h CFLAGS+=-g -D_VX_CPU=_VX_ARMARCH5 -D_VX_TOOL_FAMILY=diab -D_VX_TOOL=diab -DARMEL -D__LITTLE_ENDIAN__ 这个rules.make我也不知道是不是正确的,但是就是能编译了。 不过编译的时候出现了很多问题,如下。 In file included from D:/WindRiver/vxworks-6.6/target/h/stdio.h:60, from misc.c:16: D:/WindRiver/vxworks-6.6/target/h/types/vxANSI.h:53:26: types/vxCpuX.h: No such file or directory In file included from D:/WindRiver/vxworks-6.6/target/h/base/e_vxTypesOld.h:111, from D:/WindRiver/vxworks-6.6/target/h/types/vxTypesOld.h:126, from D:/WindRiver/vxworks-6.6/target/h/vxWorksCommon.h:213, from D:/WindRiver/vxworks-6.6/target/h/vxWorks.h:84, from D:/WindRiver/vxworks-6.6/target/h/private/handleLibP.h:21, from D:/WindRiver/vxworks-6.6/target/h/stdio.h:62, from misc.c:16: D:/WindRiver/vxworks-6.6/target/h/sys/types.h:103:30: base/b_clockid_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:105:35: base/b_pthread_cond_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:106:39: base/b_pthread_condattr_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:107:34: base/b_pthread_key_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:108:36: base/b_pthread_mutex_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:109:40: base/b_pthread_mutexattr_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:110:35: base/b_pthread_once_t.h: No such file or directory D:/WindRiver/vxworks-6.6/target/h/sys/types.h:111:32: base/b_suseconds_t.h: No such file or directory In file included from D:/WindRiver/vxworks-6.6/target/h/sys/types.h:113, from D:/WindRiver/vxworks-6.6/target/h/base/e_vxTypesOld.h:111, from D:/WindRiver/vxworks-6.6/target/h/types/vxTypesOld.h:126, from D:/WindRiver/vxworks-6.6/target/h/vxWorksCommon.h:213, from D:/WindRiver/vxworks-6.6/target/h/vxWorks.h:84, from D:/WindRiver/vxworks-6.6/target/h/private/handleLibP.h:21, from D:/WindRiver/vxworks-6.6/target/h/stdio.h:62, from misc.c:16: D:/WindRiver/vxworks-6.6/target/h/base/b_trace_id_t.h:33: error: parse error before "trace_id_t" D:/WindRiver/vxworks-6.6/target/h/base/b_trace_id_t.h:33: warning: data definition has no type or storage class In file included from misc.c:23: ../../include/common.h:55:33: ../mgconfig.h: No such file or directory In file included from misc.c:23: ../../include/common.h:256: error: redefinition of typedef 'BOOL' D:/WindRiver/vxworks-6.6/target/h/base/b_BOOL.h:31: error: previous declaration of 'BOOL' was here ../../include/common.h:415: error: redefinition of typedef 'UINT' D:/WindRiver/vxworks-6.6/target/h/types/vxTypesOld.h:145: error: previous declaration of 'UINT' was here ../../include/common.h:1452: error: conflicting types for 'time_t' D:/WindRiver/vxworks-6.6/target/h/base/b_time_t.h:40: error: previous declaration of 'time_t' was here In file included from misc.c:32: D:/WindRiver/vxworks-6.6/target/h/time.h:102: error: redefinition of `struct tm' In file included from misc.c:34: D:/WindRiver/vxworks-6.6/target/h/sys/ioctl.h:116:27: ipnet/ipioctl.h: No such file or directory misc.c: In function `LookForEtcFile': misc.c:118: error: `ETCFILENAME' undeclared (first use in this function) misc.c:118: error: (Each undeclared identifier is reported only once misc.c:118: error: for each function it appears in.) misc.c:154: error: parse error before "ETCFILENAME" misc.c:161: error: parse error before "ETCFILENAME" ../../rules.make:128: recipe for target `misc.o' failed make[2]: *** [misc.o] Error 1 当然不止这么一点,还有很多的,但是一步一步来吧。 另外还有个想法,同时也是带我那个师傅的想法,就是看明白整个minigui的代码结构,然后把它的源码直接加入到工程中,然后一起编译。 我也试了的,但是没有成功,主要是因为minigui刚刚开始就是给GNU环境设计的,所以它里面会包含一些linux环境才有的头文件,如:alloca.h,我在WindRiver工程里面加入了cygwin(神器)里面的usr/include这个头文件路径,是可以找到alloca.h了,但是之后又会出现一些错误,比如大小端没定义之类的。我还是能解决的,但是,到了最后,它就报usr/include里面的文件错误,这个就真心无法解决了。 如果我能把这个弄出来,肯定要写篇很详细的教程,然后共享给大家,希望大家多多帮助! |
|
相关推荐
10个回答
|
|
自己顶一下,免得帖子沉了。
|
|
|
|
再顶一下。。。。。。。。。。。。。。。。。。。。。
|
|
|
|
跟楼上的一块定
|
|
|
|
别沉了,顶起,一起学习
|
|
|
|
持续关注中,别沉了
|
|
|
|
顶起,搞定了没
|
|
|
|
恩,需要学习的还很多,最好多了解下目标板架构和编译器原理
|
|
|
|
顶起,一起学习!
|
|
|
|
不知道楼主移植成功了没
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
514 浏览 1 评论
请问Vxworks remove 返回值 错误码 errno为0xb83dd0 表示什么意思?
2155 浏览 0 评论
4123 浏览 1 评论
4997 浏览 0 评论
采用普通裸机boot跳转到VxWorks_rom镜像启动可行吗
3340 浏览 0 评论
514浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-5 05:23 , Processed in 0.600306 second(s), Total 69, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191