📄 c-dll5.html
字号:
host name : h1 file name : /usr/wind/target/config/bspname/vxWorks inet on ethernet (e) : inet on backplane (b) : 161.27.0.2 host inet (h) : 150.12.0.1 gateway inet (g) : 161.27.0.1 user (u) : darger ftp password (pw) (blank=use rsh): flags (f) : 0<p class="table"></pre><h4 class="EntityTitle"><a name="86078"><font face="Helvetica, sans-serif" size="-1" class="sans">Table 3-7: Configuration Constants</font></a></h4><table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="86084"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Constant</font></b></div></th><td width="10"> </td><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="86086"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Value</font></b></div></th><td width="10"> </td><th rowspan="1" colspan="1"><div class="CellHeading"><b><a name="86088"> </a><font face="Helvetica, sans-serif" size="-1" class="sans">Comment</font></b></div></th><td width="10"> </td></tr><tr><td colspan="20"><hr class="tablerule2"></td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86090"> </a>shared memory anchor address</div><div class="CellBody"><a name="95224"> </a>(<b class="symbol_UC">SM_ANCHOR_ADRS</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86092"> </a>0x800000 </div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86094"> </a>Address of anchor as seen by <b class="symbol_lc">vx1</b>.</div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86096"> </a>shared memory address</div><div class="CellBody"><a name="95225"> </a>(<b class="symbol_UC">SM_MEM_ADRS</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86098"> </a>0x800000 </div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86100"> </a>Address of shared-memory pool as seen by <b class="symbol_lc">vx1</b>. Zero indicates that local memory should be allocated.</div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86102"> </a>shared memory size</div><div class="CellBody"><a name="95226"> </a>(<b class="symbol_UC">SM_MEM_SIZE</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86104"> </a>0x80000 </div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86106"> </a>Size of shared-memory pool, in bytes.</div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86108"> </a>shared memory interrupt type</div><div class="CellBody"><a name="95227"> </a>(<b class="symbol_UC">SM_INT_TYPE</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86110"> </a><b class="symbol_UC">SM_INT_MAILBOX_1</b></div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86112"> </a>Interrupt targets with 1-byte write mailbox.</div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86114"> </a>shared memory interrupt type - argument 1</div><div class="CellBody"><a name="95228"> </a>(<b class="symbol_UC">SM_INT_ARG1</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86116"> </a><b class="symbol_UC">VME_AM_SUP_SHORT_IO</b></div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86118"> </a>Mailbox in short I/O space.</div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86120"> </a>shared memory interrupt type - argument 2</div><div class="CellBody"><a name="95229"> </a>(<b class="symbol_UC">SM_INT_ARG2</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86122"> </a>(0xc000|(sysProcNum * 2)) </div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86124"> </a>Mailbox at: <br> 0xc000 for <b class="symbol_lc">vx1 <br></b> 0xc002 for <b class="symbol_lc">vx2</b></div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="86126"> </a>shared memory interrupt type - argument 3</div><div class="CellBody"><a name="95230"> </a>(<b class="symbol_UC">SM_INT_ARG3</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86128"> </a>0 </div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="86130"> </a>Write 0 value to mailbox.</div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="97347"> </a>shared memory packet size</div><div class="CellBody"><a name="97352"> </a>(<b class="symbol_UC">SM_PKTS_SIZE</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="97349"> </a><b class="symbol_UC">DEFAULT_PKTS_SIZE</b></div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="97351"> </a></div></td><td width="10"> </td></tr><tr valign="top"><td colspan=1 rowspan=1><div class="CellBody"><a name="97354"> </a>max # of cpus for shared network</div><div class="CellBody"><a name="97361"> </a>(<b class="symbol_UC">SM_CPUS_MAX</b>)</div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="97356"> </a><b class="symbol_UC">DEFAULT_CPUS_MAX</b></div></td><td width="10"> </td><td colspan=1 rowspan=1><div class="CellBody"><a name="97358"> </a></div></td><td width="10"> </td></tr><tr><td colspan="20"><hr class="tablerule"></td></tr><tr valign="middle"><td colspan="20"></td></tr></table></p> <br></a></b></pre></dl></dl></dl><font face="Helvetica, sans-serif" class="sans"><h4 class="H4"><i><a name="86132">Troubleshooting</a></i></h4></font><dl class="margin"><dl class="margin"><dd><p class="Body"><a name="95232"> </a>Getting a shared-memory network configured for the first time can be tricky. If you have trouble, here are a few troubleshooting procedures you can use. Take one step at a time.</p></dl><dl class="margin"><p><ol class="List"><li value="1."><a name="95233"> </a>Boot a single processor in the backplane without any additional memory or processor cards. Omit the <b class="symbol_lc">inet on backplane</b> parameter to prevent the processor from trying to initialize the shared-memory network.</li></ol></p><p><ol class="List"><li value="2."><a name="86136"> </a>Power off and add the memory board, if you are using one. Power on and boot the system again. Using the VxWorks boot ROM commands for display memory (<b class="symbol_lc">d</b>) and modify memory (<b class="symbol_lc">m</b>), verify that you can access the shared memory at the address you expect, with the size you expect.</li></ol></p><p><ol class="List"><li value="3."><a name="86137"> </a>Reboot the system, filling in the <b class="symbol_lc">inet on backplane</b> parameter. This initializes the shared-memory network. The following message appears during the reboot:</li></ol></p><dl class="margin"><dl class="margin"><dd><pre class="Code3"><b><a name="86138">Backplane anchor at <i class="textVariable">anchor-addrs</i>...Attaching network interface sm0...done.</a></b></pre></dl></dl><p><ol class="List"><li value="4."><a name="86139"> </a>After VxWorks is booted, you can display the state of the shared-memory network with the <b class="routine"><i class="routine">smNetShow</i></b><b>( )</b> routine, as follows:</li></ol></p><dl class="margin"><dl class="margin"><dd><pre class="Code3"><b><a name="86144"></b><tt class="output">-></tt><b> smNetShow ["<i class="textVariable">interface</i>"] [, 1] </b><tt class="output">value = 0 = 0x0</tt><b></a></b></pre></dl></dl><dl class="margin"><dd><div class="Indent"><a name="86145"> </a>The interface parameter is <b class="symbol_lc">sm0</b> by default. Normally, <b class="routine"><i class="routine">smNetShow</i></b><b>(</b> <b>)</b> displays cumulative activity statistics to the standard output device; specifying 1 (one) as the second argument resets the totals to zero.</div><br></dl><p><ol class="List"><li value="5."><a name="86146"> </a>Power off and add the second processor board. Remember that the second processor must <i class="emphasis">not</i> be configured as the system controller board. Power on and stop the second processor from booting by typing any key to the boot ROM program. Boot the first processor as you did before.</li></ol></p><p><ol class="List"><li value="6."><a name="86147"> </a>If you have trouble booting the first processor with the second processor plugged in, you have some hardware conflict. Check that only the first processor board is the system controller. Check that there are no conflicts between the memory addresses of the various boards.</li></ol></p><p><ol class="List"><li value="7."><a name="86148"> </a>Use the <b class="symbol_lc">d</b> and <b class="symbol_lc">m</b> boot ROM commands to verify that you can see the shared memory from the second processor. This is either the memory of the separate memory board (if you are using the off-board configuration) or the dual-ported memory of the first processor (if you are using the on-board configuration).</li></ol></p><p><ol class="List"><li value="8."><a name="86149"> </a>Use the <b class="symbol_lc">d</b> command on the second processor to look for the shared-memory anchor. The anchor begins with the ready value of 0x8765 (see <a href="c-dll5.html#85646">Figure 3-3</a>). You can also look for the shared-memory heartbeat; see <a href="c-dll5.html#85636"><i class="title">The Shared-Memory Heartbeat</i></a>.</li></ol></p><p><ol class="List"><li value="9."><a name="86156"> </a>After you have found the anchor from the second processor, enter the boot parameter for the boot device with that address as the anchor address:</li></ol></p><dl class="margin"><dd><pre class="Code2"><b><a name="86157"> boot device: sm=0x800000</a></b></pre></dl><dl class="margin"><dd><div class="Indent"><a name="86158"> </a>Enter the other boot parameters and try booting the second processor.</div><br></dl><p><ol class="List"><li value="10."><a name="86159"> </a>If the second processor does not boot, you can use <b class="routine"><i class="routine">smNetShow</i></b><b>(</b> <b>)</b><sup> </sup>on the first processor to see if the second processor is correctly attaching to the shared-memory network. If not, then you have probably specified the anchor address incorrectly on the second processor. If the second processor is attached, then the problem is more likely to be with the gateway or with the host system configuration.</li></ol></p><p><ol class="List"><li value="11."><a name="86161"> </a>You can use host system utilities, such as <b class="command">arp</b>, <b class="command">netstat</b>, <b class="command">etherfind</b>, and<b class="command"> ping</b>, to study the state of the network from the host side; see the <i class="title">Tornado User's Guide: Getting Started</i>.</li></ol></p><p><ol class="List"><li value="12."><a name="86163"> </a>If all else fails, call your technical support organization.</li></ol></p></dl></dl><a name="foot"><hr></a><p class="FootnoteNumberMarker">1: <span class="Footnote"><a name="86071"> </a>The parameters <b class="symbol_lc">inet on backplane (b)</b> and <b class="symbol_lc">gateway inet (g)</b> are optional with sequential addressing.</span><p class="navbar" align="right"><a href="index.html"><img border="0" alt="[Contents]" src="icons/contents.gif"></a><a href="c-dll.html"><img border="0" alt="[Index]" src="icons/index.gif"></a><a href="c-dll.html"><img border="0" alt="[Top]" src="icons/top.gif"></a><a href="c-dll4.html"><img border="0" alt="[Prev]" src="icons/prev.gif"></a><a href="c-dll6.html"><img border="0" alt="[Next]" src="icons/next.gif"></a></p></body></html><!---by WRS Documentation (), Wind River Systems, Inc. conversion tool: Quadralay WebWorks Publisher 4.0.11 template: CSS Template, Jan 1998 - Jefro --->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -