Ultra Tiny Embedded Linux




Ultra Tiny Embedded Linux ™

Emprog offers users of System On a Chip (SOC) microcontrollers (MCUs), microprocessors (MPUs), digital signal controllers (DSCs), field programmable gate arrays (FPGAs) and digital signal processors (DSPs) Rowebots's ultra tiny Linux and POSIX compatible real time operating systems (RTOS) along with supporting tools, support services and customization services. One stop for your Embedded Linux application.

Ultra tiny memory footprint
The DSPnano POSIX RTOS supports general purpose MCU, DSP and DSC 16 bit architectures with as little as 1K of RAM and 6K of flash. The Unison POSIX RTOS supports 32 bit MCUS, DSPs, FPGAs, MPUs and DSCs with memory sizes from 1.2K of RAM and 6K of flash to many mega bytes of RAM and Flash.

A typical POSIX RTOS solution using a minimal UDP stack for either Unison or DSPnano RTOS is in the range of 20K of flash and 8K of RAM. A complete solution looking more like an ultra tiny embedded Linux configuration using the Unison RTOS might be in the order of 300K of flash using 70K of flash depending on the configuration without security modules. With security modules, this might be more like 400K of flash and 100K of RAM depending on features selected.

The POSIX RTOS services provided to create the ultra tiny embedded Linux compatible offering are also tailorable in size to minimize Flash and RAM usage. With this approach hardware savings can be achieved for volume products as the most effective hardware platform can be used. Full Native POSIX Implementation

The implementations of both DSPnano and Unison are based on a completely native POSIX implementation using nano-kernel technology. As such they don't include inefficient layers or mapping of functions. A layered approach often involves a subset implementation due to different abstraction approaches and different error reporting which leads to none portable code. The Unison and DSPnano RTOS approaches deliver complete POSIX RTOS implementations with file I/O, socket I/O and fully compatible error codes.

If comparing to an embedded Linux implementation, the RoweBots POSIX RTOS implementations use a POSIX class 2 approach while Linux and embedded Linux take a POSIX class 3 approach. In practical terms, this means that RoweBots' ultra tiny embedded Linux compatible solutions offer a single process, multiple thread model with complete I/O and a tiny footprint and other significant improvements while embedded Linux variants offer multiple process, multiple thread models with complete I/O which require an order of magnitude more resources.

Zero Boot Time
The DSPnano and Unison POSIX RTOSes offer something that looks like zero boot time to the user. This is accomplished in two ways. First, the user controls the boot sequence, so the slow devices can come up in the background. Second, the ultra tiny embedded Linux compatible offerings from RoweBots run from flash not RAM as Linux must. Third, the small efficient kernel that the RoweBots POSIX RTOSes offer are simply much leaner and faster and this creates a very fast boot without optimization.

In comparison, the ultra tiny embedded Linux compatible offerings from RoweBots can boot in microseconds while Linux systems using things like Fastboot and image storage and retrieval offer boot sequences that take seconds or tens of seconds.

Ease of Use and Understanding
The RoweBots POSIX RTOS offerings have the programming model of embedded Linux without processes. This is generally well known and understood by developers and makes embedded system development fast and easy.

The architecture of the POSIX RTOS offerings are also extremely simple and easily understood. With six primitives to write your own POSIX device support, and a well defined API, the simplicity of Unison for embedded systems development is unprecedented. Other systems layer on proprietary I/O layers with a different model and structure for each device which vastly complicates developing new I/O services. The POSIX RTOS offerings are an order of magnitude easier to understand than other offerings like embedded Linux as well.

Complete I/O and High Level Protocols
The POSIX embedded operating systems or POSIX RTOSs have an extensive set of I/O modules, services and protocols which provide the necessary services for:
•Internet connectivity using TCP/IPv4/v6 .
•Advanced Internet protocols like tFTP, DHCP, SMTP, SNTP, Telnet, PPP, SNMP, HTTP, and more.
•Wireless support including Bluetooth, WiFi, Zigbee, 802.15.4, 6loWPAN, UHF, GPRS/GSM, LTE, GPS and more.
•File systems including minimum space oriented Fsys, FAT compatible, and PowerSafe File System using uSD, Nand, Nor, USB and more.
•USB embedded host and device with a variety of class drivers.
•Security protocols including SSH, SFTP, TLS/SSL, Secure Boot, HTTPS, IPSec /VPN, and Secure email.

Modular Construction
The ultra modular construction of the POSIX RTOS or ultra tiny embedded Linux compatible offerings make the entire system very small while also making it easier to understand. The modularity means any new service can be easily added and integrated without affecting other services. It minimizes testing and really makes the environment simple to expand or contract. The ultra tiny embedded Linux or POSIX RTOS approach taken to maximize modularity creates unprecedented simplicity - at least and order of magnitude simpler than embedded Linux. See the white papers section for more details.

Interrupt Performance
The interrupt performance of the POSIX RTOS offerings is equal to or superior to any offering on the market. It has very low jitter and exceptionally fast response compared to most offerings.

Throughput Performance
The overall performance of the ultra tiny embedded Linux compatible POSIX RTOS products is also unprecedented. Due to the very small and highly optimized size, throughput is exceptional.

