Android Sensor Integration Part 3: HAL

In the previous parts of this series we had a look at how a kernel driver works. This time we continue to better documented areas. While Google gave the design of the kernel module into the hands of the hardware manufacturers they define a clear interface for the Hardware Abstraction Layer (HAL). This is well documented with explanations of the most important functions, so in this article I will only delve into the lesser known parts.

Weiterlesen

Android Sensor Integration Part 1: Sensor Stack and Kernel Module

This first part of a four part series will take you on a walk through the integration of a proximity sensor into Android. We use the ultrasonic range sensor SRF02 which is connected to the I2C bus of a Pandaboard ES. Google released some high-level documentation of the operating mode of the sensor stack, while everything which is done by the hardware manufacturers is largely undocumented. This includes the Hardware Abstraction Layer (HAL) and the kernel driver that we want to look at. In this first part we start investigating what occurs in kernel space. Weiterlesen

Enhancing a Device Tree for ARM CPUs

Traditionally, the specific hardware configurations are described in so called board-description files and permanently embedded into the kernel during compilation, making it necessary to re-compile the kernel to change pin assignment. The Device Tree is supposed to revolutionize that by reading the hardware configuration from a data structure stored in RAM at startup. In this article we describe how to enhance the Device Tree to support additional hardware. Weiterlesen