Aeolus Development

Downloads

ARMStick 100

ARMStick 101

ARMStick 102

In System Programming (ISP)

Documentation and Application Notes

Downloads

Other Resources

Warranty and Returns

Contacts

Product Feedback and Suggestions

Consulting

Whats New

Privacy Policy

Store

Friday, April 13, 2007

NEWLIB PORT LAYER

Release Notes for Release 5a

Recent bug fix update newlib-lpc_rel_5a.zip fixes bugs in the interrupt driven uart drivers.  Changed the use of the volatile modifier on the send and receive buffer pointers.  Also turned on the FIFO even though it's not used.  That last change appears to have fixed the issue noted in the source as a possible HW race condition.

The release notes and documentation for release 5 still apply.

Release Notes for Release 5

A newlib port to LPC2000 newlib-lpc_rel_5.zip using GCC on the ARM.

A quick overview of changes from release 4 to release 5.  There are only minor organizational changes since the pre-release.  The archive is a little cleaner though.

SPI device driver contributed by Bruce Paterson added (Thanks).  Add drivers for FRAM and sub-device support. 

The long delay in getting this release out has caused me to evaluate how I approach this.  It seems unreasonable to hold contributions until I've had a chance to review, clean up and at least partially test them so I'm adding a separate page for untested and unreviewed contributions.  It will also include from time to time some of my own work in process that I've not had enough time yet to finish but may be useful at least as a starting point for others.  Please send any reviews, warnings or kudos on.  I can post those a lot more quickly than I can do a full review.  Also any additions you would like to contribute.

This file contains:

  • An example link script with the LPC210X registers defined.
  • An example link script with the LPC2119/LPC2129/LPC2194/LPC2292/LPC2294 registers defined. (Added with Release 3)
  • A header file corresponding to the link script that provides external references for the LPC210X registers.
  • A header file corresponding to the link script that provides external references for the  LPC2119/LPC2129/LPC2194/LPC2292/LPC2294 registers. (Added with Release 3)
  • Ported open/close/read/write routines that use a simple device driver structure.
  • Support for sub-device drivers, i.e. drivers that build on the support contained within other drivers. (Added with Release 5)
  • Drivers for FRAM using SPI drivers to provide the base I/O support. (Added with Release 5)
  • Device drivers for UART0, UART1 (Added with Release 4), SPI (Added with Release 5) and system (essentially a null device).
  • Interrupt Support including an interrupt driven device drivers. (Added with Release 3, expanded in releases 4 and 5)  
  • Microprocessor initialization routines to set up clock speeds. Now independent of I/O routines. (Changed with Release 3)
  • Timer and wait routines (microsecond resolution). Now independent of I/O routines. (Changed with Release 3)
  • Example make file(s). (Added with Release 3)
  • Precompiled hex examples (they assume a 10MHz external crystal). (Added with Release 3)

Note that these files only provide the support to make newlib usable on the LPC210X. The main newlib file can be found elsewhere and must be separately compiled. See Bill Gatliff's articles for examples of how to configure GCC and newlib for cross-compiling to the ARM.

Documentation and application notes are available.

Previous releases of the newlib port layer.

ONE-WIRE LIBRARY

one-wire library port to LPC210X using Maxim's public domain library as the base.  This is a beta release and contains both the files for the port and the original Maxim archive.  The Maxim archive is not needed for compiling or using the port but all of the original documentation and routines are there for reference.

This library uses the timing routines above and directly supports the ARMStick 100, ARMStick 101 and ARMStick 102.

Some PC-LINT Files for ARM GCC

Ther have been a few requests for PC-Lint configuration files GCC and ARM so I thought I'd share mine.  First is the one I use regularly and secondly an experimental one with extra messages related to MISRA turned on (I've turned off  Rule 6.3 as too noisy, especially with standard headers).

Home