San Jose, Ca. – At the Embedded Systems Conference here, Micrium has chosen to announce availability of significant upgrades on three of its embedded software building blocks: uC/TCP-IP, uC/USB, and uC/FS.
The upgrades offer substantial improvements and facilitate expansion of existing software capabilities. Micrium will be discussing the new versions in Booth 1844 at the ESC from March 30 through April 2.
According to Jean Labrosse, president and CEO of Micrium, each of the upgrades strictly adheres to a policy of providing the cleanest code, useable across a wide range of systems, all the way to safety-critical applications.
He said Version 2 of uC/TCP-IP expands support for Direct Memory Access (DMA), multiple interfaces, and multiple addresses per interface, and improves support for Ethernet Physical (PHY) layer devices.
“The DMA hardware feature allows received data to be copied by hardware directly into TCP-IP v2 stack buffers for later processing,” said Labrosse. “With DMA, network performance and transmission is improved.
“With the expanded support, DMA works directly with stack buffers, eliminating the need for an extra set of buffers in the driver. The result is a cost savings based on eliminating drivers, and performance improvements when the target device uses DMA.”
Micrium's uC/TCP-IP v2 now supports multiple interfaces enabling developers to have more than one Ethernet port or combination of future supported device types, as many as is required by the design.
With the new version, said Labrosse, it is now possible to multicast, configuring more than one IP address per network interface. This feature enables a device to simultaneously communicate on two networks using only one interface, saving hardware costs on both more network interfaces and RAM. As many addresses per interface as necessary for the design can be configured.
At the same time, should multicasting not be required for the design, he said, it can be easily compiled out using enable/disable making the product smaller, and requiring less memory.
uC/TCP-IP v2 is now link-state aware and works with the PHY to reduce power when the interface is disabled. Additionally, the stack works with the PHY to obtain the proper Ethernet link state (up or down). A generic driver, provided by Micrium, will work with the majority of existing PHYs. However, he said, Micrium will continue to write Ethernet 'MAC' drivers which represent the rest of the Ethernet system.
Micrium is also unveiling a new Application Programming Interface (API) called Net APP that makes it easier for customers to write applications using the TCPIP stack. The new API results in more reliable device drivers, and less device driver development time
“Both uC/TCP-IP v2 and v1 are ZERO copy stacks,” he said. “Application data is not copied from buffer to buffer. Once application data is in the stack buffer, it is not recopied.
In addition it features a new Windows port that enables developers to begin writing applications prior to obtaining system hardware, and leverage enhanced development tools, specifically Visual Studio 2008, which is expected to significantly improve the development process.
New USB classes . Micrium has also added two new classes to USB – audio for headsets, microphones, speaker set (available with uC/USB-Device and uC/USB-Host), and a printer class available to C/USB-Host.
Labrosse claims the latest version of C/USB-Device facilitates easy expansion so that products can be rapidly updated. The Audio Class driver is compatible with the USB Audio Device Class 2.0 specifications. Speaker, MIC and Mixer (optional) units are supported. Audio Streaming through I2S to external Audio Codec and Audio Control through I2C to external Audio Codec are supported. Volume Control and Mute are implemented. One Control, one Isochronous-Out and one Isochronous-In endpoint are used.
With the latest version of C/USB-Device, developers can choose from an extensive assortment of USB controllers. Simplified driver format: The drivers that serve as the C/USB-Device interface to hardware is devoid of complex code. The latest version of C/USB-Device allows developers to use DMA to efficiently copy the contents of packets into buffer, resulting in increased performance.
The Printer Class is compatible with USB 2.0 specifications and targets printers that support mandatory Bulk OUT endpoint and both Bulk OUT and optional Bulk IN endpoints. It is compatible with almost all HP LaserJet printers, which supports PCL5 language.
Simple Printer API is exposed to the end user such that NO knowledge of underlying Printer protocols is necessary to develop applications. HP TCL is the first language supported. With the new version of USB-Host, it is no longer necessary to use an RTOS but, an RTOS is highly recommended.
C/FS is a compact, reliable, high-performance file system for microprocessors, microcontrollers and DSPs. Designed with safety-critical systems in mind, said Labrosse, the source code for C/FS consists of clean, consistent ANSI C source code, with extensive comments that describe global variables and all functions.
“C/FS supports the FAT file system, for interoperability with all major operating systems. An optional journaling module provides fail-safe operation, while maintaining FAT compatibility,” he said.
The memory footprint of C/FS can be adjusted at compile time based on the features required and the desired level of run-time argument checking. For applications with limited RAM, features such as cache and read/write buffering can be disabled; for applications with the sufficient RAM, these features can be enabled in order to gain better performance.
Device drivers are available for all common media types. Each is written with a layered structure to be easily ported to hardware. “The device driver structure is simple,” said Labrosse, “basically just initialization, read and write functions, so that a new driver can be developed easily.”
Two sets of API functions are available. One set of functions is based on the popular POSIX standard. As an alternative to these functions, the new edition offers API functions that closely resemble those of other Micrium products.
He said the latest version of C/FS carefully follows the Motor Industry Software Reliability Association (MISRA) C Coding Standards. Developers who use the latest version of C/FS can also take advantage a new, more convenient caching scheme. “Caching helps to mitigate the performance problems that slow storage devices create,” said Labrosse. Finally, C/FS is compact and efficient. A typical configuration of the product occupies only 10 to 15 Kbytes of code memory.
C/FS is currently undergoing the FAA certification process at this stage, which is expected to be complete by year-end 2009. To learn more, go to www.micrium.com.