📄 vxw_pt6.html
字号:
Anothor solution is this program from cedilnik andrej(acedil1@irix1.gl.umbc.edu). It can be started using the commandSync("IP-address"), for example Sync ("18.72.0.3"). Here is the program:<a href="ntp.c">ntp.c</a>.<p><hr WIDTH="60%"><p><h3><a NAME="6.6"><center>6.6 Performance / Benchmarks</center></a></h3><a NAME="6.6-A"></a>Q: What is the performance of VxWorks on my target?<p>A: There are a number of benchmark results published by Wondriver. Ask yourFAE for more information about this. These documents include details oncontext switching, interrupts etc.<p><hr WIDTH="60%"><p><h3><a NAME="6.7"><center>6.7 SNMP</center></a></h3><a NAME="6.7-A"></a>Q: How do I generate the Envoy SNMP server?<p>A: I've actually built the beast, including v3 support.You will have to build it outside of Tornado 2.0, andthen refer to the library as an EXTRA_MODULE within Tornado.<p>Part 1<p>Ill assume that $SNMP is the installation directoy of theepilogue stuff. Some of what is listed below is identicalto section 5.2 of the getting started guide.<ol><li>Copy the snark/vxworks/cfgs/wind.cfg to the $SNMP dir.</li><li>Edit it to make the two key changes:<br>The first loadconfig statement in the file<br><code>loadconfig 'vxppc' ;my system</code><br>The SRCDIR setting:<br><code>equate SRCDIR 'yourdirectory to the SNMP dir' ;would be $SNMP</code></li><li>Now, make sure you have copied <em>$SNMP/snark/vxworks/h/snmpdLib.h</em>to <em>$WIND_BASE/target/h</em>. Also, replace all contents of<em>$WIND_BASE/target/h/snmp</em> with <em>$SNMP/snark/vxworks/h/snmp</em>.</li><li>Run makmak in the $SNMP directory specifying this cfg file.</li><li>In the SNMP directory, type in "<code>make all</code>".</li></ol>If you get compile errors, try defining the following environmentvariables. I set them for my NT box with Tornado under C:\Tornado:<pre>WIND_BASE C:\TornadoWIND_BASE_TYPE x86-win32WIND_HOST_TYPE x86-win32</pre>Set these variables on an NT using the properties menu by right-mouseclicking over your 'my computer'. On this dialog use the environmenttab.<br>Open up a new DOS shell and try the make all again.<p>Part 2<ol><li>Make sure you go to your BSP directory and edit config.has per section 5.2 to add the defines BEFORE the configAll include.</li><li>Fire up tornado</li><li>Start a new vxWorks bootable image project based on this BSP.</li><li>Open up the build properties and click on the MACROS tab and findthe EXTRA_MODULES. In the value field, add the full path and nameof the snmp library. For some reason, it has no extension.</li><li>Rebuild all.</li></ol>That should do the trick. Now, if you actually are able to adda MIB to the agent let me know. I can add a MIB, but for somereason, none of my get/set routines ever get called.<br>(From: Doug Dyer, doug_dyer@yahoo.com)<p><hr WIDTH="50%"><a NAME="6.7-C"></a><p>Q: How do I extend the Envoy SNMP agent?<p>A: The steps to the extension of the MIB agent should be as follows:<ol><li> Write your mib file say ex.mib</li><li> Compile it using the mibcompiler<pre>$mibcomp -stub -start (name of the module identity in your mib file) \ -o ex.c (list of mibs on which ex.mib depends) ex.mib</pre>Before doing this make sure that you set your MIBCOMP environmentvariable to point to the MIB search path where all your standardMIBs are located (i.e set MIBCOMP = -l MIB-search-path)<br>Once the <em>ex.c</em> file is created copy it to the directory<em>...\snark\vxworks\agent</em> and modify it as per your needs.</li><li> Edit the file <em>makefile.cfg</em> under <em>..\snark\vxworks\agent</em><ul><li>add ex to SNMP_OBJS2 i.e $#equate(SNMP_OBJS2 $#objs(snmpsys mib snmptcp snmpudp saiolib ex))</li><li>add ex.mib to MIBSRC i.e</li></ul></li><li> Run <code>makmak</code> in the $SNMP directory specifying wind.cfg</li><li> Type <code>make all</code></li><li> You can see if you are able to get/set variables by using utilities like getif/snmputil.</li></ol>(From: pintu_12@my-deja.com)<p><hr WIDTH="50%"><a NAME="6.7-C"></a><p>Q: Where can I find some information about (free) SNMP managers?<p>A: There are a couple.<ul><li><a href="http://net-snmp.sourceforge.net/">http://net-snmp.sourceforge.net/</a>(this was formerly ucd-snmp, a great package of tools)</li><li><a href="http://www.gxsnmp.org/">http://www.gxsnmp.org/</a>This is a good general purpose manager.</li><li>FYI, a good place to begin:<a href="http://www.snmpworld.com">http://www.snmpworld.com</a>or<a href="http://www.SNMPLink.org">http://www.SNMPLink.org</a></li></ul><br>(From: David Oberbeck, oberbdg@stamps.stortek.com)<a NAME="6.7-C1"></a><p>Lawrence T.Hoff worked on a SNMP implementation on VxWorks. See hisremarks that he made to me:<p>I still have the source code at this site :<A HREF="http://pubweb.bnl.gov/people/hoff/snmp2.tar.Z">http://pubweb.bnl.gov/people/hoff/snmp2.tar.Z</A>.<br>It is based on public domain software from Carnegie Mellon University.However, I have not done anything to support this code in 6 or 7years. In the meanwhile, Wind River has released a fully supportedSNMP agent.<br>(From: Andrew Cardoza, acardoza@nicon.co.za)<p><hr WIDTH="60%"><p><h3><a NAME="6.8"><center>6.8 Lint</center></a></h3><a NAME="6.8-A"></a>Q: I want to use PC-Lint, how do I configure it you be used with Tornado?<p>A: We are using PC-lint 7.5 to check our VxWorks projects for two yearsnow, using a lint parameter file with the following contents:<pre> -A /* ANSI-C checking */+fdi /* begin include search at including file */+fcp /* use c++ not only for cpp and cxx ext. */+fcu /* character is unsigned */+fva /* variable argument size */+fwc /* wchar_t is built in type */+ppw(option) /* add preprocessor word <option> */-si4 /* Integers are 4 Byte long */-sl4 /* Longs are 4 Byte long */-sp4 /* Pointers are 4 Byte long */-t2 /* Tab size is 2 */-v /* turn off all verbosity messages */-width(0,3) /* Output format no breaking and indent 3 */-hsb#3 /* Error display format */-"format=%f(%l): Error %n: %m"/* Error message format */-elib(???) /* I can`t fix errors in library headers */-e537 /* repeated include is controlled by #ifdev */-e716 /* while(1) is ok! */-e783 /* file end without new line is ok */-e765 /* external could be made static *//* NOT REFERENCED (see weak defines; check at end of project) */-e714 /* function not referenced */-e749 /* local enumeration constant not referenced */-e750 /* local macro not referenced */-e751 /* local typedef not referenced */-e752 /* local declarator not referenced */-e753 /* local struct, union or enum tag not ref. */-e754 /* local structure member not referenced */-e755 /* global macro not referenced */-e756 /* global typedef not referenced */-e757 /* global declarator not referenced */-e758 /* global struct, union or enum tag not ref. */-e768 /* global structure member not referenced */-e769 /* global enumeration constant not ref. */-e1714 /* member function not referenced */-e1715 /* static member not referenced */-e1716 /* virtual member function not referenced */-e1750 /* local template not referenced */-e1755 /* global template not referenced */-esym(1512, unary_function<*>) /* from stl in file stl_function.h */-esym(1512, binary_function<*>) /* - "" - */-emacro(611,clearerr) /* ignore errors in macro */-emacro(666,clearerr) /* ignore errors in macro */-emacro(740,clearerr) /* ignore errors in macro */-emacro(534,putc) /* ignore errors in macro */-emacro(611,putc) /* ignore errors in macro */-emacro(666,putc) /* ignore errors in macro */-emacro(740,putc) /* ignore errors in macro */-emacro(534,putchar) /* ignore errors in macro */-emacro(611,putchar) /* ignore errors in macro */-emacro(666,putchar) /* ignore errors in macro */-emacro(734,putchar) /* ignore errors in macro */-emacro(740,putchar) /* ignore errors in macro */-emacro(534,getchar) /* ignore errors in macro */-emacro(611,getchar) /* ignore errors in macro */-emacro(666,getchar) /* ignore errors in macro */-emacro(740,getchar) /* ignore errors in macro */-emacro(611,feof) /* ignore errors in macro */-emacro(740,feof) /* ignore errors in macro */-emacro(611,ferror) /* ignore errors in macro */-emacro(740,ferror) /* ignore errors in macro */-emacro(611,fileno) /* ignore errors in macro */-emacro(613,fileno) /* ignore errors in macro */-emacro(666,fileno) /* ignore errors in macro */-emacro(740,fileno) /* ignore errors in macro */-emacro(611,__sfileno) /* ignore errors in macro */-emacro(613,__sfileno) /* ignore errors in macro */-emacro(666,__sfileno) /* ignore errors in macro */-emacro(740,__sfileno) /* ignore errors in macro */-emacro( 26,va_start) /* ignore errors in macro */-emacro( 522,va_start) /* ignore errors in macro */-emacro( 534,va_start) /* ignore errors in macro */-emacro( 746,va_start) /* ignore errors in macro */-emacro(1055,va_start) /* ignore errors in macro *//*** Ignore these constructs..*/-d__extension__() /* for va_xxx macros */-d__attribute__=; /* from stl in file exception part one */-d((__noreturn__))=; /* - "" - part two */-d_IH=-d_SWI=-d_TRAP()=-d_SPL()=-d_GPL()=/* The following functions exhibit variable return modes.** That is, they may equally-usefully be called for a value** as called just for their effects. Accordingly we inhibit** Warning 534 for these functions.** Feel free to add to or subtract from this list.*/-esym(534,close,creat,fclose,fprintf,fputc)-esym(534,fputs,fscanf,fseek,fwrite,lseek,memcpy,memmove,memset)-esym(534,printf,puts,scanf,sprintf,sscanf,strcat,strcpy)-esym(534,strncat,strncpy,unlink,write)-esym(534,cprintf,CTerminalIO::cprintf,printErr,xfclose)</pre>The important line is
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -