OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 关于VxWorks_rom映像文件编译问题

共10条 1/1 1 跳转至

关于VxWorks_rom映像文件编译问题

菜鸟
2007-12-23 21:44:52    评分
各位大虾:你们好,求助!!!
我在用Tornado编译生成VxWorks_rom映像的时候,出现如下的错误提示,请问是哪里出了问题,但是如果我编译生成VxWorks映像文件的话就能成功,这是为什么呢?
romInit.o(.text+0x28e): undefined reference to `romStart'
romInit.o(.text+0x292): undefined reference to `romStart'
make: *** [vxWorks_romCompress] Error 0x1



关键词: 关于     VxWorks     映像     文件     编译     问题    

菜鸟
2007-12-24 14:39:24    评分
2楼

看似编译规则有些问题,按照给定的编译规则tornado认为不需要编译包含romStart函数的源文件并把它链接到系统映象中去,而最终目标又需要这个函数。
是否在建立编译目标的时候选项选错了,用了ram型的规则来编译rom型映象啊?
可否给出更多的相关信息。


菜鸟
2007-12-24 21:27:12    评分
3楼

谢谢yaopg!
我请教别人,他也是这样说,估计是编译规则的问题,在编译vxworks映像文件的时候,romStart.c函数是不需要要链接到系统映像中去的。而vxworks_rom型映像是需要的。

编译选项应该是没问题的,我用的是Tornado2.0编译的,只有default,而没有Tornado2.2的default_rom等选项。


菜鸟
2007-12-24 21:33:15    评分
4楼

如果是T22,default是RAM型的。。。T20不太清楚具体如何。可以自己新建编译目标的,又或者使用命令行编译。


菜鸟
2007-12-24 23:24:28    评分
5楼

捣腾了一晚上还是没有把问题解决,在makefile里的MACH_EXTRA  加了romStart.o编译还是同样的错误。我想请教yaopg,怎么新建编译目标,或者使用命令行编译?我还是新手,请赐教!谢谢!


菜鸟
2007-12-27 22:59:08    评分
6楼

编译通过了!!!
将makefile文件里的BOOT_OBJS= 后面的参数清空,也就是不填目标BOOT,因为实际的VxWorks_rom映像文件已经编译生成了romStart.o, romInit.o 。再这里就不需要再添加BOOT映像文件了。
然后再将DEFAULT_RULE设为vxWorks_rom即可编译通过!!!


菜鸟
2007-12-28 08:31:41    评分
7楼
建议楼主看看makefile最后包含的两个文件 rules.bsp rules.***,此文件包含了所有编译信息

菜鸟
2008-01-03 11:55:47    评分
8楼
建议你不要更改makefile,重新加载生成工程文件,会解决编译问题

菜鸟
2012-05-15 14:37:14    评分
9楼

proj里面的Makefile 是自动生成的,最后哪有包含两个文件啊?


菜鸟
2012-05-16 11:23:57    评分
10楼
最近学习vxworks,。很受教

共10条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]