Quick start Options
By providing off the shelf, standard development hardware based examples for all the various modules and features (90+ demonstration programs today) the POSIx RTOS offerings take just 10 minuted to run right out of the box. Evaluation of the POSIX RTOS and developing with the POSIX RTOS has never been easier.

POSIX Standards Based Testing
Using standard POSIX test suites provides a substantial advantage when using a POSIX RTOS. Tests developed by hundreds of developers over many years can be exploited to test all the various corner cases. Because the standards are used and the tests are independent, the quality of the services is much higher. To these standards based tests, extra tests are added to ensure complete test coverage.

The POSIX RTOS solutions often require customization to meet specific user's needs. Development of custom modules is a service offered in conjunction with the software modules to ensure that the users have all the components and features that they need.

The embedded POSIX operating system offerings require support to continually deliver solutions on the latest hardware with the most recent features. This is provided on an hourly basis to augment the software and customization options.

The POSIX RTOS is easy to use but it still contains many details. Training is provided to make sure that users can get up to speed quickly to complete projects on time and under budget.

The licensing for the POSIX RTOS offerings are not GPL based. The public or open source license is based on RoweBots own open source license. This is done to ensure proper and consistent release control for all users. Full commercial licenses are also available and for time to market and total cost of ownership reasons, commercial OEMs select these licenses the vast majority of the time.

The main reasons that users are delighted with these products are:
•Time to market savings
•Total cost of ownership savings
•Linux and POSIX open standards - the industry's de facto standard
•Ultra tiny memory footprint
•Modular architecture scalable from very tiny to MByte applications
•Hard real time performance with deterministic responses and minimal latency
•I/O Framework which supports integration of any device quickly and easily.
•QuickStart on standard evaluation hardware in 10 minutes.
•Dual licensing - a FREE open source version and a fully supported commercial version
•Extensive I/O and add on module library
•Portability of applications across many SOC MCU, DSP and DSC architectures
•Extensive testing using industry standard test suites
•Support for 8, 16 and 32 bit SOC MCUs, DSPs and DSCs
•Source code access, No GPL
•Application focus rather than infrastructure building
•Risk elimination and cost reduction with immediately working infrastructure
•Access to thousands of trained programmers
•Access to thousands of books and training courses
•Training courses, Excellent documentation, Fast and easy to learn and to use
•Exceptional value proposition with a world pricing model

How does  UNISON  Compare
•Unison OS, is a Linux compatible RTOS, it offers a tiny footprint running actual Linux applications even on smaller ARM Cortex like the M0 parts.
•Unison OS has many parameters and a completely modular architecture to support tailoring of size/performance tradeoffs. This allows the user to tailor how much flash and ram they need to use and see how this affects performance.
•Unison offers completely POSIX compatible calls and offers a platform to easily port Full embedded Linux applications to microcontrollers, FPGAs and small microprocessors while offering exceptional real-time performance.
•Unison OS comes with add-on options like BT, BLE, USB, FATFS (NAND, NOR, USD), WiFi, 6loWPAN, Ethernet, SSH, SFTP, 2G/3G, IoT protocols and more out of the box. QT is in the works for Q4 this year. All of these have high performance, low resource drivers.
•Unison goes through quality control, so all issues inherited from a full Embedded Linux are checked before release.
•Unison does not require MMU, makes it agile, small and less complex. The tradeoff is that, currently Unison does not support multiple processes which means that it does not support fork, exec, and signals. An advantage, is that any program running on Full Linux will port easily if it does not use multiple processes and does not use signals. Please inquire with Emprog if your app uses fork, exec, and heavy on signals.

On the other hand
• When compared to uCLinux, RoweBots ultra tiny embedded Linux compatible solutions requires fewer resources and deliver superior embedded systems features. uCLinux offers non standard process capabilities without protection.
• ucLinux is the same size as Linux as you might know. With limited success in smaller powerful MCUs/MPUs because of its huge size.
• ucLinux also uses proprietary calls to emulate processes on a non MMU architecture limiting portability that will create issues. It emulates MMU which causes complexity, size and extra issues.
• ucLinux inherits all real-time issues of Linux.
• ucLinux has other pitfalls related to the attempt to run an MMU based OS on smaller MCUs/MPUs.
• ucLinux uses Linux drivers - a bloated and resource hungry solution. In many cases it will be impractical. Rewriting these drivers is also very expensive and this might not even help.
• ucLinux has to boot and run from ram just like Linux. This creates several problems including:
   a- Increased startup time - depending of course on what is included and application
   b- Support for a separate bootloader without support for remote field service
   c- Increased power consumption and BOM cost to support the external RAM required to do this on smaller processors
•Last, maybe it is worth to mention that ucLinux and similar tiers, uses Linux GPL, which requires you - as a user - to provide the ability to modify the ucLinux code and rebuild the system. On many MCUs and for an OEM developer (this might not be applicable to you) this is a real problem, because now, you have to provide your proprietary application (or make it available) to make sure that the user can build and link it himself (if needed) with any ucLinux core changes the user might have done. In addition, if you included Linux GPL “drivers” in your application, then your entire application must be given away in source code form.

For more information please Contact Emprog or check Rowebots Tiny Embedded Linux

* Tiny Ultra Embedded Linux is a trade mark of RoweBots Limited Ontario Canada.