Our Work

We work on very interesting projects for a wide variety of customers. We’re very proud of our work and with our customers’ support we love to share this to illustrate the type of work we do. Following are a selection of our recent projects.


ARM

Embedded Bits was engaged by ARM to contribute to the development of platform software for ARM’s next generation 64bit reference platform featuring PCI express and big.LITTLE technologies. Our PCIe expertise was used to design, develop and test 32/64 bit Linux, UEFI and bare metal drivers for a third party PCI host bridge.

Development was performed against a variety of FPGA development platforms including the Versatile Express. During the project as a domain expert we worked closely with internal teams across several technical domains to overcome technical challenges. Our experience with specialist PCIe hardware analysers proved to be advantageous in quickly understanding issues.

The Linux drivers included support for all types of PCI interrupts (legacy, MSI, MSI-X) and PCIe port services and was developed against the latest version of the Linux kernel. In addition to developing a PCI host bridge driver, it was also necessary to provide an initial implementation of architecture support to the Linux kernel for PCI on 64 bit ARM.

Throughout this project, we worked closely with the open source community to address technical challenges relating to the use of device tree and port services with PCI on ARM platforms. As a result a number of upstream submissions were made which are now present in the mainline Linux kernel.


Curtiss-Wright

Embedded Bits was engaged by Curtiss-Wright Avionics & Electronics to provide the software for the applications processor running inside the MAT/101 processor module. This module is used with the Acra KAM-500 data acquisition unit system.

Software was developed for the ARM926EJ-S within the OMAP-L138 which was able to read data from the EMIFA interface, provide it to an application running on the C674x DSP for processing and write the processed data back to EMIFA. Our optimisation abilities combined with our deep knowledge of the Linux kernel and TI components (EMIFA, EDMA3, CodecEngine, c6accel) allowed us to achieve this with minimal and consistent latency, maximum and consistent throughput and with a boot time of less than 5 seconds.

Our services were also used to modify Linux and its boot loaders to support the final MAT/101 custom hardware. This involved providing support for the hardware differences between the custom hardware and the reference TI platform. We performed this work using the reference board ahead of gaining access to the final hardware and validated our work during a short and successful on-site integration phase.


OMG Life

Embedded Bits was engaged by OMG Life to provide the Board Support Package (BSP) for an embedded Linux mobile device.

In order to allow application development to begin as soon as possible, our BSP development started on a generic development environment and moved to the custom hardware as soon as it became available. A short on-site integration phase assisted this transition and allowed our engineers to work closely with OMG’s engineers to efficiently resolve hardware/software integration issues. During this project our expertise was used to integrate support for the application processor, PMIC, WiFi module, SDRAM part and storage peripherals into existing Ubuntu based distribution.

Upon completion of the initial platform support our services were retained for ongoing development. This included the development of new device drivers for a range of peripherals including an IMU and LED controller, support for the commissioning of new devices and further enhancements to the platform such as battery management support.

Please don’t hesitate to contact us to find out how we can help you.