Academic Company Events NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Document Type: Tutorial
NI Supported: Yes
Publish Date: Feb 23, 2009


Feedback


Yes No

Related Links - Developer Zone

Related Links - Products and Services

Accelerate ARM-Based Embedded System Development with NI LabVIEW

1 ratings | 5.00 out of 5
Read in | Print | PDF

Many embedded systems, from medical devices to consumer electronics, require developing software to target inexpensive, low-power microcontrollers. ARM is a leading 32-bit reduced instruction set computing (RISC) microcontroller architecture used for designing hardware where low-power consumption is a primary design objective. More than 10 billion ARM processors have been shipped since 1991. A number of semiconductor companies have developed microcontrollers based on ARM architectures, including NXP, Luminary Micro, Freescale, and Texas Instruments. Using the NI LabVIEW Embedded Module for ARM Microcontrollers, you can take advantage of graphical programming when developing applications for custom ARM-based hardware. Programming with LabVIEW increases your efficiency by providing high-level abstraction while maintaining the ability to target processors necessary for an embedded system with high-quality software.

The LabVIEW Embedded Module for ARM Microcontrollers supports more than 260 ARM7, ARM9, and Cortex-M3 microcontrollers, with two tiers of support. Tier 1 devices are validated microcontrollers that provide an out-of-the-box programming experience. In addition to basic LabVIEW programming, mathematics, and signal-processing palettes, tier 1 devices also provide LabVIEW palettes for communications, analog, and digital I/O. Furthermore, the LabVIEW Embedded Module for ARM Microcontrollers accelerates development by providing a cycle-accurate simulator for tier 1 devices. You can use this to test designs with simulated I/O before deploying to hardware. Tier 2 devices provide processor support for standard LabVIEW palettes, but no ARM-specific palettes are provided, requiring you to create and integrate drivers for on-chip peripherals. The LabVIEW Embedded Module for ARM Microcontrollers provides two tier 1 evaluation hardware options: the MCB2300 and LM3S8962. The MCB2300 evaluation board from Keil features an NXP ARM7 microcontroller, while the LM3S8962 evaluation board features a Luminary Micro Cortex-M3 microcontroller. Each board features analog and digital I/O, Ethernet, controller area network (CAN), SPI, and I2C support. Tier 1 hardware provides an advanced starting point for developing software to target custom hardware.


[+] Enlarge Image
Figure 1. Tier 1 evaluation hardware provides an advanced starting point for developing embedded systems.


The latest release of the LabVIEW Embedded Module for ARM, Version 1.1, adds a third tier 1 board – the ARM7-based MCB2460 board from Keil. The MCB2460 uses an NXP LPC2468 microcontroller and features 32 Mb of external RAM, CAN, serial, and Ethernet interfaces. You can purchase this board through the Keil Web site.


Embedded systems need to communicate over a wide variety of communication buses using a range of protocols. The LabVIEW Embedded Module for ARM Microcontrollers 1.1 expands the existing base of communications options, such as I2C, serial, and TCP/IP, by adding support for CAN. With CAN communication, you can create systems that communicate over this automotive bus technology. The LabVIEW Embedded Module for ARM Microcontrollers provides a simple software interface to the CAN bus to read, write, and filter data. Each evaluation board option provides at least one CAN controller interface to use while prototyping embedded designs.

 


[+] Enlarge Image
Figure 2. LabVIEW simplifies developing for low-power ARM hardware with high-level abstraction.


Adding to the available communications options, the LabVIEW Embedded Module for ARM Microcontrollers now supports single-process and network-published shared variables to share data among VIs in the same embedded application, or to read and write data to or from other network-published shared variables. With this functionality, you can easily create complex embedded systems with multiple devices such as desktop computers, PXI systems, and NI CompactRIO controllers, which communicate over a network via TCP/IP with ARM hardware. ARM targets do not support hosting shared variables.


When developing with the LabVIEW Embedded Module for ARM Microcontrollers, you create graphical programs as if you were developing an application for a desktop PC or PXI. One noticeable difference occurs when you deploy your applications for ARM hardware: LabVIEW generates C code corresponding to the LabVIEW VI, compiles the generated code using the µVision C compiler from Keil, and then downloads the code to the hardware. You perform all of these steps simply by running the VI. A project Build Specification tells LabVIEW how to generate and compile the C code. With the Build Specification, you can use LabVIEW and the µVision compiler to optimize the generated embedded application for binary size, code readability, or execution speed. The LabVIEW Embedded Module for ARM Microcontrollers 1.1 makes optimizing code easier by providing preset build specification configurations to optimize for code size or speed. When using one of the preset configurations, LabVIEW sets the appropriate build options automatically. Individual options can be overridden in a preset configuration. If you select a conflicting build specification option, the build specification window will indicate the conflict, helping you produce efficient and reliable embedded code, depending on your application constraints.


NI added several new features to the LabVIEW Embedded Module for ARM Microcontrollers to improve code execution speed. Using fixed-point support, you can create more efficient software designs. Fixed-point support includes numeric, conversion, data manipulation, and string conversion functions. Additionally, the In-Place Element structure, which controls how the LabVIEW compiler performs certain operations, is now available. This structure, in some cases, can increase memory and VI efficiency.


The LabVIEW Embedded Module for ARM Microcontrollers continues to make developing embedded systems based on ARM hardware easier and more efficient. NI provides several low-cost evaluation kits that you can use to discover how graphical programming can help you quickly develop higher-quality embedded code.


Download a free evaluation version of the LabVIEW Embedded Module for ARM Microcontrollers 1.1. 

1 ratings | 5.00 out of 5
Read in | Print | PDF

Reader Comments | Submit a comment »

 

Legal
This tutorial (this "tutorial") was developed by National Instruments ("NI"). Although technical support of this tutorial may be made available by National Instruments, the content in this tutorial may not be completely tested and verified, and NI does not guarantee its quality in any way or that NI will continue to support this content with each new revision of related products and drivers. THIS TUTORIAL IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND SUBJECT TO CERTAIN RESTRICTIONS AS MORE SPECIFICALLY SET FORTH IN NI.COM'S TERMS OF USE (http://ni.com/legal/termsofuse/unitedstates/us/).