01.06.2017 Views

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!