⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vxworkstornadoiifaq.htm

📁 VxWorks下TornadoII的问题集合。还在收集中。
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><!--vim:tw=80:ts=2:sts=2:sw=2:si:ai:et:sta-->




  
    <meta name="generator" content="HTML Tidy for Cygwin (vers 1st February 2003), see www.w3.org">
    <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
    <meta name="generator" content="VIM on Unix and Win95">
    <meta name="Author" content="Johan Borkhuis">
    <meta name="description" content="VxWorks / Tornado II information / FAQ">
    <meta name="keywords" content="VxWorks,Tornado,FAQ">
    <meta name="version" content="$Id: pc-bsp.html,v 1.15 2006/07/15 21:38:31 borkhuis Exp $"><title>VxWorks and Tornado II FAQ</title></head><body>

    <!--      tidy ==logical-emphasis true ==break-before-br true -indent -wrap 80 pc-bsp.html > new\pc-bsp.html    //-->

    <center>
      <h1>
        <strong><font size="+4">VxWorks / Tornado II FAQ</font></strong>
      </h1>
    </center>

    <hr width="80%">

<table align="right">
  <tbody><tr>
    <td>
      <script type="text/javascript"><!--
        google_ad_client = "pub-1387305377183503";
        google_ad_width = 120;
        google_ad_height = 600;
        google_ad_format = "120x600_as";
        google_ad_channel ="";
        //-->
      </script>
      <script type="text/javascript" src="VxWorksTornadoIIFAQ_files/show_ads.js">
      </script><iframe name="google_ads_frame" src="VxWorksTornadoIIFAQ_files/ads.htm" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="600" scrolling="no" width="120"></iframe>
      <br>
      <br>
      <script type="text/javascript"><!--
      google_ad_client = "pub-1387305377183503";
      google_ad_width = 110;
      google_ad_height = 32;
      google_ad_format = "110x32_as_rimg";
      google_cpa_choice = "CAAQ_-KZzgEaCHfyBUS9wT0_KOP143Q";
      //--></script>
      <script type="text/javascript" src="VxWorksTornadoIIFAQ_files/show_ads.js">
      </script><iframe name="google_ads_frame" src="VxWorksTornadoIIFAQ_files/ads_002.htm" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" height="32" scrolling="no" width="110"></iframe>
    </td>
  </tr>
</tbody></table>

    <h2>
      <a href="#pc-bsp"> PC BSP problems</a>
    </h2>

    <blockquote>
      <h3>
        <a href="#pc-bsp.1">1 Changes to the default BSP</a>
      </h3>
    <blockquote>
      <h4>
        <a href="#pc-bsp.1.1">1.1 sysLib.c extensions</a>
      </h4>
    </blockquote>
    <blockquote>
      <h4>
        <a href="#pc-bsp.1.2">1.2 Setting TOD clock</a>
      </h4>
    </blockquote>
    <blockquote>
      <h4>
        <a href="#pc-bsp.1.3">1.3 Problems with serial port</a>
      </h4>
    </blockquote>
    </blockquote>

    <blockquote>
      <h3>
        <a href="#pc-bsp.2">2 Keyboard problems</a>
      </h3>
    </blockquote>

    <blockquote>
      <h3>
        <a href="#pc-bsp.3">3 Network devices</a>
      </h3>
    </blockquote>

    <blockquote>
      <h3>
        <a href="#pc-bsp.4">4 Floating point</a>
      </h3>
    </blockquote>

    <blockquote>
      <h3>
        <a href="#pc-bsp.5">5 Timestamp driver</a>
      </h3>
    </blockquote>

    <blockquote>
      <h3>
        <a href="#pc-bsp.6">6 Video control</a>
      </h3>
    </blockquote>

    <blockquote>
      <h3>
        <a href="#index">Index</a>
      </h3>
    </blockquote>

    <hr width="80%">

    <center>
      <h2>
         PC BSP problems
      </h2>
    </center><a name="pc-bsp"></a>

    <center>
      <h3>
        1 Changes to the default BSP
      </h3>
    </center>
    <a name="pc-bsp.1"></a>
    <p>
      I do not have a PC-target, so I cannot verify or fix any problems related
      to this HW. If you have made any changes to the BSP and want to share
      them with the other VxWorks developers, please send them to <a href="mailto:johan@borksoft.xs4all.nl">me (Johan Borkhuis)</a>, so they can be
      put here.
    </p>

    <hr width="60%">

    <center>
      <h4>
        1.1 sysLib.c extensions
      </h4>
    </center>
    <a name="pc-bsp.1.1"></a>
    <a name="pc-bsp.1.1-A"></a>

    <p>
    </p>
    <p>
      <a href="http://www.xs4all.nl/%7Eborkhuis/vxworks/nvRamToAta.c">nvRamToAta.c</a>, <a href="http://www.xs4all.nl/%7Eborkhuis/vxworks/nvRamToFloppy.c">nvRamToFloppy.c</a> and <a href="http://www.xs4all.nl/%7Eborkhuis/vxworks/nvRamToTffs.c">nvRamToTffs.c</a> are a couple of neats hack for the x86
      BSP to allow you to change and save the boot config stuff.
      <br>
      <a href="http://www.xs4all.nl/%7Eborkhuis/vxworks/01FAE.cdf">01FAE.cdf</a> adds a few missing bits (END interface
      selection and SYS_WARM_TYPE) to the project facility.
      <br>
      Toss them into your copy of the pcPentium BSP and change the following
      line of sysLib.c [427]:
    </p>
    <pre>/* includes (source file) */

