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的配置依赖于下面2种配置:
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()函数。
编程时注意事项
VxWorks Small-Footprint Configuration
原文:http://www.cnblogs.com/C-Sharp2/p/VxWorks_Kernel_Programmer.html