Home About Us Services Free SW Contact us


Library for ARM7TDMI based microcontrollers and gcc

It is a library, more precisely, a set of libraries. It is aimed to embedded systems using a microcontroller based on the ARM7TDMI core, for which the software is being developed in the C language and the development environment is based on the GNU gcc compiler and associated binary utilities. While the library was developed to be used on LPC2000 series chips from NXP, it can be used on any microcontroller that has an ARM7TDMI core.

A library contains many of the functions from the standard C library that make sense in a stand-alone microcontroller environment. The most often used float point functions, as well as a couple of fixpoint functions are also provided. You can find a (soft) real-time kernel as well. A library of the basic cryptographic functions is also part of the collection. Furthermore, a couple of possibly useful functions are collected under the 'miscellaneous' banner and placed in a library, In addition, a few LPC2xxx (a family of ARM7TDMI based microcontrollers from NXP) related tools that run from the command line of your host system are thrown in for good measure.

Please note, that this library is not usable "as is" if:
- You don't have an ARM7TDMI core or at least one that has the same instruction set (ARMv4t);
- You do not develop in C and your favourite language can't call C functions;
- You do not use the GNU toolchain and/or do not have the basic unix utilities installed in some form on your system.

The libraries can be found in the files armlib.YYYY-MM-DD.tgz below, where YYYY, MM and DD are the date when the file was created. This scheme is used instead of version numbers. Each file contains the source code and the HTML documentation.

This library is free software, it has been released under the GNU General Public License with additional clauses that allow you to statically link the libraries into closed source products. Consequently it comes with no warranty at all. For details see the LICENSE, included in the source distribution.

This library is intended to be used with gcc versions 4.0.x to 4.4.x. It was not tested with 3.x.x or 4.5.x versions of the compiler.


Status

The library should be considered beta. Although it is used in systems that have been successfully deployed on the field, that does not mean that all functions are bug free or that they have all been thoroughly tested. If you find a bug, please report it on the mailing list or send email to armlib-bug@bendor.com.au. We will try to fix them as soon as possible. In addition, the library is a work in progress, so apart from fixing bugs we will probably add more functions and modules.

Documentation

The package contains detailed HTML documentation. After downloading and unpacking the library, please read the README file in the top level directory. That tells you the location of the detailed documentation. The documentation also contains information on setting up a cross-gcc based development, in case you are not familiar with it.

Installation

Detailed instructions can be found in the documentation.

Download

The latest version is armlib.2010-08-16.tgz

Previous versions

You can find the changelog here.
armlib.2010-08-13.tgz
armlib.2010-08-02.tgz
armlib.2010-07-13.tgz

Support

There is a low-volume mailing list. To subscribe send mail to listserv@bendor.com.au with the subject line "subscribe armlib" (without the quotas).

Known Bugs and Issues

In the distribution you will find a file called BUGS which contains all known bugs, which versions it affects and its fixing status.