#include "mem/nullNvRam.c"
#include "vme/nullVme.c"
#include "sysSerial.c"
    </pre>
    <p>
      to:
    </p><pre>/* includes (source file) */

#if TRUE
#include "nvRamToFloppy.c"
#else
#include "mem/nullNvRam.c"
#endif
#include "vme/nullVme.c"
#include "sysSerial.c"
    </pre>
    <p></p>

    <hr width="60%">

    <center>
      <h4>
        1.2 Setting TOD clock
      </h4>
    </center>
    <a name="pc-bsp.1.2"></a>
    <a name="pc-bsp.1.2-A"></a>

    <p>
    </p>
    <p>
      The following files implement reading the hardware time-of-day clock, 
      setting the VxWorks date, and provide the date() command available from 
      the shell. Be careful, the day of the week register is not usually 
      initialzed. Call date ("YYMMDDHHMMSS") first to set it.
      <br>
      <a href="http://www.xs4all.nl/%7Eborkhuis/vxworks/ds12887Rtc.c">ds12887Rtc.c</a>
      <br>
      <a href="http://www.xs4all.nl/%7Eborkhuis/vxworks/usrTime.c">usrTime.c</a>
    </p>

    <hr width="60%">

    <center>
      <h4>
        1.3 Problems with serial port
      </h4>
    </center>
    <a name="pc-bsp.1.3"></a>
    <a name="pc-bsp.1.3-A"></a>

    <p>
      Q: When I startup my PC-target nothing happens on my serial port, but the
      normal keyboard and display are used.
    </p>
    <p>
      A: Disable the use of the PC-console and enable the use of the serial
      console.
      <br>
      (From: pwhicker@home.com, Paul Whicker)
    </p>

    <hr width="60%">

    <center>
      <h3>
        2 Keyboard problems
      </h3>
    </center>
    <a name="pc-bsp.2"></a>
    <a name="pc-bsp.2-A"></a>

    <p>
      Q: When I want to use the keyboard on my PC-target nothing happens. How
      can I make this keyboard work?
    </p>
    <p>
      A: I assume you are not able to input anything from keyboard. Actually,
      you do not need to do anything to connect to stdin, it is by default.
      However, if you are using some older machines which has XT type keyboard
      controller, you may need to change the PC_KBD_TYPE to PC_XT_83_KBD
      (default is PC_PS2_101_KBD) in config.h.
    </p>
    <pre>#define PC_KBD_TYPE  PC_XT_83_KBD
#if FALSE
#define PC_KBD_TYPE  PC_PS2_101_KBD
#endif /* FALSE */
    </pre>
    <p>
      (From: Yusuf Motiwala, motiwala@lucent.com)
    </p>

    <hr width="60%">

    <center>
      <h3>
        3 Network devices
      </h3>
    </center>
    <a name="pc-bsp.3"></a>
    <a name="pc-bsp.3-A"></a>

    <p>
      Q: I am using T2/x86 (PentiumPro BSP) and trying to get 3C905B-TXNM PCI
      NIC working. The NIC itself seems to be fine, 3COM's DOS-based test tool
      identifies it correctly. I haven't changed anything in the NIC's
      configuration.
    </p>
    <p>
      A: The 3c509B NIC is a long-time FAQ - the "B" version has added Plug
      &amp; Pray support, which is nowhere inthe WRS driver, so what you need
      to do is to use the 3Com SETUP dirkette under DOS to modify the NIC to
      disable P&amp;P, and make darn sure the IRQs are set properly, and in
      synch with your pc486/config.h definition, and you should be just fine.
      <br>
      (From: Leonid Rosenboim, leonid@bitband.com)
    </p>

    <hr width="50%">
    <a name="pc-bsp.3-B"></a>

    <p>
      Q: How do I get 2 79C973 NIC's working?
    </p>
    <p>
      A: After a long struggle, I have finally figured out how to set up the
      AMD x86 BSP drivers to work with 2 79C973 NIC's. I am posting this in
      response to several other messages I have seen on the subject. I am
      skipping the steps that are obvious (setting INCLUDE_LN_97X_END in
      config.h, etc):
    </p>
    <p>
      In file configNet.h change from:
    </p>
    <pre>#define LN_97X_LOAD_STR_0       endLoadStr[0]
    </pre>
    <p>
      To:
    </p>
    <pre>#define LN_97X_LOAD_STR_0       endLoadStr[0]
