In this project three problems areas are studied related to embedded system and device driver programming: a GPS driver, the CAN Bus and study of graphics libraries suitable for embedded systems.
The project has two parts: an academic study and an implementation phase based on the academic study. The Freescale i.MX31ADS development board together with ENEA’s operating system OSE is used as a basis for the study and it is shown that OpenGL ES is best suited for the platform.
Further the system can be complemented by the use of Mobile 3D Graphics, a Java based solution. A driver for the graphics port is implemented for Linux and OpenGL ES works using a graphics accelerator on the hardware. In the field of CAN communication an analysis of an existing driver is made. The driver has two shortcomings that lead to an incorrect priority order when multiple messages are sent simultaneously on the CAN bus.
The main problem is that the bit, which tells if the data field of the CAN message fits in a single message, has the greatest impact on a CAN message priority. Another problem is that the signal numbers have not been assigned in a consistent manner. A design proposal and an implementation are made. The work with GPS is limited to theory and design in terms of creating the basis for the future creation of the driver. A survey of the interfaces that exist between the GPS module and other hardware is done and additional requirements from the rest of the system are highlighted.
Source: Uppsala University
Author: Kjellgren, Andreas