In many cases, using middleware between underlying OS and upper application layer offers mulitiple benefits and optimizes software development costs in the long run. Embien offers its rich expertise in this area with its Embedded middleware and Custom API Development services.
Ultra low foot print USB Host and Device Stacks for bare-metal, RTOS and embedded OS systems
Proficient in HTTP, TCP/IP, ICMP, TFTP, FTP, SSH, RTCP, RTP, SNMP, Modbus, Ethernet/IP etc
Android HAL development for custom devices with seamless App integration
Rich portability with Java Powered apps on embedded Linux Systems
Run Microsoft .NET applications on non-WinCE embedded systems with binary compatibility
Develop custom libraries to manage data transfer between multiple functional units and apps
Running an Operating System, supporting device drivers and enabling their functionality is just a small part of the story of embedded software development. Developing the end application is what matters and determines if the product succeeds or not. Also in many cases, there is a need of an intermediate layer between the low level OS and top level application called the middleware, to realize the necessary functionality. Apart from providing abstraction, the middleware technologies enable portability for switching between hardware or firmware versions there by optimizing software development costs in the long run. Based on the underlying technology and interface, these are called by different names like stacks, libraries, file systems, run-times etc. And again depending on the OS, they may sit either in user mode or in kernel mode execution contexts.
Embien Technologies has worked in many embedded middleware technologies on different hardware and software systems ensuring seamless exchange of data between lower and upper layers. Embien offers services for enabling various middleware including USB Host and Device stacks, file systems, TCP/IP network stacks etc to custom hardware. Our work ensures that the middleware is not only up and running, but also that it is manageable without any expertise by the customer.
Some of the major middleware related developments, we have been providing includes
Our expertise on USB includes deep understanding of the USB Architecture as well as experiences in implementation of USB Host stacks and USB Device Stacks for supporting many classes on top of a variety of micro controllers and microprocessors. Our USB Stack development team has been working on the technology over systems with RTOS and embedded OS like Linux, WinCE and Android as well as without any. Our team has done multiple USB device driver development on Mac OS X also. We have developed ultra-low foot print USB stacks on Bare metal systems powered by smallest MCUs that offers significant performance benefits.
Some of the device classes we have competence includes
Embien has also brought up Bluetooth and WiFi connectivity over top of USB interface. We have created firmware designs that exports multiple Serial ports, Connectivity interface, Printers, etc available on target system over a single USB device interface. On Android, HAL libraries have been developed for numerous USB peripherals.
Java is being used on some embedded systems to support portability of available applications primarily due to the easy manageability of the program. Our embedded software team has ported JVM for embedded systems running Linux. Apart from supporting the necessary classes for the target applications, we have also created necessary JNI (Java Native Interface) classes to support the custom device specific functionalities. We are well experience in JVMs like Kaffe, RTJ, JamVM, IcedTea etc as well as GNU class path.
Like Java Virtual Machine, another popular VM is the Common Language Runtime (CLR) from Microsoft. Due to high ease of development, there are large set of applications developed on .NET environment and deployed in embedded systems running Microsoft Windows CE OS. Some time the customers, wants to move the system to another OS like Linux or Android for various reasons. As a key player in providing user friendly solutions, Embien has enabled these programs on Linux with .NET CLR Run Time technologies like Mono run time and Open Compact Framework. By ensuring binary compatibility, complexity is reduced and significant time saving achieved as the application need not be re-written and continued to be maintained by the .NET programmer enhancing productivity.
With our deep understanding of networking technologies along with the OSI 7 layer model, we have hands on working experience in developing various real time networking applications. Also our team has ported various network protocol Stacks to different embedded systems right from an 8 bit micro controller without any OS to a powerful Linux server. Some of the protocols we enabled in embedded systems include HTTP, TCP/IP, UDP, ICMP, TFTP, FTP, SSH, RTCP, RTP, SNMP, etc. Other industrial application specific protocols supported are Ethernet/IP, Modbus/TCP, ProfiNet, CANOpen, DeviceNet, Profibus etc.
To support higher layer application code portability across multiple platforms and revisions, it is preferable to have a middleware layer with predefined API's. Such a design will abstract the peril of knowing the underlying hardware for the application team and can rather concentrate on enhancing user experience. Such a Custom API middleware layer must be modular and scalable for future expansion and compatibility. Embien offers custom API creation services with its accumulated knowledge in working across various technologies and applications to design such an optimal middleware for the customer requirements.
Embien has also worked on other Middleware technologies like Apple Carplay, Miracast and Android abstraction. Connect with us to avail our expert services on demand for embedded middleware and custom API developments. Experience our professional and dedicated service of highest caliber to get the job done!