温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Tool中如何实现源码编译

发布时间:2021-12-22 10:57:01 来源:亿速云 阅读:124 作者:小新 栏目:互联网科技

这篇文章给大家分享的是有关Tool中如何实现源码编译的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

使用VIP编译VxWorks Image时,可能会遇到某些组件不可选,甚至找不到的情况

Tool中如何实现源码编译

这是因为IDE工具(Tornado/Workbench)没有找到相应的库文件。
风河在VxWorks中提供了很多很多组件,其中有些组件只提供了源码,主要是与connectivity、security、 management相关的组件,例如Wind River Firewall, Wind River IPsec and IKE, Wind River Mobile IP,以及上图中的CRYPTO等。要想在VxWorks中调用它们,就需要先将这些源码编译为库。还有一些组件既提供了源码,也提供了库文件,但是出于某种原因可能需要修改源码,或者调整参数,这时候也需要重新编译源码。

VxWorks 5.x
VxWorks 5.x的时候,要想编译源码,首先需要在Host系统的命令行工具里调用$(WIND_BASE)/host/$(WIND_HOST_TYPE)/bin/torVars.bat来设置VxWorks的环境变量,然后在$(TGT_DIR)/src目录下运行make命令就可以了

Tool中如何实现源码编译

make的参数通常包括CPU和TOOL

Tool中如何实现源码编译

不过在VxWorks5.x时,编译器diab还是分开销售的,大多数用户并没有安装,因此TOOL的值只能是编译器gnu了,写不写也就无所谓了。而CPU的值,取决于使用什么样的target,可以从其BSP的makefile文件中获得

Tool中如何实现源码编译

VxWorks 6.1-6.6
到了VxWorks 6,VxWorks提供了更多的组件。除了使用命令行,Workbench还提供User-Defined Project来为VxWorks 6.1-6.6编译源码。

Tool中如何实现源码编译
新建一个User-Defined Project,选择相应的VxWorks做为Target operating system

Tool中如何实现源码编译
然后将Project的位置设置到VxWorks所在的文件夹

Tool中如何实现源码编译 最重要的是,根据target的情况来填写Build command

Tool中如何实现源码编译

CPU的值,同样是参考target BSP的makefile文件;而这时候的TOOL,一般gnu和diab都是可以选的了,根据项目的实际需求来决定。还有几个参数

  • comp-xxx表示库的作用空间,取值comp-kernel表示这是kernel的库,这也是默认值;取值comp-usr表示这是user mode的库,也就是给RTP用的

  • FEATURE_SET表示哪种platform,需要根据实际情况来选择,例如FEATURE_SET=pne,不过一般用户都是只安装一种platform,因此这个参数就不用填写了。常见的platform有pne、pid、pad、pcd, 还有一种叫gpp,它是不包含源码的,因此也就不需要再编译了

    • Platform for Network Equipment

    • Platform for Industrial Devices

    • Platform for Automotive Devices

    • Platform for Consumer Devices

    • General Purpose Platform

  • VXBUILD表示是否配置为SMP模式,不填写就表示UP,因此填写的话,只能是VXBUILD=SMP了

  • ADDED_CFLAGS表示C的编译选项,如果想使用更多的选项,一般使用+=符号,例如ADDED_CFLAGS+=-g

  • ADDED_C++FLAGS表示C++的编译选项

  • 而要想清除已有的库,clean rule是TARGET=rclean

VxWorks 6.7-6.9
到了VxWorks 6.7,风河不再建议使用命令行或者User-Defined Project,因为这样会破坏系统自带的库文件。而是提供了一种非常强大的工程:VxWorks Source Build Project。使用这种VSB,可以图形化的定制所需组件以及参数,并且编译得到的库会单独存放。因此,可以为不同的CPU或BSP编译多种不同的库。

Tool中如何实现源码编译创建VSB时,可以选择基于某种BSP或者某种CPU。基于BSP编译时,编译工具会针对BSP进行专门的优化,可以提供更好的性能和更小的代码尺寸。基于CPU编译时,得到的库可以用于支持该CPU的所有BSP。 Tool中如何实现源码编译

创建VSB之后,可以根据实际需求对其进行配置。例如使能CRYPTO组件

Tool中如何实现源码编译

添加FIREWALL组件

Tool中如何实现源码编译

然后编译工程,不过高版本的VxWorks中包含的组件有点多,编译时间会有些长,一般会超过30分钟
VSB编译完成后,就会在VSB的目录里得到新的库文件。这时候需要创建新的VIP才能使用这些新的库文件。新建的VIP不像之前的工程是基于一个BSP的,而是要基于这个VSB工程

Tool中如何实现源码编译

在新建的VIP里,就可以看到之前的CRYPTO变成可选的了,并且多出了FIREWALL组件

Tool中如何实现源码编译

Tool中如何实现源码编译


当然了,还有一种在VIP中不能使用某种组件的情况,那就是:没有安装(其实就是没有购买了),例如只安装了两张CD的VxWorks 5.5或者gpp的VxWorks 6.x   ^_^


感谢各位的阅读!关于“Tool中如何实现源码编译”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI