VxWorks Small-Footprint Configuration

  1. 什么是Small-footprint?
  2. Small-footprint常见关键配置?
  3. 如何配置Small-footprint?

什么是Small-footprint?

Small-footprint配置是专门为最小化内核功能和小内存而设计的系统,最少内核功能及最小内存占用。

Small-footprint所支持的内核功能

  1. 中断管理
  2. 系统时钟
  3. 任务管理
  4. 信号量互斥
  5. 可选功能:二进制信号量及kprintf()

Small-footprint不支持的功能

  1. 动态内存分配,(即不支持malloc等函数)
  2. 消息队列
  3. 基本I/O
  4. 大多数标准I/O功能(stdio.h)
  5. 文件系统
  6. 内核shell
  7. 网络
  8. 实时进程(RTP)
  9. C++

Small-footprint常见关键配置?


Component


Default


Description


INCLUDE_NETWORK


*


Network subsystem code


INCLUDE_NFS


Network File System (NFS)


INCLUDE_NFS_SERVER


NFS server


INCLUDE_PIPES


*


Pipe driver


INCLUDE_POSIX_XXX


Various POSIX options


INCLUDE_PROTECT_TEXT


Text segment write protection


INCLUDE_PROTECT_VEC_TABLE


Vector table write protection


INCLUDE_PROXY_CLIENT


*


Proxy ARP client support


INCLUDE_PROXY_SERVER


Proxy ARP server support


INCLUDE_RAWFS


Raw file system


INCLUDE_RLOGIN


Remote login with rlogin


INCLUDE_ROMFS


ROMFS file system


INCLUDE_RTP


Real-time process support


INCLUDE_SCSI


SCSI support(not provided for 64-bit VxWorks with this release)


INCLUDE_SCSI2


SCSI-2 support(not provided for 64-bit VxWorks with this release)


INCLUDE_SECURITY


Remote login security package


INCLUDE_SELECT


Select facility


INCLUDE_SEM_BINARY


*


Binary semaphore support


INCLUDE_SEM_COUNTING


*


Counting semaphore support


INCLUDE_SEM_MUTEX


*


Mutual exclusion semaphore support


INCLUDE_SHELL


Kernel (target) shell


INCLUDE_XXX_SHOW


Various system object show facilities


INCLUDE_SIGNALS


*


Software signal facilities


INCLUDE_SM_OBJ


Shared memory object support (requires VxMP)


INCLUDE_SNMPED


SNMP agent


INCLUDE_SPY


Task activity monitor


INCLUDE_STDIO


*


Standard buffered I/O package


INCLUDE_SW_FP


Software floating point emulation package


INCLUDE_SYM_TBL


Target-resident symbol table support


INCLUDE_TASK_HOOKS


*


Kernel call-out support


INCLUDE_TASK_VARS


*


Task variable support


INCLUDE_IPTELNETS


Remote login with telnet


INCLUDE_TFTP_CLIENT


*


TFTP client support


INCLUDE_TFTP_SERVER


TFTP server support


INCLUDE_TIMEX


*


Function execution timer


INCLUDE_TRIGGERING


Function execution timer


INCUDE_UNLOADER


Target-resident kernel object module unloader package


INCLUDE_VXEVENTS


VxWorks events support


INCLUDE_WATCHDOGS


*


Watchdog support


INCLUDE_WDB


*


WDB target agent


INCLUDE_WDB_TSFS


*


Target server file system


INCLUDE_WINDVIEW


System Viewer command server

如何配置Small-footprint?

Small-footprint的配置依赖于下面2种配置:

  1. VSB的PROFILE_SMALL_FOOTPRINT的配置
  2. VIP的PROFILE_SMALL_FOOTPRINT的配置

VSB允许你从源码层来自定义和优化类库,并且构建它们。VIP则允许你在基于VSB上的自定义类库通过组件的选择和移除来配置VxWorks映像。

注意:使用PROFILE_SMALL_FOOTPRINT的VSB项目通常比VIP项目减少内存更加明显。

当使用PROFILE_SMALL_FOOTPRINT配置创建VSB项目时,下面的选项可以被选择:


VSB Option


Description


REMOVE_UNUSED_FUNCTIONS


启用该选项时,编译器和连接器将移除从没有使用的函数和数据。


FORMATTED_OUT_BASIC


提供了kprintf()函数。


OBJECT_VERIFICATION


将对提供给内核的对象进行验证,如果传递给内核的对象非法,则将导致无法恢复的故障


OBJECT_CLASS_LIST_PSF


提供了调试内核对象的能力。如果移除该选项,则一些特征无法使用,如show,open和常用函数,如taskShow,semOpen等。没有这些这些特征,VxWorks无法配置INCLUDE_OBJ_OPEN,INCLUDE_CLASS_SHOW和INCLUDE_OBJ_INFO组件。对应PROFILE_SMALL_FOOTPRINT的系统,OBJECT_CLASS_LIST_PSF提供了同样的功能。


TASK_CREATE_HOOKS


