UWE Bristol Engineering showcase 2015
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Rhys David<br />
Beng Electronic <strong>Engineering</strong><br />
Project Supervisor: Nigel Gunton<br />
An Investigation Into the use of Open Source Alternatives for the Altera<br />
NEEK (Nios II Embedded Evaluation Kit)<br />
The Altera NEEK is an FPGA-based, touch screen development board which is<br />
full of great hardware specs and peripherals. However, the intended<br />
operation of the device uses an closed-standard app-based GUI, whereby the<br />
designer is able to produce a range of different specific-use apps with<br />
Altera’s Quartus II software, to be stored in a connected SD card, which the<br />
GUI displays when the device is powered on. The App Selector GUI is not<br />
editable or configurable to the user, and leaves the functions and usefulness<br />
of the device limited.<br />
The main goal of this investigation was to find and implement an open<br />
source, alternative operating system for the NEEK, in the process removing<br />
the closed standards which hold it back.<br />
The two big focuses of the investigation were the advantages of open source<br />
software, and also the flexibility and power of FPGAs.<br />
The big difference separating the NEEK from popularised hobby project<br />
micro-computers such as the raspberry pi, is that the NEEK is built around a<br />
Cyclone III FPGA. This makes the device far more flexible in its uses, as the<br />
actual hardware of the device can be manipulated for different tasks.<br />
Of the many open source options out there, uCLinux was chosen to be<br />
installed onto the device. uCLinux is a commonly used, stripped-down<br />
version of the Linux 2.0 kernel, which was designed originally for micro<br />
controllers, but its small footprint and wide range of compatible porting<br />
options makes it a popular choice in many projects.<br />
The operating system was implemented by using an openly available<br />
hardware build as the default, and using U-Boot (a board-specific<br />
configurable bootloader for operating systems) for configuring the flash<br />
environment, and for downloading binaries via TFTP (Trivial File Transfer<br />
Protocol) to also be stored in flash.<br />
At boot, a converted .rbf (raw binary file) of the .sof hardware build is loaded<br />
from flash to configure the FPGA. Then, uCLinux boots from flash. uCLinux<br />
has so far been configured to run a few commands on its own at boot,<br />
including running a touch screen configuration utility, and a basic graphical<br />
user interface, with a terminal window.<br />
In the future, it is hoped that this project can be taken further, to configure<br />
uCLinux to be able to control the hardware on the FPGA for any tasks it<br />
requires, e.g. extra processing power if a task is especially challenging, or<br />
logic blocks if required.<br />
Project Summary<br />
An investigation has been made into potential open<br />
source alternatives for Altera’s touch screen, FPGAbased<br />
development board: the Nios II Embedded<br />
Evaluation Kit, and the closed standards implemented<br />
as default on the device.<br />
Project Objectives<br />
• To find and integrate, or implement from scratch, a<br />
hardware design for an open source operating<br />
system.<br />
• To install an open source operating system onto<br />
the device.<br />
• To explore the potential of an FPGA device being<br />
controlled by Linux<br />
Project Conclusion<br />
An open source alternative for the Altera NEEK has<br />
been found and implemented, in the form of uCLinux,<br />
a scaled down version of Linux based on the 2.0<br />
kernel. From the implementation, the following<br />
conclusions may be drawn.<br />
• The NEEK proves as a stable base for Linux to work<br />
with, and the two seem to work very well together.<br />
• Although a version of U-Boot was not found that<br />
included the necessary configuration files for the<br />
NEEK, adding board configurations is not an overly<br />
complicated procedure, and once the files were<br />
added and errors solved, u-boot seemed to work<br />
well for allowing the board to load the hardware,<br />
and then uCLinux, with plenty of options for<br />
configuring further, if need be.<br />
• By simply editing the way in which uCLinux boots,<br />
it was shown how flexible Linux is as a platform,<br />
and how easily configurable its file system is,<br />
proving it was a good candidate for the alternative<br />
to Altera’s standards.