General Known Issues |
ID | Known Issue |
---|
130687 | If you place a checkmark in the Generate C function calls checkbox on the Application Information page of the Build Specification Properties dialog box, the application crashes. |
130929 | The following combinations of settings in the Application Information page of the Build Specification Properties dialog box cause generated code to crash or cause compiler or run-time errors:
- Selecting VI initialization from the Allocate constants pull-down menu and Out of scope from the Deallocate constants pull-down menu.
- Selecting Application initialization from the Allocate constants pull-down menu and Out of scope from the Deallocate constants pull-down menu.
- Selecting Application initialization from the Allocate constants pull-down menu and VI end from the Deallocate constants pull-down menu.
|
123244 | The Embedded Module for ARM Microcontrollers does not appear in the license status or splash screens. |
— | It is not possible to close a listen socket and release the socket's resources. Closing the socket only performs a TCP disconnect. This is a known behavior of the RLM TCP stack. |
44734 | You cannot use strings in VIs you create to handle interrupts. In addition, interrupt handler VIs do not support array operations that use dynamic memory. If you use a VI or function in an interrupt handler VI that interrupt handler VIs do not support, you will receive an Invalid Context error when you try to build. |
— | Sometimes you might receive a dialog box telling you that quitting LabVIEW will abort all running VIs, even though no VIs appear to be running. You can click the OK button to close this dialog box. |
102464 | The Show Code item in the shortcut menu, available when you right-click a block diagram item during OCDI debugging, does not work. |
106635 | If you abort an ARM application while a Simulate IO VI is running, the STOP button on the front panel of the Simulate IO VI does not stop the Simulate IO VI. Click the Abort button to stop the Simulate IO VI. The next time you try to run the Simulate IO VI, the VI runs and then stops. Click the Run button again and the Simulate IO VI runs normally. |
107754 | You cannot add Elemental I/O items to the Project Explorer window if you create a project using the Create New ARM Project wizard and then drop an Elemental I/O Node on the block diagram before interacting with the target in the Project Explorer window.
Workaround—Save and close the project. When you reopen the project, right-click the target in the Project Explorer window and select New»Elemental I/O from the shortcut menu to add Elemental I/O items to the project. Then right-click the item in the Elemental I/O Node on the block diagram and select Select Elemental I/O»xxx from the shortcut menu, where xxx is the type of Elemental I/O you want to add. |
— | Comparing cluster aggregates that contain fixed point numbers of different sizes do not work. |
4G5CTHBR | When you create a target for a generic processor, the Interrupt Service Manager might not correctly configure the interrupts. If you do not explicitly specify the microcontroller in the General page of the Target Properties dialog box, then the interrupt list on the Manage Interrupts page of the Build Specification Properties dialog box is empty.
Workaround—Right-click the microcontroller target in the Project Explorer window and select Properties from the shortcut menu. Click the Target processor pull-down menu and select the microcontroller, even if the correct microcontroller target is already listed. |
— | Target syntax checking might not happen until you edit an embedded VI. |
— | Target syntax checking does not work on data types inside of clusters. |
— | Because reading and writing of strings, clusters, and arrays is not synchronized in ARM applications, sometimes front panel controls and indicators do not update properly when you use the JTAG/non-instrumented debugging mode.
Workaround—Set breakpoints on the wires to the controls or indicators you are debugging. |
— | Probes on time stamps do not work with non-instrumented (JTAG) debugging. |
— | The Embedded Module for ARM Microcontrollers 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. |
— | 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. |
— | When you use time stamp constants or controls to enter time stamps on the host PC, the time zone of the host machine is used, but time stamps print out in GMT. This is because ARM targets do not support time zones, so time stamps are always considered GMT, regardless of the time stamp on the host PC. |
— | MathScript is unsupported on embedded targets. |
— | The Timed Loop introduces threads to the generated C code. However, the following parts of LabVIEW are not thread-safe:
- Local and global variables
- Data types that use reference numbers (refnums)
- VI Server
- Queues and notifiers—Use the RT FIFO VIs to pass data between Timed Loops instead
- Serial I/O
|
— | Indicators represented as double data types do not update for integer values. Change the representation of the indicator by right-clicking the indicator, selecting Representation from the shortcut menu, and selecting a different data type. |
— | A linker error occurs if you include an external C file in a project and the external C file has the same name as a VI in the same project. |
— | If you flatten data that contains an extended precision or complex precision floating-point data type, the flattened data is incompatible with any other LabVIEW version or add-on except the Embedded Module for ARM Microcontrollers. |
— | Any binary operation involving a dynamic data type and a non-scalar non-dynamic data type, such as a 1D array, does not work correctly. |
— | When you create a VI that uses multiple global variables, do not copy controls from one global variable to another global variable. If you copy and paste global variables, you receive an error when you try to build the VI into an application. |
— | ARM 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. |
Windows Vista Known Issues |
ID | Known Issue |
---|
— | The Embedded Module for ARM Microcontrollers does not run on the Windows Vista x64 Edition, the 64-bit version of the operating system. |
VIs, Functions, and Structures Known Issues |
ID | Known Issue |
---|
130413 | If a VI uses the Format Into String function and you remove the checkmark from the Generate guard code checkbox on the Application Information page of the Build Specification Properties dialog box, the VI crashes. |
103664 | The EKLM3S8962 Display VIs do not include a VI to clear the display.
Workaround—You can clear the screen by using EKLM3S8962 Display Set Foreground VI and EKLM3S8962 Display Draw Rect VI. Set the color input of the EKLM3S8962 Display Set Foreground VI to match the background color. Then set the filled input of the EKLM3S8962 Display Draw Rect VI to TRUE and draw a rectangle the size of the whole display. |
106561 | The template VIs for creating custom Elemental I/O are located in the labview\Targets\NI\Embedded\eio\simulatedIOPlugins directory. |
— | You cannot open and update the front panel of a subVI within a Timed Loop. Updating the front panel of a subVI within a Timed Loop can cause LabVIEW to crash.
Workaround—Place the subVI in a While Loop. |
— | If a VI contains a Timed Loop without at least one While Loop running in parallel, the VI uses 100% of the processor.
Workaround—Place a While Loop containing a Wait (ms) function, or something similar, in the VI outside of the Timed Loop. |
102752 | The maximum combined total of Timed Loops and asynchronous Call Library Nodes that ARM applications can run simultaneously is sixteen. |
— | ARM targets do not support port 0 with UDP communication. The port output for the UDP Open function always returns 0. Do not wire the port output to other VIs or functions.
Workaround—Wire the port input to the UDP Open function and to the next VI or function in the diagram to maintain the proper port specification. |
4H3A5KX1 | Using the Bessel Filter VI causes compiler errors in the generated code. |
4H7C2000 | The Escape XML and Unescape XML VIs are unsupported. |
— | 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 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. |
— | 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. |
— | 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. |
38853 | The Call Chain function cannot be used with Timed Loops, including any VIs called from within the Timed Loop. |
— | The Draw Text at Point and the Get Text Rect VIs are unsupported in ARM VIs. |
— | Dynamic Add/Remove Signals is unsupported. |
— | You must use strict C code in Formula Nodes you use in ARM VIs. However, LabVIEW does not check the C syntax in the Formula Node syntax while in edit mode. If you build a VI into an ARM application that contains a Formula Node with non-strict C code, LabVIEW returns a general error. |
— | The Delay Values Express VI and the Trigger and Gate Express VI do not function correctly in ARM VIs because maintaining state in local variables between calls to a subVI is not supported. |
Building VIs into Applications Known Issues |
ID | Known Issue |
---|
128561 | The Inline subVI code generation option is unsupported if your project contains XNodes or if the VI was implemented using a C function call. VIs that are implemented using a C function call contain a comment on the block diagram of the VI. |
128499 | You receive a compiler error if you use UNC file paths.
Workaround—Use a non-UNC file path. |
121512 | If you are using JTAG debugging, the Optimization setting on the Advanced Compiling Options page is ignored. JTAG debugging always uses Level 0 (-O0). |
— | You cannot build an empty VI with debugging information. |
102393 | If you move an ARM project between computers, make sure the directory path to LabVIEW is the same on both computers. If the Embedded Module for ARM Microcontrollers is installed in different locations on the computers, you receive a build error, PRJ_ADD_FILE . |
— | 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. |
Debugging Known Issues |
ID | Known Issue |
---|
126860 | (EK-LM3S8962) LabVIEW fails to connect to the target if you are using serial debugging. |
106785 | If you use OCDI debugging, the Pause button is ignored.
Workaround—Use instrumented debugging. |
107189 | Profiling is limited to to a millisecond resolution.
Workaround—To profile nodes faster than 1 millisecond, put the nodes in a loop and look at how long it takes the whole loop to run. |
127523 | Breakpoints might be ignored depending on the speed of your computer.
Workaround—Pause the execution before setting breakpoints. |
— | You cannot debug global variables.
Workaround—Probe the wires coming into or out of the global variable. |
59134 | Controls that can update with continuous values, such as knobs and sliders, might not synchronize correctly. For example, if you wire an indicator to a knob and move the knob to a value, the indicator might not show the value of the knob.
Workaround—Use controls the require discrete values, such as Numeric controls. |
40485 | If you single-step through an ARM VI and step into an Elemental I/O Node, you will see ghost images of nodes on the block diagram.
Workaround—Set a breakpoint after the Elemental I/O Node and then single-step through the block diagram. |
— | Debugging reentrant VIs is not supported. |
Documentation Known Issues |
ID | Known Issue |
---|
97051 | Pressing the <ESC> key in the Build Error dialog box displays the Error Details dialog box. |
4BPCFOWD | The Detailed Help link in the Context Help window does not open the correct topic for the Inline C Node.
Workaround—Open the LabVIEW Help by selecting HelpпSearch the LabVIEW Help. Click the Index tab and select Inline C Node. |
— | 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 ARM VIs reference topics in the LabVIEW Help do not contain the Place on the block diagram or the Find on the Functions palette buttons. |
— | ARM-specific VIs do not contain the Open example buttons. ARM-specific examples are available in the LabVIEW\examples\arm directory. Open the .lvproj file to open the project and the example ARM VI. |