/*****************************************************************************
* readme.txt: Description of the LPC23xx Example Software Package
*
* Copyright(C) 2006, NXP Semiconductor
* All rights reserved.
*
* History
* 2006.09.01 ver 1.00 Preliminary version, first Release
* 2006.11.30 ver 1.10 Release 1. In this release, the major change
* including:
* (1) "lpc230x.h" has been changed to "lpc23xx.h"
* to match the description.
* (2) Tested on the latest Keil IDE 3.03a which has
* the LPC236x device in the database, the beta release
* used "LPC214x" for debugger and flash utility.
* (3) Added I2S example.
* (4) Hardware chage in Enable Control in port LCD.
* (5) Fixed USB clock enable bit hangs caused by the
* bootloader change.
*
*
******************************************************************************//*****************************************************************************/
Software that is described herein is for illustrative purposes only which
provides customers with programming information regarding the products.
This software is supplied "AS IS" without any warranties. NXP Semiconductors
assumes no responsibility or liability for the use of the software, conveys no
license or title under any patent, copyright, or mask work right to the
product. NXP Semiconductors reserves the right to make changes in the
software without notification. NXP Semiconductors also make no representation
or warranty that such application will be suitable for the specified use without
further testing or modification.
/*****************************************************************************/
The Description of the Example software
===================This example demonstrates the use of build-in peripherals on the NXP
LPC23xx family microcontrollers.The Example software includes, common library, peripheral APIs, and test modules
for the APIs. The common library include startup file, standard definition and
header files, processor specific setup module, generic interrupt related APIs,
timer routine. The peripheral directories include, ADC, DAC, DMA, GPIO, PWM,
Real-time clock, timer, SPI, SSP, MCI, I2C, Watchdog timer, UART, external
interrupt, CAN, Ethernet, USB Audio, USB HID, etc.
The development environment is Keil's, an ARM company now, uVision 3.x
and ULINK ICE. The target board is Keil's MCB2300 with a NXP's LPC23xx MCU
on it.The project is created for both target option "MCB2300" and "MCB2300 Debug".
For "MCB2300", the image code can be programmed into the flash and executed;
for "MCB2300 Debug", the image code can be loaded into internal SRAM(IRAM)
for easy debugging. The "RAM.ini" in each directory is a Keil uVision debugger
script file, once the debugger starts, the code will be loaded to the IRAM
first, then, "RAM.ini" will be executed and reset program counter(PC) to
0x40000000(IRAM starting address) that code will be executed from.Some external components, such as I2C temperature, SPI serial EEPROM, will be
required to add on the board in order to complete the test below.
The directory tree and content of the sample software
===================common
-- inc
-- lpc23xx.h Definition file of all the registers of LPC23xx
-- irq.h Interrupt related definitions and API prototyping
-- type.h Type definition
-- target.h Target specific definition for Keil's MCB2300 board
-- timer.h Definition and header file for timer module
-- src
-- startup.s Code start up entry
-- swi_handler.s SWI handler
Note: not used, but a good example for future references.
-- irq.c Generic SWI interrupt handler related APIs
-- target.c Target specific modules
-- timer.c Timer related APIsGPIO
-- fio.h GPIO and fast I/O header
-- fio.c GPIO and fast I/O APIs
-- fiotest.c GPIO and Fast I/O test module
-- fio.uv2 uVision project file
EXTINT
-- extint.h External interrupt header
-- extint.c External interrupt APIs
-- einttest.c External interrupt test module
-- extint.uv2 uVision project fileTimer
-- tmrtest.c Timer test module, note: API modules
are in the COMMON directory and
shared and used by some other peripheral testing.
-- timer.uv2 uVision project filePWM
-- pwmc.h PWM header
-- pwm.c PWM APIs
-- pwmtest.c PWM test module
-- pwm.uv2 uVision project fileSPI
-- spi.h SPI header
-- spi.c SPI APIs
-- spitest.c SPI test module
-- spi.uv2 uVision project fileSSP
-- ssp.h SSP(SPI1) header
-- ssp.c SSP(SPI1) APIs, for DMA and non-DMA
-- ssptest.c SSP(SPI1) test module
-- ssp.uv2 uVision project fileUART
-- uart.h UART header
-- uart.c UART APIs
-- uarttest.c UART test module
-- uart.uv2 uVision project fileRTC
-- rtc.h Real-time clock(RTC) header
-- rtc.c Real-time clock(RTC) APIs
-- rtctest.c Real-time clock(RTC) test module
-- rtc.uv2 uVision project fileMCI
-- mci.h MCI header
-- mci.c MCI APIs for both SD and MMC card interface,
for DMA and non-DMA.
-- mcitest.c MCI test module
-- mci.uv2 uVision project fileADC
-- adc.h ADC header
-- adc.c ADC APIs
-- adctest.c ADC controller test module
-- adc.uv2 uVision project fileDAC
-- dac.h DAC header
-- dac.c DAC APIs
-- dactest.c DAC test module
-- dac.uv2 uVision project fileI2C
-- i2c.h I2C header
-- i2c.c I2C APIs
-- i2cmst.c I2C test module
-- i2cmst.uv2 uVision project fileI2S
-- i2s.h I2S header
-- i2s.c I2S APIs
-- i2stest.c I2S test module
-- i2s.uv2 uVision project fileCAN
-- can.h CAN header
-- can.c CAN APIs
-- cantest.c CAN test module
-- can.uv2 uVision project fileDMA
-- dma.h DMA header
-- dma.c GPDMA APIs, memory to memory,
memory to peripheral or peripheral
to memory are in SSP, MCI directory.
-- dmatest.c DMA test module
-- dma.uv2 uVision project fileWDT
-- wdt.h Watchdog timer header
-- wdt.c Watchdog timer APIs
-- wdttest.c Watchdog timer test module
-- wdt.uv2 uVision project filePWRMAN
-- pwrman.h Power management header
-- pwrman.c Power management APIs
-- pmtest.c Power management test module,
test powerdown and external interrupt wakeup.
-- pwrman.uv2 uVision project filePortLCD
-- portlcd.h 4-bit port to LCD driver header for Keil MCB2300
-- portlcd.c 4-bit port to LCD driver APIs
-- lcdtest.c 4-bit port to LCD test module
-- portlcd.uv2 uVision project fileEMAC
-- crc32.h CRC calculation header
-- crc32.c CRC calculation APIs
-- emac.h EMAC header
-- emac.c EMAC APIs, options include transmit only(TX_ONLY);
receive packet, switch source and destination
and transmit(BOUNCE_RX), WOL, etc.
-- emactest.c EMAC test module
-- emac.uv2 uVision project file
-- ethpkt.txt Ethernet packet example for transmitUSBDEV
-- hid.h USB HID related header
-- hiduser.h USB HID user specific header
-- hiduser.c USB HID user APIs
-- usb.h USB header
-- usbcfg.h USB configuration header
-- usbcore.h USB Core header
-- usbcore.c USB Core APIs
-- usbdesc.h USB descriptor header
-- usbdesc.c USB descriptor APIs
-- usbhw.h USB hardware header
-- usbhw.c USB hardware APIs
-- usbreg.h USB misc. register header
-- usbuser.h USB user header
-- useuser.c USB user APIs
-- usbmain.c USB HID test module, power management, USB
suspend to powerdown, and resume to USB
wakeup.
-- usbdev.uv2 uVision project fileUSBAudio
-- audio.h USB Audio related header
-- adcuser.h USB Audio Device Class user specific header
-- adcuser.c USB Audio Device Class user APIs
-- usb.h USB header
-- usbaudio.h USB Audio misc. definition header
-- usbcfg.h USB configuration header
-- usbcore.h USB Core header
-- usbcore.c USB Core APIs
-- usbdesc.h USB descriptor header
-- usbdesc.c USB descriptor APIs
-- usbhw.h USB hardware header
-- usbhw.c USB hardware APIs
-- usbreg.h USB misc. register header
-- usbuser.h USB user header
-- useuser.c USB user APIs
-- usbmain.c USB Audio test module
-- usbaudio.uv2 uVision project file