Cyclone firmware Introduction

cyclone harryCyclone firmware offered a flexible, modular environment for testing new systems an providing a production-quality boot loader. Cyclone has been superceded by ABLE which provides numerous enhancements while retaining all the features that made Cyclone such a good product.

Software Description

Cyclone provides configurable support for

The firmware can be placed in FLASH as a stand alone image, or can alternatively be loaded and executed by the ARM ANGEL debug/monitor. This allows standard ARM tools to be used while bringing up a new board, if desired.

At system startup time, the cyclone performs all the required operations in setting up banks of SDRAM memory and scanning the PCI bus. The PCI setup provides a flexible interface for drivers. It can optionally associate vendor/product strings with different cards. The result of the probe is printed out to the optional controlling terminal (be it a screen/keyboard or a serial port), and the structures returned for each card will then be passed around interested modules in order for them to attach device drivers, where appropriate.

Terminal handling and user I/O Controlling terminals may be attached to serial ports, VGA-compatible PCI display cards and associated keyboards, or all of these! Different levels of input and output may be selected for different terminal attachments. For example, in some semi-embedded systems it may be preferable that on the VGA console, only trace output and boot status is reflected. In such a situation, though, it may still be desirable to leave a full interactive command line environment, password protected, attached to a debug port or serial port.

The command line environment offers a simple CLI, providing a basic interactive shell. The shell allows settings to be stored and retrieved (or specified as default options) from CMOS RAM, setting of passwords, configuration of default boot parameters, device probing, filesystem examination, some diagnostics, etc. Given access to the source code, the command line can be modified for a given customer's requirements with ease.

Network Booting using BOOTP/DHCP (or Sun RARP/BOOTPARAMD) requests on the network in order to ascertain a given card's network properties. It can then proceed to load an operating system image either using TFTP (Trivial File Transfer Protocol) or an NFS (Network Filing System) mount.

Cyclone can load boot images from locally attached IDE controllers, including those provided by PC-style Combo chips and plug-in PCI cards. Supported filesystem types include:

In addition to being able to boot from a locally attached disc (including flash discs) or network, cyclone is also able to copy selectable images out of the boot flash and then execute them.

Some PCI devices, such as certain makes of video card, rely on the fact that they are running on an Intel system that can execute the BIOS code held in their ROMs. On Intel architectures this is not a problem,whereas on other systems the lack of BIOS setup can make some makes of PCI card function incorrectly, or even render them useless. Our solution to this problem is provided by using a x86 BIOS emulator. It is able to run the code held in the PCI cards' ROMs, in order to set up any undocumented registers present. This has been tested with numerous cards and proves to be a very useful solution allowing the use of numerous video cards. If you are interested in BIOS emulation facilities for a specific application, please enquire for more information.

Other pages