Thinux Embedded Linux API

Overview

The Product

Thinux API is a reliable and field proven application development framework from Thinvent. Today, embedded applications are getting increasingly feature rich, and the end users of these devices are becoming more and more demanding. Thinux Embedded Linux and API provide a credible platform for application developers to rapidly develop and deploy their systems and solutions.

The Problem

Many developers are currently running their embedded applications on eight or sixteen bit microprocessor platforms. However, today’s embedded appliance market is so competitive that every day a new product or a new features is being added to this ever widening spectrum. Supporting these new features requires a stable software platform and higher processing power from the hardware. While microcontroller platforms are getting increasingly tedious to develop with, 32 bit platforms are getting smaller, cheaper and more powerful.

However, migrating to 32 bit microprocessors is not an easy task. With the large variety of processors, operating systems and SDKs to choose from, application developers have difficultly choosing the right platform. The wrong choice can lead to a lot of wasted work, if after many man months of porting effort, it is found that the platform does not meet certain requirements of the product.

Let us take the example of a ticketing solution. The customer requires an operator driven tabletop POS machine. An x86 based system is a good choice due to the high processing power available at commodity prices. However, when the project becomes a success, the customer comes back with a request to make the same software available to mobile ticket vendors on a handheld device. It would be ideal to run the same software unmodified on an ARM based handheld device. But is that at all possible. Furthermore, if the same ticketing now has to be customer facing, in the form of a kiosk, can your platform provide easy integration of touchscreen, audio and payment gateway technologies?

The Solution

What is required is a write-once deploy-many platform solution. An OS, API and SDK that provides you with a homogeneous interface for application development and device access. Imagine migrating your entire code for camera image processing and thermal printing, from an x86 desktop to an ARM handheld, without a single line of code changed!
Thinux Embedded Linux and API provides exactly such a platform. While Linux is an increasingly popular OS for embedded application development due to its open nature and inherent stability, it comes with its own set of problems. The most prominent amongst those is a complete lack of standards. Migrating from one flavour of Linux to another can mean rewriting large portions of code, especially those relating to device access. The other problem is a lack of support. While Linux is free, Linux based development environments can be a costly affair. Moreover, customers often complain of a lack of local support in India, and co-development or API customisations are simply unheard of.

Thinux, on the other hand, comes with quality, support level and price, that would put a smile on your face.

Why Thinux?

Thinux makes the legendary stability, feature-richness and cost advantages of Linux available to every embedded application developer. Thinux comes to you as a total package, which comprises of:

  • 1. Embedded Linux Operating System, ready to run on platforms as diverse as x86, ARM and PPC.
  • 2. A development system that is installable on any PC, and allows for complete development and testing. Optionally, Thinvent can provide you with development computers that come pre-installed with all the required software.
  • 3. Documentation that exposes your developers to all the functions and features of our API.
  • 4. Warm-up training. Developers new to Linux or 32-bit development find it difficult to ramp-up, even though schedule pressure requires them to begin delivering immediately. Our initial training hand-holds them as they adapt to the new platform. Apart from using our own development examples, we help the developers with their own products and modules, thus helping them be productive from day one.
  • 5. Email and phone based development support.
  • 6. Device driver development. Sometimes customers are using in-house devices that have no standard Linux drivers available. We develop drivers for such devices on Thinux, and provide application developers with a simple API for device manipulation.

Illustration 1: Thinux OS and API - Stack Diagram

Feature Rich

Following are some of the main features supported.

  • Support for Java based applications
  • Provides the complete J2EE web stack, including industry-standard database servers.
  • Audio, video and multimedia stacks. Simple functions to handle media files and to control AV subsystems.
  • Remote and local updating of OS, application software, configuration files and multimedia content.
  • In-built stacks and device drivers for GPRS, GPS, WiFi, Bluetooth and other networking protocols.
  • Complete support for Indian Languages.
  • Virtual Network Devices – an abstraction layer that provides server side applications access to client side devices such as biometrics and smart cards.
  • Rapid migration from 8 bit microcontroller platforms to 32 bit platforms.
  • Support for IO interfaces such as USB, RS232/485, and LPT.
  • Emulation layer for hardware commonly found in micro-controller platforms, such as RTC, UART and EEPROM.
  • Simple wrapper functions to access complex features such as threads, resource locking and random disk access.
  • A large collection of application notes, API and OS documentation.
  • Tailored training for each customer.

  • Ability to easily tap into the potential of FOSS and to contribute back to the community.

Case Study

Rapid Migration of Legacy μC Application

This case study describes how a relatively complex project running on a low profile micro-controller based platform was ported with ease and reliability to a 32 bit x86 platform using the Thinux API.

Though the customer’s μC platform was common, each deployment scenario was different. Thinvent provided a customised solution to help the customer quickly adopt our solution. The customer’s existing micro-controller programs were quite complex and had evolved over time. Making large scale changes to them called for heavy development and testing investments. Therefore, we created a new layer in software to emulate various devices like RTC, UART and EEPROM, that the customer was using on microcontrollers. Wrappers for certain system functions were also provided. Both the wrappers and the device layers exposed the same functions to the developers as their existing microcontroller platform, resulting in their existing code running unmodified. As a result, microcontroller code was ported to Thinux in a matter of days by a single developer previously unfamiliar with Linux!

Products

Following are some of the products that have been created on our platform by our customers.

LED Display Solution

This product was running on an 8 bit platform using legacy code. New requirements such as support for audio announcements were not easily implementable on the existing platform. We migrated this product to the 32 bit AMD Geode platform, with support for sound, over-the-air media update etc.

Ticketing Terminals and Kiosk

Indian Railways uses dumb terminals for ticketing. The customised terminal emulation used by the Railways includes support for client side caching, ISCII printing, and terminal font size change. We migrated the 8-bit microcontroller based terminal emulation to 32-bit VIA x86 platform. The Railways is currently rolling out these new terminals at a rate of 1000 units per month. A large number of obscure terminal features were ported to the Linux OS. A number of protocols and emulations had to be reverse engineered due to a lack of documentation and standardisation.

Automated Alert for Unmanned Level Crossing

Unmanned level crossings are a common sight along India’s railway tracks. We helped develop a low cost and highly reliable solution for alerting of citizens when a train is approaching an unmanned crossing. This product utilises the latest technologies such as GPS and CDMA-RF. While the trains are fitted with an x86 based embedded system, the level crossings are provided with a MIPS based embedded device.

Conclusion

The products and technologies described above are a small example of the possibilities that Thinux API opens up for you. We look forward to hearing from you, and providing you with a customised and cost-effective solution for your embedded development platform needs.