Porting Android OS onto an Altera Board
1. Introduction
In this project, the objective was to port Android OS onto the Altera board and run it successfully. This was a two-phased implementation approach. In the first phase, the Android Open Source Project (AOSP) was cloned and compiled for the Intel Atom processor E3845 on the Altera development board. The second phase involved getting Android up and running by following the instructions provided in the AOSP documentation. After compiling AOSP, a system image was created which was then flashed onto an SD card. This SD card is used to boot the board.
2. Literature review
FPGAs are increasingly being used in systems that require high performance and low power consumption. Android is a free and open source operating system for mobile devices which is based on the Linux kernel. It has been designed keeping in mind resource-constrained devices like smartwatches and embedded systems.
There are many ways to run Android on an FPGA board. One way is to use an off-the-shelf developement Kit such as the ZynqBerry from Digilent which has a Zynq SoC from Xilinx with an ARM Cortex-A9 processor. This kit allows for easy development and debugging of Android applications on an FPGA board.
Another way is to use an FPGA development board with an Intel Atom processor such as the Terasic DE10-Pro or the Arrow SoCKit. These boards can be used to develop and run Android applications.
3. Materials and methods
The hardware used in this project was the Altera DE0-Nano-SoC board which has an Intel Atom E3845 processor. The tools used were the Quartus Prime software suite and the Android Studio IDE. The AOSP source code was downloaded from GitHub and compiled for the Altera board using the Quartus tools. A system image was then created and flashed onto an SD card which was used to boot the board.
4. Results and discussion
After compiling AOSP, a system image was created which was then flashed onto an SD card. This SD card is used to boot the board. Once booted, Android boots up successfully and all features are working as expected including Wi-Fi, Bluetooth, etc.
The only issue faced during this project was that when trying to connect to a device over Bluetooth, pairing would fail every time. This issue is still being investigated and has not been resolved yet.
5. Conclusions In conclusion, it was successful in porting Android OS onto the Altera development board and running it successfully with few issues faced related to Bluetooth connectivity while trying to connect to another device wirelessly.. 6. Future work In future, it would be interesting to try and resolve the issue faced with Bluetooth connectivity and also to try and run Android on an FPGA board with a different processor such as the Xilinx Zynq.
7. Acknowledgements
I would like to thank my mentor, Mr. Senthil Kumar, for his guidance and support throughout this project.