This file contains known issues about the LabVIEW Embedded Development Module 2.5 and issues fixed in the LabVIEW Embedded Development Module 2.5.
The Embedded Development Module book in the LabVIEW Help now contains the LabVIEW Embedded Development Module Porting Guide.
Refer to the LabVIEW 8.5 Readme, available by selecting Start»All Programs»National Instruments»LabVIEW 8.5»Readme and opening readme.html, for LabVIEW known and fixed issues.
ID | Known Issue |
General Known Issues |
—
| Combo box controls that use the string data type are unsupported. |
—
| If you try to build an embedded VI that is password-protected into an embedded application, the build fails with syntax errors if you enter the wrong password. |
—
| Target syntax checking might not happen until you edit an embedded VI. |
—
| Target syntax checking does not work on data types inside of clusters. |
—
| Embedded VIs do not support the values of Z, X, or T in digital data controls and digital waveform controls. You can use values of 0, 1, L, and H. |
—
| Building 2D arrays using index tunnels is unsupported for embedded targets that use static memory allocation. |
—
| Indicators that contain variant data do not update on the front panel.
Workaround—Use a probe on the block diagram to see the data. |
—
| MathScript is unsupported on embedded targets. |
—
| You must set the following options in the Options dialog box for the CCGVIRefSupport_coverage_Test and LVTdp_coverage_Test embedded tests to pass:
VI Server: Configuration Options Page—Under Protocols, place a checkmark in the TCP/IP checkbox.
VI Server: TCP/IP Access Options Page—Allow access by entering localhost or * in the Host text box and clicking the Add button. |
49L9O3YF
| You might receive an error that states This property is writable only when the VI is in edit mode, or this method is available only when the VI is in edit mode. This error occurs if the VI is running on the host and you try to build the VI into an application. You must stop the VI on the host before building. |
4BCG6400
| The Embedded Development Module does not support creating a source distribution. If you right-click Build Specifications in the Project Explorer window and select New»Source Distribution from the shortcut menu, LabVIEW displays an error message in the Source Distribution Properties dialog box. |
49DARLBR
| You can use integer values as inputs to expressions. However, functions that operate on the input use C rounding rules when the input is integer. This means that each function rounds down when returning its value to the rest of the expression. On Windows desktop targets, the functions round to nearest integer instead. |
VI, Functions, and Structures Known Issues |
—
| Multi-dimensional arrays do not work with Formula Nodes.
Workaround—Use the Inline C Node to obtain a pointer to the first element in the array and do your own index calculations. |
—
| If you declare outputs inside of a Formula Node, the Formula Node causes syntax errors in the generated C code.
Workaround—Create an input with the same name and type as the output so you do not have to declare the output inside of a Formula Node. |
—
| If you are using instrumented debugging, the Wait Until Next ms Multiple function does not change the timing if the function updates inside of a loop.
Workaround—Turn off debugging or use a Timed Loop and update the Period terminal from within the Timed Loop. |
—
| Call Library Nodes do not check the error in input before executing, which means a Call Library Node executes even if there is a previous error. |
—
| The File I/O functions are implemented only for the Windows Console Application and Unix Console (cygwin) example targets. You receive link errors if you use the File I/O functions with any of the other example targets. |
—
| If you set the allow empty tokens? input to TRUE in the Scan String for Tokens function and the string starts with a delimiter, the offset past token output and the token string output contains incorrect values. |
—
| When you use a #include in an Inline C Node to add a header file, the #include is inserted in the middle of the C file, which can cause problems with scoping.
Workaround—Use the Add/Remove Header Files dialog box to add header files. Adding header files using the Add/Remove Header Files dialog box inserts the code at the top of the generated C file. |
—
| Reserved words are used in the generated C code. Using these words as inputs or outputs in an Inline C Node can cause unexpected behavior or the embedded application to crash.
Workaround—Change the name of the variables to something else. |
—
| The Draw Text at Point VI and the Get Text Rect VIs are unsupported in embedded VIs. |
—
| The following Express VIs do not function correctly in embedded VIs because maintaining state in front panel variables between calls to a subVI is not supported:
Delay Values
Trigger and Gate |
—
| If you receive empty dynamic data from functions with two inputs and one output, check to see if you have a dynamic data type wired to one input and an array of scalars wired to the other input.
Workaround—Use the Convert to Dynamic Data Express VI to convert the scalar array to a dynamic data type before you wire the input to the function. |
—
| If your OS does not support time resolution at the fractional level, the fractional part of a timestamp is always zero, which means a timestamp in an embedded VI is rounded to the next lower integer. The effect of this behavior is that the Round to Nearest and Round to -Infinity functions produce the same output on timestamps. |
4B89BLBR
| When you wire two empty arrays to a Build Array function, the output is an array of one element rather than an empty array. |
4BGEPE00
| When you drag and drop an Output Elemental I/O Node from Project Explorer window to the block diagram, the Run button for the VI is not broken even though the Elemental I/O Node requires an input. However, the Run button breaks as soon as you make another edit to the VI that does not wire an input to the Elemental I/O Node. |
—
| The Call Chain function cannot be used with Timed Loops, including any VIs called from within the Timed Loop. |
4BNBIA30
| XNOR (Not XOR) and NAND (Not And) functions do not yield correct data with integer array inputs. |
Debugging Known Issues |
—
| The Wind River visionICE emulator can cause a communication error if the target memory is read and the breakpoint event is received at same time. Due to this limitation, it is not possible to step though an embedded application with live front panel updates and probes.
Workaround—Wind River recommends you use Wind River ICE instead of visionICE. The LabVIEW Embedded Development Module has not been tested with Wind River ICE. |
—
| The Wind River visionICE emulator supports up to 32 software breakpoints, which prevents single-stepping through an embedded VI that has more than 32 nodes. You receive an error if you attempt to single-step through more than 32 nodes. Do not use LabVIEW's single-stepping feature unless you build the embedded application using the OnChip (Release) debugging mode.
Workaround—Wind River recommends you use Wind River ICE instead of visionICE. The LabVIEW Embedded Development Module has not been tested with Wind River ICE. |
—
| If a Linux target and host are different machines, you must build the run-time libraries with TCP_USE_LOCALHOST undefined and pass the IP address of the debugger as a command line argument to the embedded application. If the Linux target and host are the same machine, define TCP_USE_LOCALHOST as 1. |
—
| You must set the projectDebugPumpOSMsgs LabVIEW INI token to TRUE to debug plug-in VIs. |
—
| If you have multiple active debugging sessions in Eclipse, you might need to select the correct session in Eclipse before you can see the code updating in Eclipse. |
—
| Instrumented debugging over a serial connection can lose synchronization because of buffer overflows when front panel updates are too frequent or the data is too large. |
5HG2KWO
| Indicators do not update to the latest value when you stop debugging. Instead, the updating stops with the previous value in the indicator. |
48PDDLX1
| Debugging reentrant VIs is not supported. |
Example Target Known Issues |
—
| The Axiom CMD565, VxWorks RAM Image example target you can use with OCDI debugging does not contain support for CAN. |
4ALGPASG
| Because of a third-party issue, embedded applications you build with instrumented debugging for the Axiom CMD565 eCos example target can lose characters on the serial port and can cause CRC and run-time errors when debugging. Do not use dial and slider controls with front panel updates on this target because they generate heavy traffic on the serial port and can cause these errors. |
—
| The Advanced Analysis libraries for the Windows Console Application example target, which include lv_analysisd.lib, lv_analysis.lib, LabVIEWD.lib, and LabVIEW.lib, were compiled with Microsoft Visual Studio 6.0. You might need to rebuild those libraries if you are using a different version of Visual Studio. |
4AEFLN00
| gcc version 4.1 from CodeSourcery generates invalid code for floating-point math at extremes +Inf, -Inf, and NaN This issue is fixed in gcc version 4.2. Refer to http://gcc.gnu.org/ml/gcc-bugs/2006-12/msg00441.html for more information. This invalid code results in overflow/underflow conditions, which causes the following tests to fail on the ColdFire example target:
arr-drv2 - Fail (Test 'thresh sgl': Failed, Test 'thresh sgl 2': Failed)
cmplx - Fail (Test 'prod128': Failed, Test 'sum64': Failed, Test 'sum128': Failed)
cmplx2 - Fail (Test 'eq-neq-csg': Failed, Test 'nan-csg': Failed)
func2 - Fail (Test '0TestInc': Failed, Test '0TestMul': Failed)
unary - Fail (Test 'int32': Failed, Test 'sgl': Failed, Test 'sgl 2': Failed) |
4AEFLN00
| gcc for ColdFire follows the C90 standard, which means a signed integer is represented on 32 bits. The maximum negative value is -2147483648. The maximum positive value is -2147483647. The absolute value for the maximum negative value is coerced to the maximum positive value, which causes the following tests to fail when testing these limit conditions on the ColdFire example target:
func2 - Fail (Test '0TestInc': Failed, Test '0TestMul': Failed)
func3 - Fail (Test '0TestSign': Failed)
unary - Fail (Test 'int32': Failed, Test 'sgl': Failed, Test 'sgl 2': Failed) |
4AEFLN00
| The Linux kernel crashes when using the timer for Timed Loops, which causes the following test to fail on the ColdFire example target:
kernel - Fail (kernel BUG at kernel/posix-cpu-timers.c:1292! Kernel panic - not syncing: BUG!) |
4AEFLN00
| gcc version 4.1 from CodeSourcery limits the application size to 1 MB. Refer to http://www.codesourcery.com/arch ... scuss/msg00022.html for more information. This limit causes the following test to fail on the ColdFire example target:
func2 - memory allocation error if used with parallel code)
|
Example Toolchains Known Issues |
—
| To use the Embedded CAN VIs, you must define the CANSupport compiler directive to be 1 and have a VxWorks image that has wnCAN support linked in. |
—
| VxWorks builds do not work with network paths. |
—
| A gcc compiler bug causes numerous alignment problems with clusters containing a mixture of double-precision, floating-point numerics and other data types when you run embedded applications on the VxWorks Simulator. |
4BF98JVQ
| Eclipse does not support Vista in versions prior to 3.2.2, which is compatible with version 3.2.1 referred to in the IDE Integration documentation. Also, use CDT SDK version 3.1.2 with Vista, which is compatible with version 3.1.1. |
Documentation Known Issues |
—
| The Help button in the Add/Remove Headers dialog box does not open the correct help topic.
Workaround—Open the LabVIEW Help by selecting Help»Search the LabVIEW Help. Click the Index tab and select Add/Remove Headers dialog box (Embedded Targets, PDA, TPC). |
—
| The Detailed Help link in the Context Help window does not open the correct topic for the Real-Time FIFO VIs.
Workaround—Open the LabVIEW Help by selecting Help»Search the LabVIEW Help. Click the Index tab and select RTFIFO VIs (Embedded Targets). |
4AIEH2WD
| The Embedded Development Module VIs reference topics in the LabVIEW Help do not contain the Place on the block diagram or the Find on the Functions palette buttons. |
4AJF4EWD
| The LabVIEW Help and the LabVIEW Embedded Development Module Porting Guide do not contain information about the TCP/IP Security page in the Target Properties dialog box for the Windows Console and Unix Console example targets. You use this page to configure TCP/IP security for the Background Debug Thread (BDT). Refer to the LabVIEW Embedded Development Module Release Notes for more information about the new BDT. |
4BF923WD
| If you use a version of CDT SDK later than 3.1.1, you can skip entering a remote site and just select Callisto Discovery Site. |
4AC9DE00
| The count input in the Fire External Timing Source VI is the current tick count and not the number of generated events for the given timing source as stated in the LabVIEW Help. A Timed Loop executes only if the value of the count input plus the value of the Offset/Phase is a multiple of the Period in the Timed Loop. Otherwise, the Timed Loop waits. |
The following items are the IDs and titles of a subset of issues fixed between the Embedded Development Module 2.0.1 and the Embedded Development Module 2.5. This is not an exhaustive list of issues fixed in the current version of the Embedded Development Module.
LabVIEW includes extensive online and PDF documentation for new and experienced LabVIEW users. Refer to the Embedded Development Module Documentation section in the LabVIEW Embedded Development Module Release Notes for more information about LabVIEW documentation. Visit the National Instruments Web site at ni.com for a searchable KnowledgeBase, product manuals, step-by-step troubleshooting wizards, thousands of example programs, tutorials, application notes, instrument drivers, and so on.
© 2007 National Instruments Corporation. All rights reserved.
Under the copyright laws, this publication may not be reproduced or transmitted in any form, electronic or mechanical, including photocopying, recording, storing in an information retrieval system, or translating, in whole or in part, without the prior written consent of National Instruments Corporation.
National Instruments, NI, ni.com, and LabVIEW are trademarks of National Instruments Corporation. Refer to the Terms of Use section on ni.com/legal for more information about National Instruments trademarks.
Other product and company names mentioned herein are trademarks or trade names of their respective companies.
For patents covering the National Instruments products, refer to the appropriate location: Help»Patents in your software, the patents.txt file on your CD, or ni.com/patents.