LINUX AND RTOS
BSP DEVELOPMENT

 

emutex embedded sw

 

We work with embedded systems OEMs to enable Linux distributions and board support packages to run on their newly developed hardware platforms. We enable Ubuntu, Debian and Yocto-built distros for Intel and ARM based solutions.

EMBEDDED SOFTWARE
DEVELOPMENT

 

emutex embedded cpu

 

We work with semiconductor and embedded systems OEMs to “bring-up” their new microprocessors and boards. We adopt, modify and develop operating system kernels and device drivers for Linux, RTOS and bare-metal solutions.

NETWORK PACKET
PROCESSING ACCELERATION

 

emutex dpdk service

 

We work with IT/telecom OEMs and service providers to maximise network traffic throughput rates and enable VNF in their Linux based enterprise servers. We integrate DPDK and virtualization technologies including Docker containers.


Enabling Embedded Sytems in a Networked World


Testing an EHCI host contoller plug-in card using the QEMU system emulator.

 

Our client, a USA based multinational OEM, contracted Emutex to create a new PCI device in the QEMU system emulator to fully simulate the behaviour of a new PCI express based EHCI (USB 2.0) host controller plug-in card for Microsoft Windows desktop PCs.

The card, which included custom RTL, implemented a EHCI controller that allowed multiple remote USB devices to connect to a local machine. Our client consulted with us on ways to de-risk the development of their complex solution. We therefore created a new PCI device in the QEMU system emulator to fully simulate the behaviour of the proposed device. We used QEMU to launch Windows and validate the system behaviour. The QEMU EHCI device was connected via a network to an actual remote USB device and the concept was proven. After successful completion of the project, the QEMU EHCI device was published to the open source community and has been included in all subsequent versions of QEMU.

Emutex recommends creation of emulated PCI devices as an excellent way to create proof of concept devices in software only to avoid the upfront expense of creating custom devices and to get an early understanding of how interactions with operating systems such as windows need to be catered for in the product design.

 


Go To Top