#define LN_97X_LOAD_STR_1       endLoadStr[1]
    </pre>
    <p>
      In file configNet.h change from:
    </p>
    <pre>#ifdef INCLUDE_LN_97X_END
    {0, LN_97X_LOAD_FUNC, LN_97X_LOAD_STR_0,
TRUE, NULL, FALSE},
#endif /* INCLUDE_LN_97X_END */
    </pre>
    <p>
      To:
    </p>
    <pre>#ifdef INCLUDE_LN_97X_END
    {0, LN_97X_LOAD_FUNC, LN_97X_LOAD_STR_0,
TRUE, NULL, FALSE},
	 {1, LN_97X_LOAD_FUNC, LN_97X_LOAD_STR_1,
TRUE, NULL, FALSE},
#endif /* INCLUDE_LN_97X_END */
    </pre>
    <p>
      In file sysEnd.c, function  sysLan97xInitStrCook change from:
    </p>
    <pre>    for (pDevTbl = endDevTbl, ix = 0;
        pDevTbl-&gt;endLoadFunc != END_TBL_END;
        pDevTbl++, ix++)
    {
        if ((ix + endDevNum) &gt; entryIxMax)
            break;

        if ((UINT32)pDevTbl-&gt;endLoadFunc == (UINT32)LN_97X_LOAD_FUNC)
        {
            pDevTbl-&gt;unit = endDevNum;
    </pre>
    <p>
      To:
    </p>
    <pre>    for (pDevTbl = endDevTbl, ix = 0;
        pDevTbl-&gt;endLoadFunc != END_TBL_END;
        pDevTbl++, ix++)
    {
        if ((ix + endDevNum) &gt; entryIxMax)
            break;

        if ((UINT32)pDevTbl-&gt;endLoadFunc == (UINT32)LN_97X_LOAD_FUNC)
        {
            /* pDevTbl-&gt;unit = endDevNum; */
            pDevTbl-&gt;unit = ix;
    </pre>
    <p>
      (From: dhall3859@my-deja.com)
    </p>

    <hr width="50%">
    <a name="pc-bsp.3-C"></a>

    <p>
      Q: My target is crashing when I initialize the Intel 82559ER with a cable
      attached.
    </p>
    <p>
      A: Modify the BIOS setting "PNP OS Installed" from YES to NO. After this
      the Intel 82559er  MUX driver (using END) worked OK. See also question
      <a href="#3-A">3 A</a>.
      <br>
      (From: Michiel Meekes, meekes@nlr.nl)
    </p>

    <hr width="50%">
    <a name="pc-bsp.3-D"></a>

    <p>
      Q: How do I creae a bootrom that uses PXE
    </p>
    <p>
      The purpose of this is to boot a standard x86 Mainboard diskless from
      tftp, using INTEL/3COMs PXE bootrom chip:
      <br>
      There are at least two common cards with PXE, the INTEL 82559 (Intel
      Pro/100+) and the 3Com905 Cards
    </p>
    <p>
      Step 1:
    </p>
    <blockquote>
      <p>
        Configure a DHCP Server (e.g. on linux, like this):
      </p>
      <pre>group {
next-server 10.0.1.1;
# option dhcp-class-identifier "PXEClient:Arch:00000:UNDI:002001";
# i have not yet figured this option out
host target {
filename "bootrom.pxe";
hardware ethernet 00:02:b3:5b:f0:65;
fixed-address 10.0.1.55;
}
      </pre>
      <p>
        Purpose of this is to provide the PXE with the boot information via
        bootp/dhcp. According to this, it will try to download bootrom.pxe from
        10.0.1.1 using TFTP, it will take the address 10.0.1.55 for it's own
        interface. hardware address is the MAC address of the interface (PXE
        will usually display it when it starts up)
      </p>
    </blockquote>
    <p>
      Step 2:
    </p>
    <blockquote>
      <p>
        Setup the TFTP server (one comes with Tornado)
      </p>
    </blockquote>
    <p>
      Step 3:
    </p>
    <blockquote>
      <p>
        Create the according bootimage for PXE:
        <br>
        The vxWorks bootloader is compiled to run from 0x8000 per default.
        However, PXE loads at 0x1c00. Therefore, one way would be prepending
        the bootloader binary with 1024 bytes of code.
        <br>
        There are 2 caveats:
      </p>
      <ul>
        <li>
          the bootrom requires a far/intersegment jump entry (to setup cs
          accordingly)
        </li>
        <li>
          .code16 prefix is required to create protected mode code
        </li>
      </ul>
      <p>
         Here is how to generate the bootrom:
      </p><pre>// compile the file
as386 test.s

// strip a.out header of the file, create binary
vxcopy a.out test.bin

// limit size to 1024 bytes (equals 0x8000-0x1c00)
dd bs=1 count=1024 if=test.bin of=test.1024

// strip a.out header from bootrom
vxcopy bootrom bootrom.bin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -