Archived: LabVIEW Microprocessor SDK 2.5.1 Known Issues

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Overview

This document has been archived and is no longer updated by National Instruments.

This document contains the LabVIEW Microprocessor SDK 2.5.1 known issues that were discovered before and since the release of the LabVIEW Microprocessor SDK 2.5.1. Not every issue known to NI will appear on this list; it is intended to only show the severe and more common issues that can be encountered.

Known Issues

The following items are known issues in the LabVIEW Microprocessor SDK 2.5.1.

IDKnown Issue
 Known Issues Recorded after Release
4H38HGBR
If you are using the C style function calls build option, front panel control and indicator values in the top-level VI are not generated correctly and are ignored.

Workaround—Use a top-level VI with an empty front panel or do not use the C style function calls build option.
4H7C2000
The Escape XML and Unescape XML VIs are unsupported.
4BUGPMX1
You receive an error if you use clusters as inputs to VIs that you build with the Generate C function calls build option.
4D5GDNHQ
The File Mapping dialog box is called the VI Mapping dialog box in the documentation, which was the name of the dialog box in previous versions of the software. In addition to mapping VIs, you also can now map external files, so the VI Name text box is now the File Name text box.
4BPBRQWD
LabVIEW crashes if you right-click an Elemental I/O Node on the block diagram and select Add New Elemental I/O from the shortcut menu without adding it to the LabVIEW project.

Workaround—Save or mass compile SimulatedIO_EIOSpecifyNode_0.vi.

 

IDKnown 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/archives/coldfire-gnu-discuss/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.


Additional Resources

Glossary of Terms

 

  • Bug ID - When an issue is reported to NI, you may be given this ID or find it on ni.com.  You may also find IDs posted by NI on the discussion forums or in KnowledgeBase articles.
  • Legacy ID – An older issue ID that refers to the same issue.  You may instead find this issue ID in older known issues documents.
  • Description - A few sentences which describe the problem. The brief description given does not necessarily describe the problem in full detail.
  • Workaround - Possible ways to work around the problem.
  • Reported Version - The earliest version in which the issue was reported.
  • Resolved Version - Version in which the issue was resolved or was no longer applicable. "N/A" indicates that the issue has not been resolved.
  • Date Added - The date the issue was added to the document (not the reported date).