Ordering Information | Key Features | Supported Devices | Video | Technical Documents |
Overview Following strict, yet efficient coding and documentation standards, Segger created and developed a feature-rich, high-performance family of middleware with a very small footprint and outstanding documentation. The software is very easy to use and works out of the box. BSPs and projects for popular eval boards and tool chains are available. | ||||||||||||||
embOS/IP - TCP/IP StackembOS/IP is a CPU independent TCP/IP stack. It is a high-performance library that has been optimized for speed, versatility and memory footprint. It is written in ANSI C and can be used on virtually any CPU. This TCP/IP stack is RFC compliant and extends a standard socket API to the embedded application. embOS/IP is fully optimized for use with embOS. The embOS/IP is a fully featured TCP/IP which can be supplemented application layer protocols like HTTP or FTP. The application layer protocols are optional extensions to embOS/IP. They can be used with embOS/IP OR with any OTHER TCP/IP stack.
embOS/IP has been designed to cooperate with any kind of hardware. To use embOS/IP, a network interface driver matching the target hardware is required. The code size of a network interface driver depends on the hardware and is typically between 1 and 3 Kbytes. The driver handles both the MAC (media access control) unit as well as the PHY (Physical interface). The driver interface has been designed to allow support of internal and external Ethernet controllers (EMACs). It also allows to take full advantage of hardware features such as MAC address filtering and checksum computation in hardware. | ||||||||||||||
emUSB Device - USB Device StackemUSB Device is a high speed USB device stack specifically designed for embedded systems. The software is written in ANSI "C" and can run on any platform. emUSB can be used with embOS or any other supported RTOS. A variety of target drivers are already available. Support for new platforms can usually be added for no extra charge.
emUSB consists of three layers: A driver for hardware access, the emUSB core and at least an USB class driver or the bulk communication component. The different available hardware drivers, the USB class drivers and the bulk communication component are additional packages, which can be combined and ordered as it fits to the requirements of the project. Normally, emUSB consists of a driver that fits to the used hardware, the emUSB core and at least one of the USB class drivers MSD, CDC, HID or the unclassified bulk component. | ||||||||||||||
emUSB Host - USB Host StackemUSB Host stack implements full USB host functionality, including external hub support, and optionally provides device class drivers. It enables developers to easily add USB host functionality to embedded systems. The software stack complies with the USB v1.1 and USB v2.0 specifications. It supports all transfer modes (control, bulk, interrupt) at low, full and high speed. USB pipe management and extended error recovery mechanisms that are required for reliable operation are implemented internally. The modular design enables applications to access the USB host programming interface directly, or to use APIs exposed by class drivers. At its upper edge a class driver typically attaches to an operating system module such as a file system.
The stack can handle multiple devices and hubs simultaneously and fully supports hot plugging of devices and hubs. The programming interface supports dynamic device enumeration and identification. | ||||||||||||||
emFile - Embedded File SystememFile is a file system for embedded applications which can be used on any media, for which you can provide basic hardware access functions. emFile is a high performance library that has been optimized for minimum memory consumption in RAM and ROM, high speed and versatility. It is written in ANSI C and can be used on any CPU. emFile has been designed to cooperate with any kind of embedded system and storage device. To use a specific medium with emFile, a device driver for that medium is required. Device drivers are available for most common mediums.
Two versions of this embedded file system are available. Depending on the application needs; a Microsoft Windows compatible version which extends a FAT12, FAT16 and FAT32 file system to the embedded application is available, as well as a proprietary file system designed specifically for embedded devices. Both implementations of emFile make use of the same upper layer API which is similar to the standard "C" I/O API (stdio.h). | ||||||||||||||
emWin - Graphic Software and GUIemWin is designed to provide an efficient, processor- and LCD controller-independent graphical user interface (GUI) for any application that operates with a graphical LCD. One of the most challenging aspects of many development projects is designing an attractive and useful display. Besides creating images that look exactly how the application is required to appear, the implementation of windows techniques, complex drawing routines, different fonts and flicker-free updates are also expected. The developer has to implement this complex functionality in short time periods, which can take up to months or even years of development time. emWin, probably the most efficient and comprehensive embedded GUI packages available, helps developers beat their timelines and cut their development costs.
emWin is compatible with single-task and multitask environments, with a proprietary operating system or with any commercial RTOS. emWin is shipped as "C" source code and supports any black and white, grayscale or color display. Drivers for most common LCD controllers are available. All types of graphical displays (STN-LCD, TFT, CRT, OLED, Plasma, ...) are supported. | ||||||||||||||
|
Key Features
Main Features:
- Optimized for resource usage
- Optimized for high performance
- Platform-independent
- Reliable due to proven code
- ANSI C source code
- Easy to implement and maintain due to global coding standards for all Segger software
- Royalty free
embOS/IP | emUSB | emUSB Host | emFile | emWin | |
---|---|---|---|---|---|
RTOS Required | embOS | Can be used with or without an RTOS | embOS or others | embOS or others | embOS or others |
Specification Compliance | TCP/IP | USB 1.1. and USB 2.0 | USB 1.1. and USB 2.0 | FAT12, FAT16 and FAT32 | -- |
Other Features |
|
|
|
|
|
Supported Devices
Manufacturer | embOS/IP | emUSB | emUSB Host | emFile | emWin |
---|---|---|---|---|---|
Altera | NIOS 2 | -- | -- | A device driver for specific hardware is required to use emfile, including RAM disk driver, NAND flash driver, NOR flash driver, MMC/SD driver, and CF card and IDE driver. The driver can be used with every target which supports basic hardware access. | Any 8/16/32/64-bit CPU with enough ROM and RAM, depending on the applications. |
Atmel | AT91CAP9, AT91RM9200, AT91SAM7x, AT91SAM9260, AT91SAM9263, AT91SAM9G20, AT91SAM9G45, AT91SAM9XE, ATSAM3X, AVR32UC | AT91CAP9, AT91RM9200, AT91SAM3S, AT91SAM3U, AT91SAM4S, AT91SAM7A3, AT91SAM7S, AT91SAM7SE, AT91SAM7X, AT91SAM9260, AT91SAM9261, AT91SAM9263, AT91SAM9G20, AT91SAM9G45, AT91SAM9Rx64, AT91SAM9XE, AVR32UC | AT32UC3A, AT91SAM9260, AT91SAM9261, AT91SAM9263, AT91SAM92G10, AT91SAM92G20, AT91SAM9XE, AT91SAM92G45/M10 | ||
Freescale | i.MX25x, Kinetis K60/K70, MCF5223x, MCF5329 | Kinetis K40, Kinetis K60 Fullspeed, Kinetis K70 Fullspeed, Kinetis K60/K70 Highpseed, iMX25x, iMX28x, MCF227x, MCF225x, MCF51JMx | Kinetis K20, Kinetis K40, Kinetis K60, Kinetis K70, Kinetis KL20, Kinetis KW22 | ||
Fujitsu | -- | MB9BF50x | -- | ||
Infineon | XMC45xx | -- | -- | ||
Microchip | ENC424J600, ENC624J600 | -- | -- | ||
NXP | LPC17xx, LPC18xx, LPC23xx, LPC24xx, LPC32xx, LPC40xx, LPC43xx | LPC13xx, LPC17xx, LPC18xx, LPC214x, LPC23xx, LPC24xx, LPC288x, LPC318x, LPC313x, LPC3250, LPC43xx | LPC1754FBD80,551LPC1754FBD80,551, LPC1756, LPC1758, LPC1759, LPC1765, LPC1766, LPC1768, LPC1776, LPC1777, LPC1778, LPC1785, LPC1786, LPC1787, LPC1788, LPC2387, LPC2388, LPC2420, LPC2458, LPC2460, LPC2468, LPC2470, LPC2478, LPC3180, LPC3220, LPC3230, LPC3240, LPC3250, LH7A400, LH7A404 | ||
Renesas | H8S2472, RX, SH7670, V850_D70351x, V850JGH3 | H8S2472, H8SX1668R, K78F102x, RX62N, RX621, RX63N, RX631, SH7203, SH7216, SH7268/9, SH7286, uPD720150, V850ES/JG3-E/U/H, V850ES/JH3-E/U/H | NEC V850ES Jx(G/H)3-U, RX621, RX62N, RX631, RX63N | ||
STMicroelectronics | STM32F107, STM32F207, STM32F407, STR912 | STM32F101/103, STM32F105/107, STM32F2xx, STM32F4xx, STM32L15x, STR71x, STR750, STR91x | STM32F105, STM32F107, STM32F205, STM32F207, STM32F215, STM32F217, STM32F405, STM32F407, STM32F415, STM32F417 | ||
Texas Instruments | LM3S6965-IQC50-A2.LM3S6965-IQC50-A2., LM3S9B90 | LM3S9B9x, MSP430 | -- | ||
Toshiba | TMPM369 | TMPA900, TMPA910, TMPM369 | -- |
Video
Technical Documents
Learning Center
Ordering Information
Licensing Option
Single Developer Object Code License (SOL) - The machine-readable, linkable and complied version limited to a specific CPU and complier. An SSL entitles one and only one person working on a project in a company to work with the software on one and only one personal computer at a time.
Single Developer Source Code License (SSL) - The human-readable vesion that can be complied into object code limited to a specific CPU and complier. An SOL entitles one and only one person working on a project in a company to work with the software on one and only one personal computer at a time.
Additional Developer License (ADL) - Developer Object Code or Developer Source Code can be used in multiple users.
Middleware/Stacks | Europe Stores | Americas Stores | Asia Pacific Stores | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
embOS/IP |
|
|
| |||||||||
emUSB |
|
|
| |||||||||
emUSB Host |
|
|
| |||||||||
emFile |
|
|
| |||||||||
emWin |
|
|
|