/****************************************************************************/
/*	Copyright (c) 2009, Bendor Research Pty. Ltd. All rights reserved.		*/
/*	This software is released under the GNU General Public License, version	*/
/*	3, with the exemptions that 1) the header files installed by this 	 	*/
/*	package can be included in closed-source code and 2) the libraries		*/
/*	built by this package can be statically linked into a closed-source 	*/
/*	binary. See the file LICENSE for the details.							*/
/*	This software is provided "AS IS", without any warranty or guarantee.	*/
/*	By using this software you acknowledge that neither Bendor Research nor	*/
/*	any of its personnel or affiliates can be held liable for any damages,	*/
/*	including, but not limited to, loss of business, loss of money, loss of */
/*	life, loss or reputation, arising out of this software being faulty or	*/
/*	not performing as advertised, even if Bendor Research was aware of such	*/
/*	faults in the software. You use this software at your own risk, any and */
/*	all liabilities that arise out of your using this software are strictly	*/
/*	yours.																	*/
/****************************************************************************/

/** @mainpage Library for microcontrollers with ARM7TDMI core

@section What What is it?

	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 <tt>gcc</tt> compiler
	and associated binary utilities.<br><br>
	A library contains many (but not all) functions of the standard C
	library. 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 related tools (running from the command
	line of your host system) are thrown in for good measure. On top
	of that, additional LPC23xx specific headers and some information
	on those chips are also provided, the info about these extras are
	on the @ref lpc23 page.
	<br><br>
	Please note, that this library is <b><i>not</i></b> usable "as is" if:
	- You don't have an ARM7TDMI core or at least one that has the same
	instruction set (ARM4t);
	- 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.

@section Rationale	Rationale

	My company (Bendor Research Pty. Ltd.) recently had to design several
	systems based on various NXP LPC2xxx microcontrollers, which sport an
	ARM7TDMI-S core. To make my life somewhat easier, I (Zoltán Kócsi)
	decided to put a library together so that we can reuse code and save
	development time.
	<br><br>
	Naturally, if you write a library that can be useful for others, you
	release it as open source software for the public good, and that's what
	we did.<br><br>
	The library's primary focus is the ARM7TDMI. The core is based on the
	ARM4t architecture. For details on that architecture, see the "ARM
	Architecture Reference Manual" (a.k.a. ARM-ARM), which you can either
	buy as a physical book or you can download it from the ARM website for
	free. The ARM7TDMI is a fairly popular core for the low-end 32-bit market.
	This core is used in the NXP LPC2xxx, the Texas Instruments TMS470, the
	Analog Devices ADuC7xxx, the Atmel AT91SAM7xxx, the Freescale MAC7100 and
	the ST-Microelectrionics STR710 chips and series.
	<br><br>
	As mentioned earlier, the library sources and the whole build process
	assumes that you use the GNU tools. The rationale of using the GNU
	toolchain for embedded development work as well as a few gcc related
	issues are discussed on the \ref gcc "The pros and cons of using gcc"
	page.

@section License License

	The library is released under the Free Software Foundation's GNU General
	Public License version 3, with additional clauses that allow you to use
	the library in closed source projects. We made that exception because
	for many projects built around these micros releasing the source simply
	doesn't make much sense. Nothing stops you releasing your sources,
	however. For further details, please read the \ref license.

@section Warranty Warranty

	If you know the GPL, you already know this: <i>There is none.</i>
	While the library is released in the hope that it will be useful,
	it is relased <b>AS IS</b>, with no explicite or implied warranty
	or guarantee of any kind. You use it at your own risk. Neither
	Bendor Research nor me can be held liable for any damage arising
	out of your using this library or its documentation, even if we
	were aware of deficiencies in it that could cause such damages.
	The license states that if you do not accept these terms, then
	you can not use this software.

@section Installation Installation

	Please read \ref install "Installation". It will also tell you
	how to create a gcc crosscompiler, if you don't know it already.

@section Using Using the library

	Simple. Link against it. However, if you are not familiar with
	gcc as your crossdevelopment tool, you can find some useful
	information on the page \ref usingit.

@section Porting Porting and hacking the library

	Please read \ref porta "Porting".

@section Support Support
	If you find a bug, please report it by sending an email to
	<tt>armlib-bug@bendor.com.au</tt>. We'll try to fix it as fast as
	possible and put the fixed version on our website. We also run a
	low volume mailing list related to the library. If you want to
	subscribe, send an email to <tt>listserv@bendor.com.au</tt> with
	the subject of <tt>"subscribe armlib"</tt> (without the quotas).
	<br><br>
	Other than that, there's no free support. However, if you want us to
	modify the library for your particular needs, add some special
	functionality, enter a support contract with you or design you an ARM
	based embedded gizmo, do not hesitate to contact us, by writing to the
	contact@bendor.com.au address.
*/

/**	@defgroup libc 		C library */
/**	@defgroup math		Float-point functions */
/** @defgroup fixp		Fixpoint functions */
/**	@defgroup crypto	Cryptographic functions */
/** @defgroup scheduler	Process schedulers (kernels) */
/**	@defgroup gccs 		Replacement functions for the gcc support library */
/** @defgroup tool		LPC2xxx related tools running on the host */

