The Nios® II embedded processor application selector is a useful utility that allows you to quickly choose, load, and run different applications on different Nios II development boards without needing to connect the board to a computer. Applications are stored using a File Allocation Table (FAT) file system on a secure digital (SD) card attached to the board and retrieved at load-time.
Applications can also be loaded via an integrated web server interface. The application selector not only loads new software to the Nios II CPU, but also new hardware to the FPGA. An application consists of both a hardware image and a software image.
In addition to the pre-packaged applications that come with the kits, you can easily convert your own applications to be loadable by the application selector.
Where to get the application selector example
The Nios II application selector utility is included with these Altera® development kits:
- Embedded Evaluation Kit, Cyclone® III Edition
- Embedded Systems Development Kit, Cyclone® III Edition
The application selector can also be downloaded from the Altera website:
- Embedded Evaluation Kit, Cyclone III Edition Application Selector Example (.zip) file.
- Embedded Systems Development Kit, Cyclone III Edition Application Selector Example (.zip) file.
The use of this design is governed by, and subject to, the terms and conditions of the Altera Hardware Reference Design License Agreement.
Running the application selector
Starting the utility—To start the application selector, connect power to the development board, and switch on the power. If the board is already powered, reset the board by pressing the FACTORY_CONFIG button.
The application selector boots from flash memory and a short splash screen appears while the application selector searches for applications on the SD card. After that, the main menu appears and a list of loadable applications is displayed.
When the main menu appears, you see a scrollable list of numbered application names. These are the applications that were found on the SD card and are now available to load. You can highlight any of the applications by touching them. If there are more than five applications on the SD card, you can scroll through the list by touching the scroll-up and scroll-down buttons on the right-hand side of the screen.
Viewing information about an application—To get more information about a particular application shown in the selector, highlight the application by touching it on the touch screen, then touch the Show Info button. A scrollable text window appears showing the additional information available (if any) for the application you highlighted. To return to the main menu, touch the OK button.
Loading and running an application—When you’ve decided which application you want to load, highlight the name of the application by touching it, then touch the Load button on the touch screen. The application begins loading and a small window is displayed showing the progress of the load. The loading process may take between 2 and 30 seconds, depending on the size of the application and whether it was previously cached in on-board flash memory.
Web server—To view the application selector's web interface, attach a network-connected Ethernet cable to the Ethernet jack on the development board. The application selector will display a button labeled "Connecting" in the lower right corner of the LCD screen. Once the application selector has connected to the network and acquired an Internet protocol (IP) address, it will display the IP address on the button in the lower right of the LCD. Type this IP address into your web browser to access the web interface of the application selector.
For an example of a stand-alone web server that does not include the application selector, see the Web Server Design Example.
Application selector details
SD card directory structure—The application selector uses the SD card purely for the purpose of storing applications. The SD card must be formatted with the FAT16 file system, and can be any capacity up to 2 Gbytes. Long file names are supported. All loadable applications on the SD Card must be located in a top-level directory named either Altera_EEK_Applications or altera_3C120_apps, depending on the board you are using.
Under the directory, each application is located in its own subdirectory. The name of that subdirectory is important because the selector utility uses that name as the title of the application when displaying it in the main menu. Name the subdirectory as the title you would like shown for your application in the application selector menu. The subdirectory names can be anything, as long as they adhere to the File Allocation Table16 file system long file-name rules. Spaces are permitted.
Application files—Each loadable application consists of two flash files and an optional text file, all stored on an SD card.
One flash file represents the software portion of the example and must be derived from an .elf file. This flash file can be named anything you like, the only restriction being that the name must end with _sw.flash.
The other flash file represents the hardware portion of the example and must be derived from a .sof file. This file can be named anything you like, the only restriction being that the name must end with _hw.flash.
The optional text file contains additional information about the application. In the application selector utility, touching the Show Info button while your application is highlighted brings up a window showing the text contained in this file. The text can be multiple paragraphs, but should not be excessive in length since the application selector was not designed to scroll through large amounts of text. The name of this text file must be info.txt, or the application selector will not recognize it.
Design examples disclaimer
These design examples may only be used within Altera devices and remain the property of Altera Corporation. They are being provided on an “as-is” basis and as an accommodation; therefore, all warranties, representations, or guarantees of any kind (whether express, implied, or statutory) including, without limitation, warranties of merchantability, non-infringement, or fitness for a particular purpose, are specifically disclaimed. Altera expressly does not recommend, suggest, or require that these examples be used in combination with any other product not provided by Altera.