Android and Linux Kernel porting to OMAP-3530

Project Overview

At the order of an American startup company working with Android-based mobile devices, we have ported Android and Linux kernel to the OMAP-3530 hardware platform by Texas Instruments. While working on the project, Promwad experts adapted Linux kernel and launched Android correctly on the board.

The biggest challenge was that the original version, Linux kernel 2.6.29, which was supplied with a development board, did not support the functionality required for Android installation. We analyzed the compatibility of different Linux kernel versions with the OMAP Stalker board. This led to the selection of Linux 2.6.32 version from the linux-omap project. In addition to the Linux kernel configuration, we also corrected approximately ten problems in the low-level Android source code to effectively perform the engineering task.

How It's Made

Customer

US based start-up with focus on Android OS and other mobile platforms.

Objective

The goal of the project was to show off Android operating system on demo board used for presentation purposes. Adapt Linux kernel to target hardware and run Android on it.

Solution

1. Hardware platform

The customer provided OMAP Stalker board to Promwad’s engineering team. This board features Texas Instruments OMAP3530 system-on-chip and includes:

  • CPU — 600 MHz ARM Cortex-A8 with NEON extension;
  • DSP co-processor 430 MHz TMS320C64x;
  • 2D/3D accelerator: POWERVR SG;
  • 128 MB Low Voltage DDR SDRAM;
  • 128 MB high-speed low-voltage SLC NandFlash;
  • interfaces: 2x UART, USB Host 2.0/OTG, 10/100M Ethernet, LCD interface, 30-pin expansion header, header for 2x6x6 matrix keyboard, DVI output, SVIDEO, AV-output, Audio in/out, SD/SDIO/SDHC card;
  • 7'' 24 bit true color TFT with touchscreen;
  • Keypad 4x4.

2. Software approach

Original Linux 2.6.29 shipped with evaluation board did not support running Android due to absence of Android specific patches.

Having a brief study of possible kernel versions which are compatible with OMAP Stalker board, we decided to use Linux 2.6.32 from linux-omap project as a base kernel version. Android specific changes were extracted as a separate patch file and were applied to Linux 2.6.32. Moreover about a dozen of bugs affecting system start-up and sleep mode transitions were fixed in low-level Android source code during Android bring-up process.

Additionally, following a customer’s request, Linux kernel was configured to enable USB OTG Host mode for support of removable USB devices like mouse or USB stick. After all Linux porting efforts, the customer obtained Android demonstration embedded platform with required functionality and within strict project schedule.

Advantages

  • Multimedia-rich platform functionality
  • Kick-start platform for Android application development
Technologies Linux kernel, Android, OMAP-3530
Programming Languages C, Shell
Project management tools SVN
Efforts 1 man/month
Project duration 1 month