 *****************************************************************************
 *   readme_WinARM.txt:  Information on the of the Philips
 *                       example-code for LPC213x/214x to the
 *                       GNU-toolchain (arm-elf-gcc et al)
 *
 *   Porting, extensions and modifications
 *   Copyright(C) 2006, Martin Thomas, Kaiserslautern, Germany
 *   <mthomas@rhrk.uni-kl.de>
 *   http://www.siwawi.arubi.uni-kl.de/avr_projects
 *   All rights reserved.
 *
 *   Timestamp for this Version of the port: 28. Apr. 2006
 *
 ******************************************************************************


Port of the Philips LPC2000-Examples for the GNU-Toolchain
----------------------------------------------------------

porting and extensions done by:
Martin Thomas, Kaiserslautern, Germany
<mthomas@rhrk.uni-kl.de>
http://www.siwawi.arubi.uni-kl.de/avr_projects/arm_projects

- Same warranty as the Philips code (=none). See the license of the
  original code in file readme.txt.

- The port is based on the "code-bundle" for the Keil compiler.

- Some files which have been placed in Common/ in the original code
  have been modified very much for the GNU-toolchain. The ported 
  and extended files are now located in Common_WinARM/.

- Only minor modifications have been done in the C-Code of the 
  examples (added missing volatiles and changes to avoid warnings).

- An "irq-Wrapper"-approach has been used to minimize modifications
  in the C-code of the interrupt-service-routines.

- Nested IRQ-interrupts are the default - see startup.s/irq_wrapper.
  Based on Atmel's AT91SAM7S example-applications and various other
  information (esp. from ARM) and examples.

- Not all examples have been ported or tested with the GNU-toolchain 
  (moved to a separate directory for future tests). 
  Use the ported examples as templates. Note that there are
  some volatiles missing in the unported code (and maybe even in 
  the ported code).

- Tested: ROM_RUN with Vectors in ROM, ROM_RUN with Vectors in RAM.
  RAM_RUN not tested

- The Software-Interupt Handler-code has also been ported to 
  arm-elf-as. Since there has been no example for SWI in the 
  Philips-code an additonal example-project "SWI" has been created
  which demonstrates how the IRQs can be enabled or disabled from
  USR-mode by SWI-calls. Contrary to the other examples the SWI-example 
  starts up in user-mode with IRQ-*DIS*abled - see the project-specific 
  StartupIntDis.S-file.

- Additional example: polled UART, "reduced" (r)printf (no newlib),
  memory-dump. The example has been used to test remapping and 
  interrupt-handling. It demonstrates SWI-calls.


Feedback and bug-reports welcome.

Cheers,
Martin