默认支持。当禁用时,VIP项目无法使用INCLUDE_TASK_CREATE_HOOKS组件。


TASK_SWITCH_HOOKS


默认情况下,该选项被包含。当禁用时,INCLUDE_TASK_SWITCH_HOOKS组件无法被VIP项目包含。


CPU_PWR_MGMT_PSF


电源管理,目前64位VxWorks不支持。CPU_PWR_MGMT_D选项提供了特定CPU的电源管理支持。VSB中不包含电源管理,则VIP无法包含。没有电源管理,调度将更快。


EDR_POLICY_HOOKS


错误检测和报告策略。


COMPONENT_VXTESTV2_PSF


BSP验证测试套件。


SFOOTPRINT_VXTESTV2


小内存的验证测试套件。

VIP的small-footprint配置和组件

包含以下组件。

INCLUDE_KERNEL

提供内核能力,如调度和任务

INCLUDE_SYSCLK_INIT

提供系统时钟,如果禁用将没有超时机制,即semTake或taskDelay函数中的超时将不会使用超时机制。

下面的组件也可以被添加到VxWorks

INCLUDE_SEM_BINARY

提供二进制信号量的支持。注意:在使用INCLUDE_KERNEL带有INCLUDE_SEM_MUTEX的组件时,互斥信号量将被自动包含。

INCLUDE_DEBUG_KPRINTF

提供kprintf()函数。

编程时注意事项

  • 不能动态分配内存,必须使用静态内存分配,即在编译时就必须分配好内存。Malloc和free不支持。内核对象只能静态实例化。
  • 任务,信号量和看门狗也无法在运行时创建,taskSpawn,taskDelete,semXCreate,semDelete等类似函数也无法使用。
  • Kprintf可以使用,但是printf和相关函数无法使用。
时间: 2024-10-14 13:14:31

VxWorks Small-Footprint Configuration的相关文章

SAP NWBC for HTML and Desktop configuration steps[From sdn]

Summary :- This dcoumnenst conatin the information about requirement , hardware , configuration steps and Comparison of NWBC for Desktop and NWBC for HTML. Created by  : Brindavan Mookaiah Designation : SAP BASIS Consultant Table of content:- 1)  Har

at91 uart driver for vxworks

/* at91UART.c - AT91RM9200 serial driver */ /* Copyright 2003-2004 Coordinate Co., Ltd. */ /* Copyright 1984-2002 Wind River Systems, Inc. */ /* modification history -------------------- 01a,28jul04,cor  created from original at91Sio.c. */ /* .SH TOD

VxWorks操作系统shell命令与调试方法总结

VxWorks下的调试手段 主要介绍在Tornado集成开发环境下的调试方法,和利用支撑定位问题的步骤.思路. 1         Tornado的调试工具 嵌入式实时操作系统VxWorks和集成开发环境Tornado的组成结构如下图1.分为主机和目标机系统. 图1 集成开发环境结构图 在Tornado下,调试相关操作在Debug菜单下,包括: 图2 Debug菜单 简单解释各菜单项的功能 1.1        WindShell 1.1.1         简介 Vxworks的Shell分为

解决使用MathJax时弹出框显示MathJax no longer loads a default configuration file的问题~

解决使用MathJax时弹出框显示MathJax no longer loads a default configuration file的问题~ MathJax no longer loads a default configuration file 2down votefavorite I have been getting this error message on Maths and Physics network MathJax no longer loads a default co

ubuntu开机出现waiting for network configuration

ubuntu启动时,出现waiting for network configuration,waiting up to 60 more seconds for network configuration等,进入桌面后网络图标也不见了 解决方法,首先在 /etc/network/interfaces 文件里面无关的都删去,留下lo这个 然后再到/etc/init/failsafe.conf文件里将sleep59改成5或10,sleep50意思是等待59秒

出现unmapped spring configuration files found

intell idea启动出现unmapped spring configuration files found提示. 把spring里面的内容都打勾.

Check if a configuration profile is installed on iOS

Configuration profiles can be downloaded to an iOS device through Safari to configure the device in a certain way. You can do things like force the user to set a passcode or set restrictions like not allowing them to install apps or not allowing acce

Apache Commons Configuration之一简介

1    简介 Commons Configuration软件类库提供通用配置接口,使Java应用程序从多种源读取配置文件.Commons Configuration提供简单类型访问和通过以下代码演示的多义配置参数: Double double = config.getDouble("number"); Integer integer = config.getInteger("number"); 配置参数可以从以下源加载: Properties文件 XML文档 Pr

System Center 2012 R2 CM系列之配置configuration manager防火墙设置

为了能够正常推送Configuration Manager 2012 R2客户端,必须添加防火墙例外设置,主要包括以下两个:A:文件和打印共享:B: Windows Management Instrumentation (WMI) 1. 打开并登录"BJ-DC-01"服务器,点击工具,打开组策略管理器 2. 右键相关域,点击创建"在这个域中创建GPO并在此处链接" 3. 新建GPO对话框中输入相应的GPO名称 4. 右键新创建的PGO,点击编辑,并打开组策略管理编辑