📄 vxw_pt1.html
字号:
<p>A: The answer is to disable your anti-virus software. There is a knownproblem with some versions of Macaffee I'm told. Out of desperation, Idisabled my Norton and voila! I could build again. <p>The interesting thing is that I was successfully running and building fora relatively long time and then all of a sudden it stopped. My colleaguescontinued to run fine and then all of sudden, one by one, they began to runinto the same problem. I'm not sure what the trigger is but it may berelated to the size of the project.<p>Check out TSR 159521 for more info.<p>(From: mchug06@attglobal.net)<p><hr WIDTH="50%"><a NAME="1.11.2-D"></a><p>Q: When I use Tornado under Windows 2000 the build process seems go wrong,when it works fine under 9x and Windows NT.<p><em>NOTE: there is a patch available from WindRiver. Look on <a href="http://www.wrs.com/csdocs/kplocator/patchList.shtml">http://www.wrs.com/csdocs/kplocator/patchList.shtml</a>for more information about this patch.</em><p>A: Install the resource kit for Windows 2000. It includes an ApplicationCompatibility tool. You can use this to tell Tornado it is running in an NTenvironment. It's located in the support directory of the Win2k CD. Allyou have to do is run apcompat.exe and tell it to run Tornado as if it wereon Windows NT. Make sure to check the "Make the abov check box settings permanent" box.<br>For more information on the Application Compatibility Tool go toMicrosoft's online knowledge base and read article Q251062.<p>Another solution might be to use an IP address in the remote registryinstead of a hostname. It is also a good idea to use the remote registryfeature, even if the registry is running on the same machine. (see question<A HREF="#1.8-C">1.8-C</A>).<br>(From: Niall Leonard (niall@exchange.Scotland.ncr.com), Kirk Davies (kirk.davies@pobox.com), Arik Halperin (arikh@hlan.com) and Adam)<hr WIDTH="60%"><p><h3><a NAME="1.12"><center>1.12 Version Control</center></a></h3><a NAME="1.12-A"></a>Q: After I check out a project no files are shown in the workspace window<p>A: The project files (.wpj and .wsp) should be saved in "Unix"-stylewith only LF characters. Some version control systems (VSS for example)convert text files to DOS text files, with CR/LF. In VSS the project filesand workspace files should be marked as binary. This can be done when clickingin the files, or by adding *.wpj and *.wsp to the list of binary files in theTools->Options->FileTypes screen.<p>Another solution is to modify the TCL files that read and generate theproject files. Within these file there is a command to set the mode to'LF'-only. The command to do this is 'fconfigure'. In several files in thedirectory tornado/host/resource/tcp/app-config/Project the line:<pre>fconfigure $fd -translation lf</pre>appears. This line can be deleted (ot turned in to commentary by adding ahash sign at the start of the line). Then all project files will be savedin DOS file format and will also be read in DOS files format.<br>This line appears in the following files:<ul><li>gnuInfoGen.tcl (1 time)</li><li>prjLib.tcl (4 times)</li><li>prj_vxApp.tcl (1 time)</li><li>prj_vxWorks.tcl (4 times)</li></ul>(From: Stas Maximov, stmax@pigeonpoint.com)<p><hr WIDTH="50%"><a NAME="1.12-B"></a><p>Q: Should I put the complete Tornado tree under version control or not?<p>A: Checking in the Tornado target tree as a whole is a good idea in my opinion.<br>The biggest advantage is, that service packs and patches are propagatedautomatically to other team members and _even_more_important_ to the buildmachine.An other advantage is, that if you need to debug something in an oldversion, you have the correct header files and libraries.<p><b>WARNING:</b> If you check in the library files of VxWorks (which we did, for thereasons mentioned) - do not forget to check them out _before_ installing anadd on package like WindWeb Server. Otherwise the installer will SILENTLYfail to update your libraries :-)<br>From: Werner Schiendl, ws-news@gmx.at)<p><hr WIDTH="60%"><p><h3><a NAME="1.13"><center>1.13 Visual Studio integration</center></a></h3><a NAME="1.13-A"></a>Q: We would like to integrate Visual Studio to be the editor that T2 uses.(Tools --> options --> External Editor). How can we manage this?<p>A: The following was written in the newsgroup by Gerald van Kampen(kam@oce.nl):<p>We do it the other way around. We use Visual studio IDE to build ourVxWorks applications. Especially the browse information is missingin Tornado. <br>Below you'll find the external makefile withwich you can create your msdev project. In the msdev project settingschange nmake with make, set the correct browser file name and outputfile name (..\bin\sys.bsc resp. ..\bin\sys.out) and typerebuild in the rebuild all options. <br>Add folders and files to your msdev's Workspace as needed. <br>In the tools -> options menu add directories foryour include and tornado executable paths and place them at the topof the list. <br>Caveat's:<ul><li>I had to replace Tornado's sed.exe (version 2.05) with a more recentversion (3.02).</li><li>Msdev's compiler (6.0) doesn't understand the type "long long int"used in some header files. I did for example in regsI86.h the following: <pre>#ifdef _MSC_VER __int64 base; __int64 mask;#else long long int base; long long int mask;#endif</pre></li></ul> Adapt the <a href="Makefile">Makefile</a> to your needs (for example usecpp instead of c).<p><hr WIDTH="50%"><a NAME="1.13-B"></a><p>Q: Visual Studio does not recognise the filetype .cc as a C file. How canI tell Visual Studio that this type is also a C-type file, so that its"source browser" and "class view" features could be utilized?<p>A: By default , CPP and C files in Visual Studio will automatically invokethe MS complier. To associate other file types with the compiler use the /Tp(or is it /tp) option to declare that a foreign file type should be treatedas a CPP file. I think /Tc is for associating foreign files with a "C"construct.<br>(From: Don Wade, donwade@nortelnetworks.com)<p><hr WIDTH="50%"><a NAME="1.13-C"></a><p>Q: When using Visual Studio as development environment and the GNU compilerto compile Visual Studio does not recognise the output of the compiler.<p>A: Using the following program to filter the output of the GNU compilerit is possble to compile the code: <a href="gnu2msdev.cpp">gnu2msdev.cpp</a><br>The rule to compile using this program is (the name of the comiledexecutable is gnu2msdev.exe):<pre>%.o : %.cpp -$(CXX) $(C++FLAGS) $(ADD_FLAGS) -c $< -o $(@F) 2> $(TMP)\ccerr.txt @type $(TMP)\ccerr.txt | gnu2msdev</pre><br>(From: f.pertin@staubli.com)<p><hr WIDTH="60%"><p><h3><a NAME="1.14"><center>1.14 Windsh</center></a></h3><a NAME="1.14-A"></a>Q: How do I create a startup file for Windsh?<p>A: Create a file windsh.tcl in the directory %HOME%/.wind. If the variable%HOME% does not exist create this in your startup file. One possibility is touse the .wind directory in the Tornado directory, or a directory in yourproject directory, to avoid putting project specific items in the generalTornado tree.<br>In the windsh.tcl you can give the commands that have to be executedat the start of Windsh, for example <pre>cd "whatever directory"</pre>Be sure to use forward slashes in pathnames instead of backward slashes.<br>(From: Mike Beede, mbeede@ciprico.com)<p><hr WIDTH="50%"><a NAME="1.14-B"></a><p>Q: When I call a function with float or double parameters from Windsh theparameters get corrupted.<p>A: The shell defaults every variable to integer.You can cast you argument into float. It will work. Like:<pre>foo((float) 20.01)</pre>(From: ywu@imatron.com)<p><hr WIDTH="50%"><a NAME="1.14-C"></a><p>Q: How do I change the command prompt?<p>A: Execute the following command:<pre>shellPromptSet "VxWorks command prompt .... "</pre><p><hr WIDTH="50%"><a NAME="1.14-D"></a><p>Q: How can I get a directory overview of the target from the host shell?<p>A: When a '@' is put in front of the command it is executed on the targetinstead of the host. So the command '@ls' will give you a directory overviewof the current directory on the target. With the command '@cd <path>' thecurrent directory can be changed, and with the command '@help' the helpon the target can be executed. All command can be executed this way on thetarget, even the commands that are not available on the host shell.<p><hr WIDTH="50%"><a NAME="1.14-E"></a><p>Q: I get an "undefined symbol" error trying to execute a function, when the symbol is known:<pre>-> ld <routervalue = 134204756 = 0x7ffcd54 = bgpNode + 0x310-> sp ace_mainundefined symbol: ace_main-> lkup "ace_main"ace_main(unsigned int) 0x07cbd934 text (router)global constructors keyed to ace_main(unsigned int) 0x07cc0c80 text (router)global destructors keyed to ace_main(unsigned int) 0x07cc0c48 text (router)value = 0 = 0x0</pre><p>A: A possibility is that you ace_main is a munged C++ symbol. If it iscompiled in a .cpp file and is now given C linkage (extern "C") thatcould be the case. Then it is possible that the shell doesn't know howto decode C++ munged names. Try preceeding the definition of ace_mainwith extern "C" if this sounds like it could be the problem:<pre>extern "C" int ace_main(unsigned int){ ... code here...}</pre>Then recompile, relink and see if you can spawn a task using ace_main.<br>(From: ddewar@my-deja.com)<p> Or alternatively, type "sp ace_main" and then press Ctrl+D to addthe signature to the end of the mangled C++ name before you pressenter. Ctrl+D completes any partially typed symbol, and is *very*useful when you need to refer to mangled C++ names from thecommand shell.<br>(From: Dave Korn)<p><hr WIDTH="60%"><p><h3><a NAME="1.15"><center>1.15 WindView</center></a></h3><a NAME="1.15-A"></a>Q: When I look at the timing using WindView sometimes it looks like thetimerinterrupt takes a lot of time. What causes this?<p>A: This is an error in WindView, and confirmed by WindRiver.<br>(From: Anthony D. Truong, AnthonyDTruong@email.msn.com)<p><hr WIDTH="50%"><a NAME="1.15-B"></a><p>Q (short): How to create WindView user events?<br>Q (long): I've been trying to customize the Show Event dialog box for user eventsas per the WindView 2.0.1 users guide section F.3.<br>I've created the eventbase.tcl file in the .wind directory (I have two.wind dirs, one in C:\.wind and one in C:\Tornado\.wind) to display twoINTs stored in event 60. The contents of my eventbase.tcl file are:<pre>set wvUsrEventFormat(60) { {"INT1" int} {"INT2" int}}</pre>I can only ever get the default display to work. I know the wvEvent()call is working as the events are logged and I can see the two integersas one long number in the default display of the ShowEvent box.<br>Is there more to the eventbase.tcl file than what's shown in theexample? Or have I completely missed something fundamental?<p>A: The documentation for user events in the WindView 2.0.1 manualis wrong. After some experimentation, we've found that thefollowing will work. First, the "function/procedure" thatmust appear in eventbase.tcl should look like this:<pre>proc userFormat00060 eventData {}</pre>Your example shows that your user event is a structure containingtwo integers. One way to format them is to do the following:<pre>proc userFormat00060 eventData { set data1 [string range $eventData 0 7] set data2 [string range $eventData 8 15] return [format "int1 is %s\r\n int2 is: %s" $data1 $data2]}</pre>Another way to do this is:<pre>proc userFormat00060 eventData { set data [userEventFormat $eventData {n4 n4}] set data1 [lindex $data 0] set data2 [lindex $data 1] return "int1 = $data1, int2 = $data"}</pre>If your host and target are of different endian types, youwill also need to byte swap the data. You can poke aroundthe tcl files in the Tornado tree for more ideas.<br>(From: Lori Fraleigh, lori@rti.com)<p><hr WIDTH="50%"><a NAME="1.15-C"></a><p>Q: How can I modify the default format for user events from raw hex data?<p>A: Some of the text that follows may help. If you figure out howto make the GUI understand newlines in the ListBox widget, pass iton. I know in Tcl you can change how the widget deals with newlinesinserted in text, but the Windows version of the GUI doesn't seemto allow you to manipulate how to place your formatted strings (i.e.your string is one long text string). See the following <a href="windview.html">copy of information</a>that was passed on to me.<br>(From: DrDiags, drdiags@covad.net)<p><hr WIDTH="50%"><a NAME="1.15-D"></a><p>Q: In WindView task are listed several times<p>A: This is a known problem if you're using post mortem mode, and the bufferis uploaded before it has filled and started cycling. The 'workaround'we were told from WRS is to right click
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -