Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

# Procyon ARMlib

### Version 20061106

C-Language Function Library for ARM Microcontrollers - Written by Pascal Stang

- ARMlib has good support for AT91 and LPC2000 processors, some support for ADuC7000.
- ARMlib is not complete, but is nonetheless useful in it's present form.
- Be aware that libraries are likely to change as they evolve.

Procyon ARMlib [1] is a library of easy-to-use C functions for a variety of common and uncommon tasks using ARM processors. The goal of ARMlib is to allow programmers to work quickly towards their end goal by reducing the time needed to write basic support functions and code. Most ARMlib header (*.h) files have lengthy descriptions of how to use the supplied library functions. All code (*.c) files are heavily commented with additional information.

Documentation is still being improved and refined on many libraries. When getting familiar with a library, look first in this help document and at any example code that is available in the avrlib/examples directory. Then look inside the [libname].h and [libname]conf.h files, and then the [libname].c file for more details and documentation.

Example code is included with ARMlib and can be found in the armlib/examples directory. The example code is organized as a set of demo applications each of which strives to illustrate how to use a certain ARMlib function library. Effort is made to keep the example code heavily (and thoughtfully) commented.

The latest version of Procyon ARMlib (including this documentation) is available from http://hubbard.engr.scu.edu/embedded/arm/armlib

Procyon ARMlib is written by Pascal Stang and released under GNU Public License (GPL) except where otherwise noted (such as in file headers). Included works by other authors carry their original copyright and license that is GPL or less restrictive. Thanks to Atmel for AT91 header files, Bill Knight for LPC2000 header files, and public sources for aduc7000 header files.

Additional Pages:

- Release Notes
- Installing ARMlib Manually

## ARMlib Sub-Libraries

The following is a list of sub-libraries in ARMlib.

General Use:

- Byte Buffering (circular)
- Printf and other formatted print functions
- VT100 Terminal Output
- FAT16/32 File System (support is read-only for now)
- STX/ETX Packet Protocol

LPC2100/ARM Built-In Peripheral Support

- Timer(s)
- Uart(s)
- I2C Master (Slave coming soon)
- SPI Interface

Device Drivers for External Hardware:

- Software-driven Memory Bus (as on ARMmini-LPC210x board)
- IDE/ATA/CompactFlash Disk Drive Interface
- FTDI FT245 USB Interface Driver
- AD9854 Direct Digital Synthesizer
- AD6620 Digital Decimating Receiver

[1] The name "ARMlib" bears an unfortunate resemblance to "ARM libc" even though the two libraries are different and should not be confused. ARM libc is the Standard C Library for ARM Processors and provides functions we typically think of as being standard C like printf, stdio calls, math functions, etc. Procyon ARMlib provides additional higher-level functions designed to help designers accomplish typical embedded systems tasks.