前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Tool之VIP

Tool之VIP

作者头像
Taishan3721
发布2019-07-10 15:34:04
4.1K0
发布2019-07-10 15:34:04
举报
文章被收录于专栏:这里只有VxWorks这里只有VxWorks

VIP,就是VxWorks Image Project,Workbench中最基本的工程了,用于构建系统镜像

在Workbench的Kernel Configuration里,可以通过图形化的方式来配置VIP的组件(Component)。这些组件将预先编译的库文件链接到系统镜像中,来实现不同的系统功能

创建VIP时,一般使用默认的配置;也可以根据特定需求,来选择预定义的一些profile,例如Development等

  • PROFILE_SMALL_FOOTPRINT - 小内存、小内核,基本系统功能
  • PROFILE_COMPATIBLE - 兼容VxWorks 5.5的最小配置
  • PROFILE_DEVELOPMENT - 包含开发/调试组件,及RTP
  • PROFILE_ENHANCED_NET - 典型的网络组件,例如DHCP客户端、DNS、Telnet Server等
  • PROFILE_BOOTAPP - boot loader机制

创建后,还可以使用Bundle来添加一组相关的组件,例如POSIX

在开发过程中,还可以根据需求的变化,动态的调整组件。例如为了方便调试,添加Kernel Shell、EDR等组件

而到了产品交付阶段,为了减少内存消耗、加快引导速度,以及为了安全问题,很可能还会移除那些用于调试的组件,例如INCLUDE_WDB

另外,很多组件之间是有依赖关系的,Kernel Configuration会自动检测并关联它们

VIP中已经包含的组件会用粗体显示

组件的Macro Name多是以INCLUDE_开始的,少数以DRV_为前缀的是VxBus驱动

部分常见组件如下

  • INCLUDE_ANSI_XXX - 多种ANSI C库
  • INCLUDE_BOOTLINE_INIT - 解析引导设备配置信息
  • INCLUDE_CACHE_SUPPORT - Cache的支持
  • INCLUDE_CPLUS - C++的支持
  • INCLUDE_CPLUS_XXX - C++的多种功能
  • INCLUDE_DEBUG - Kernel Shell调试机制
  • INCLUDE_EDR_XXX - EDR机制
  • INCLUDE_DOSFS - DOS兼容文件系统
  • INCLUDE_FLOATING_POINT - 浮点I/O
  • INCLUDE_FORMATTED_IO - 格式化I/O
  • INCLUDE_IPFTPS - FTP服务器
  • INCLUDE_IO_SYSTEM - I/O系统及相关接口,目录与路径相关函数
  • INCLUDE_LOADER - Kernel对象模块加载机制
  • INCLUDE_LOGGING - 日志机制
  • INCLUDE_MEM_MGR_BASIC - 内核内存分区管理
  • INCLUDE_MEM_MGR_FULL - 全功能内存管理
  • INCLUDE_MIB2_XXX - 多种MIB-2选项
  • INCLUDE_MMU_BASIC - MMU的支持
  • INCLUDE_MSG_Q - 消息队列
  • INCLUDE_NETWORK - 网络系统
  • INCLUDE_NFS - 网络文件系统NFS
  • INCLUDE_NFS_SERVER - NFS服务器
  • INCLUDE_PIPES - 管道驱动
  • INCLUDE_POSIX_XXX - 多种POSIX功能
  • INCLUDE_PROTECT_TEXT - 文本段写保护
  • INCLUDE_PROTECT_VEC_TABLE - 像量表写保护
  • INCLUDE_PROXY_CLIENT - Proxy ARP客户端
  • INCLUDE_PROXY_SERVER - Proxy ARP服务器
  • INCLUDE_RAWFS - Raw文件系统
  • INCLUDE_RLOGIN - rlogin远程登录
  • INCLUDE_ROMFS - ROMFS文件系统
  • INCLUDE_RTP - 实时进程RTP
  • INCLUDE_SCSI - SCSI支持
  • INCLUDE_SCSI2 - SCSI-2扩展
  • INCLUDE_SECURITY - 远程登录安全包
  • INCLUDE_SELECT - Select机制
  • INCLUDE_SEM_BINARY - 二进制信号量
  • INCLUDE_SEM_COUNTING - 计数信号量
  • INCLUDE_SEM_MUTEX - 互斥信号量
  • INCLUDE_SHELL - Kernel Shell
  • INCLUDE_XXX_SHOW - 多种系统对象的Show机制
  • INCLUDE_SIGNALS - 信号Signal机制
  • INCLUDE_SM_OBJ - 共享内存对象
  • INCLUDE_SPY - 任务的活跃度监测
  • INCLUDE_STDIO - 标准缓存I/O
  • INCLUDE_SW_FP - 软件浮点
  • INCLUDE_SYM_TBL - 符号表
  • INCLUDE_TASK_HOOKS - Kernel调用的任务钩子
  • INCLUDE_TASK_VARS - 任务变量
  • INCLUDE_IPTELNETS - Telnet远程登录
  • INCLUDE_TFTP_CLIENT - TFTP客户端
  • INCLUDE_TFTP_SERVER - TFTP服务器
  • INCLUDE_TIMEX - 测量函数执行时长的机制
  • INCLUDE_TRIGGERING - 系统与用户事件的Trigger
  • INCLUDE_UNLOADER - Kernel对象模块卸载机制
  • INCLUDE_VXEVENTS - VxWorks事件机制
  • INCLUDE_WATCHDOGS - 看门狗机制
  • INCLUDE_WDB - WDB机制
  • INCLUDE_WDB_TSFS - Target Server文件系统
  • INCLUDE_WINDVIEW - System Viewer机制

除了组件,在VIP中还可以直接包含应用程序

也可以把应用程序编成库(.a文件),然后链接到VIP中。如果有多个.a文件,就用空格间隔开

还可以添加应用程序的头文件路径

Build VIP后,就会在工程目录里生成default/vxWorks文件。这就是最终的系统镜像,被boot loader加载到Target的RAM里执行后,就是VxWorks系统了

有了VIP,接下来就可以开发内核态应用(DKM)、用户态应用(RTP),包含内存文件系统(RomFS),创建共享库(SL)等等。我们的征途是星辰大海,从现在开始,一步步,慢慢来

这正是:

工欲善其事,必先利其器。

跬步至千里,基础VIP。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 这里只有VxWorks 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档