Target Shell 符号表加载方法
来源:互联网 发布:origin加速mac 编辑:程序博客网 时间:2024/05/17 07:34
To make full use of the target shell's features, you should also define the target symbol table, as well as the target module loader and unloader. Select the following components (identified by their associated macros) in the VxWorks view (see Tornado User's Guide: Projects for configuration information):
- INCLUDE_SYM_TBL for target symbol table support, plus one of the following:
- INCLUDE_NET_SYM_TBL to load the symbol table from the network (vxWorks.sym; you will also need to separately loadvxWorks)
- INCLUDE_STANDALONE_SYM_TBL to build a VxWorks image that includes the target symbol table (vxWorks.st)
- INCLUDE_LOADER
- INCLUDE_UNLOADER
If the target symbol table is included, usrRoot( ) runs hashLibInit( ) andsymLibInit( )to initialize the corresponding libraries. The target symbol table is created by callingsymTblCreate( ). For convenience during debugging (see9.2.3 Debugging with the Target Shell), it is most useful to have access to all symbols in the system. On the other hand, a production version of a system can be built that does not require the target symbol table, if (for example) memory resources are constrained.
The symTblCreate( ) call creates an empty target symbol table. VxWorks system facilities are not accessible through the target shell until the symbol definitions for the booted VxWorks system are entered into the target symbol table. This is done by reading the target symbol table from a file calledvxWorks.sym in the same directory from which vxWorks was loaded (installDir/target/config/bspname). This file contains an object module that consists only of a target symbol table section containing the symbol definitions for all the variables and routines in the booted system module. It has zero-length (empty) code, data, and relocation sections. Nonetheless, it is a legitimate object module in the standard object module format.
The symbols in vxWorks.sym are entered in the target symbol table by callingloadSymTbl( ) (whose source is ininstallDir/target/src/config/usrLoadSym.c). This routine uses the target-resident module loader to load symbols fromvxWorks.sym into the target symbol table.
For the most part, the target-resident facilities work the same as their Tornado host counterparts; see8.9.1 Creating a Standalone VxWorks System with a Built-in Symbol Table,8.4.4 Downloading an Application Module, and 8.4.6 Unloading Modules. However, as stated earlier, the target-resident facilities can be useful if you are building dynamically configured applications. For example, with the target-resident loader, you can load from a target disk as well as over the network, with these caveats: If you use the target-resident loader to load a module over the network (as opposed to loading from a target-system disk), the amount of memory required to load an object module depends on what kind of access is available to the remote file system over the network. Loading a file that is mounted over the default network driver requires enough memory to hold two copies of the file simultaneously. First, the entire file is copied to a buffer in local memory when opened; second, the file resides in memory when it is linked to VxWorks. On the other hand, loading an object module from a host file system mounted through NFS only requires enough memory for one copy of the file (plus a small amount of overhead). In any case, however, using the target-resident loader takes away additional memory from your application--most significantly for the target-resident symbol table required by the target-resident loader.
For information on the target-resident module loader, unloader, and symbol table, see theloadLib, unldLib, andsymLib reference entries.
- Target Shell 符号表加载方法
- Target Shell
- 关于 符号表加载错误
- shell--符号
- Shell符号及各种解释对照表:
- Shell符号及各种解释对照表
- linux中shell截取字符串方法总结 关键符号${}
- WinDBG加载符号表的一点心得体会
- Visual Studio2010 加载windows符号表
- WinDBG加载符号表的一点心得体会
- WinDBG加载符号表的一点心得体会
- WinDBG加载符号表的一点心得体会
- IDA 与VC 加载符号表
- IDA 与VC 加载符号表
- linux shell用法(4)-- shell逻辑符号与c兼容方法
- 【shell脚本】shell的符号
- shell编程中的符号
- shell 符号详解大全
- 工作是有计划的学习
- OSPF之五种报文协议
- .NET对存储过程的调用抽象封装
- Target Shell
- book.h的源码
- Target Shell 符号表加载方法
- CPUBitmap的定义
- xcode 设置编码区背景颜色
- NPAPI插件开发详细记录:插件开发入门
- CentOS防火墙开启、关闭以及开放指定端口
- 为何一般不建议在中断中喂狗?
- JS校验身份证号码
- 在GPU上实现光线跟踪
- oracle网络配置listener.ora、sqlnet.ora、tnsnames.ora