| |||
| Home > Introduction to the ARM Firmware Suite > About the ARM Firmware Suite | |||
AFS provides:
µHAL (pronounced Micro-HAL) is the ARM Hardware Abstraction Layer that is the basis of AFS. µHAL is a set of low-level functions that simplify the porting of operating systems and applications.
The flash library provides an Application Programming Interface (API) for programming and reading flash memory. The API provides access to individual blocks or words in flash, and access to images and files. The flash management utilities simplify using flash memory. Use the boot switcher, for example, to select and run one of the images in flash.
AFS is an easy to use environment for evaluating ARM-based platforms. The library APIs enable rapid development of applications and device drivers. Reusable code is provided to help develop applications and product architectures on a wide range of ARM and third-party development platforms.
AFS is compatible with the ARM Development Suite (ADS). AFS supports use of the Angel debug monitor, Multi-ICE (if the target board supports it), and third-party debug monitors.
Additional components provided with AFS include a boot monitor, generic applications, and board-specific applications. Use these components to verify that your development board is working correctly. You can use the source code for the applications as a starting point for your own applications.
AFS supplies libraries for specialized hardware or exception handling.
The PCI library supports the PCI bus on the Integrator board.
A public-domain library for compression, zlib, is included. Refer to the GNU web site for more information on public-domain libraries.
The Chaining library provides support for exception chaining required, for example, by RealMonitor.
The VFP library provides support for soft vector floating point routines.
A version of Angel that has been implemented using µHAL is included with AFS.
µC/OS-II is a multitasking kernel that is comparable in performance to many commercially available kernels. AFS includes a port of µC/OS for the ARM architecture using the µHAL API.