Academic Company Events Community Support Solutions Products & Services Contact NI MyNI
This Document is not yet Rated  Rate this Document

LabVIEW Embedded Module for ARM Microcontrollers 1.0 Known Issues and Readme



Primary Software:
Primary Software Version: 1.0
Primary Software Fixed Version: N/A
Secondary Software: N/A

Problem: What are the known issues for the Embedded Module for ARM Microcontrollers 1.0?

Solution:

This KnowledgeBase contains known issues about the LabVIEW Embedded Module for ARM Microcontrollers 1.0.

Refer to the LabVIEW 8.5.1 Readme article for LabVIEW known issues.

Installation Known Issues
General Known Issues
Windows Vista Known Issues
VIs, Functions, and Structures Known Issues
Building VIs into Applications Known Issues
Debugging Known Issues
Documentation Known Issues

Installation Known Issues
ID Known Issue
Do not install the LabVIEW Microprocessor SDK 8.5.1 software after you install the Embedded Module for ARM Microcontrollers. If you install the LabVIEW Microprocessor SDK 8.5.1 software after you install the Embedded Module for ARM Microcontrollers, you will not be able to build ARM applications.
General Known Issues
ID Known Issue
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.
The blue right-arrow button on the Manage Interrupts page of the Build Specification Properties dialog box is grayed out after you select a VI as an interrupt handler. However, you can assign the same VI to a different interrupt by first clicking another object in the Manage Interrupts page to make the blue right-arrow button active again.
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.
42967 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.
4G5A62BR If you hit the <RESET> button on the board, the Processor Status window may not reflect the actual processor status correctly.
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.
Indicators that contain variant data do not update on the front panel.

Workaround—Use a probe on the block diagram to see the data.
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.

Workaround—Set breakpoints on the wires to the controls or indicators you are debugging.
Probes on time stamps do not work with non-instrumented 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.
Combo box controls that use the string data type are unsupported.
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.
44698H30 If you copy and paste global variables, you receive a link error when you try to build the ARM VI into an application.
When you create a VI that uses multiple global variables, do not copy controls from one global variable to another global variable. Controls copied from one global variable to another global variable result in errors when you build the ARM 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
4EM8O000 If you uninstall µVision on Vista without first releasing the µVision license, the license is permanently lost.

Workaround—Before uninstalling µVision on Vista, complete the following steps:
  1. Launch µVision.
  2. Select File»License Management.
  3. Select the license you want to uninstall from the Product list and then click the Uninstall button.
  4. Following the instructions on screen and then close µVision.
  5. Uninstall µVision.
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
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.
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.
XNOR (Not XOR) and NAND (Not And) functions do not yield correct data with integer array inputs.
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.
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.
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.
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.
When you wire two empty arrays to a Build Array function, the output is an array of one element rather than an empty array.
The Call Chain function cannot be used with Timed Loops, including any VIs called from within the Timed Loop.
When you drag and drop an 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 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
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.
4EM8KA00 You cannot debug an application if the top-level VI you specify in the build specification is missing from the project. If you try to debug or run a build specification with a missing top-level VI, LabVIEW appears to do nothing. The wait mouse cursor appears then disappears, and the target does not build of download.

Workaround—Verify that the VI you specify as a top-level VI in the Source Files category of the Build Specification Properties dialog box is in the project.
4GAB06HQ On the Communication Options page of the ARM Build Specification Properties dialog box, LabVIEW allows you to select Serial port in the Console Output section even if you also select Serial port in the Debugging Mode section on the Advanced debugging Options page of the ARM Build Specification Properties dialog box. Serial port debugging mode is not compatible with serial port console output.
4GDEG6HQ On the Application Information page of the Build Specification Properties dialog box, LabVIEW allows you to select Use stack variables even if you also select USB ULINK2 JTAG in the Debugging Mode section on the Advanced debugging Options page of the ARM Build Specification Properties dialog box. USB ULINK2 JTAG debugging mode is not compatible with stack variables.
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.
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.
If you wire an array to an Inline C Node and set the Disable parallel execution and Generate C Style Function Calls build options on the Application Information page, the generated C code cannot build.
If you attempt to build an ARM application with the Generate C style function calls code generation option and the application contains subVIs with unwired inputs, you receive syntax errors.
Debugging Known Issues
ID Known Issue
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
106561 The help topic, Creating Elemental I/O Plug-In VIs, states that you can find example plug-in VIs in the labview\examples\lvemb\EDM\EIO\EIOSimulationExample directory. The correct location is the labview\Targets\NI\Embedded\eio\simulatedIOPlugins directory.
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 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).
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.
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 textbox.


Related Links:

Attachments:
The attached readme is the same file that the LabVIEW Embedded Module for ARM Microcontroller installs.

readme_ARM.html


Report Date: 06/13/2008
Last Updated: 06/27/2008
Document ID: 4MCFRKXX

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
  1 2 3 4 5
Please Contact NI for all product and support inquiries.submit