Merge pull request #2309 from mitza-oci/warnings
[ACE_TAO.git] / ACE / bin / LabVIEW_RT / README
bloba84e1fe0a2bbd2ec8c18496ed2765b693136924b
3 This directory contains utilities for running the ACE+TAO test suite on
4 a LabVIEW RT 8 / Phar Lap ETS target. Although it's running Phar Lap ETS,
5 and thus would normally be able to run programs, this environment is
6 different than plain Phar Lap ETS in that the LabVIEW RT layer takes up
7 the only process able to run on Phar Lap. Thus, everything executed needs
8 to be done via LabVIEW RT facilities. Thus, we have the following
9 restrictions:
11 1. There's no NFS, no SMB; there's a target filesystem but no direct access.
12 2. No executables can be directly executed.
14 This yields the following:
16 - All test "programs" are built as DLLs instead of executables. The DLL has
17   a known "main" entrypoint. To run the test, the DLL must be copied down
18   to the target, explicitly loaded, and its entrypoint called. MPC will
19   automatically build these DLLs when an executable is specified in the MPC
20   file by basing the MPC project on the labviewrt_dll.mpb base. This is done
21   by supplying "-base labviewrt_dll" on the MPC command line.
23 - There is a test-controlling DLL that lives on the LabVIEW RT target, and is
24   loaded when the target boots. This DLL spawns a thread that listens on a
25   TCP port for connections; it runs a text-based protocol by which it can
26   be directed to load and run test DLLs and report results. This DLL is in
27   the labview_test_controller subdirectory; see its ReadMe.txt file for
28   more details.
30 - The Perl test framework in PerlACE has a ProcessLVRT.pm and
31   TestTarget_LVRT.pm that know how to run the test protocol, get the log file
32   back from the target, etc. in order to integrate the LabVIEW RT scheme into
33   the ACE+TAO testing framework.
35 - If a test encounters any significant errors that would produce something akin
36   to a crash or significant leak on a multi-process OS, it will probably
37   render the LabVIEW RT target unuseable and unresponsive. There are two
38   utilities in this directory that will help in this sort of situation:
40      1. Reboot_Target.exe: A Windows executable that runs a LabVIEW VI to
41         reboot a local target box. If the box is alive enough to be contacted
42         and run the LabVIEW VI that triggers the reboot, this works fine.
43         However, if the box is unresponsive, as it usually is, this doesn't
44         work. The advantage of this utility is that it doesn't require any
45         additional hardware or software.
47      2. PXI_Reset.exe: A Windows executable that runs a LabVIEW VI to
48         trigger a hardware reset on the target box. This utility works all
49         the time since it does a hardware reset. However, it requires an
50         additional piece of hardware that connects to the host PC via USB
51         and connects to the DB9 on the back of the PXI target. This little
52         hardware box was custom-made by Lockheed Martin, so you can't just
53         go buy one at Radio Shack.
55   If neither of these utilities is workable for you, you can probably use a
56   programmable power strip that can cycle the power on the target, and write
57   a utility that drives it.