Haku

Performance Optimization of an Embedded System

QR-koodi

Performance Optimization of an Embedded System

ROHM Co., Ltd and Kionix, Inc. had a need for a sensor evaluation kit that could process sensor samples at a rate of 25.6 kHz. Sufficiently fast sensors and PC evaluation software already existed but there was no suitable hardware-firmware combination to bridge the gap between computer and sensor. The aim of this thesis was to optimize the firmware of one supported hardware platform to achieve the required sample-processing rate. The work was commissioned by ROHM Semiconductor GmbH.

The work started with research into available tools for measuring the execution time of embedded code. Next, significant bottlenecks were discovered by carefully reviewing the firmware and measuring the execution times of various code sections. Once the bottlenecks were found, possible optimizations were researched and attempts were made at applying them.

The applied optimizations allowed the chosen evaluation kit firmware to process 6-byte wide sensor samples at a rate of 25.6 kHz. The largest performance benefits were gained from general optimizations, such as hoisting invariant checks out of loops, and by optimizing the usage of SPI hardware FIFOs when reading from the bus.

Tallennettuna: