RELEASE: LPC1700CMSIS_26Jan2011
1./ Fix bugs:
	- debug_frmwrk.c > UARTPutDec32
	- lpc17xx_i2c.c > I2C_SetClock
	- lpc17xx_systick.c > LOAD & VAL register renaming

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_30Dec2010

*** LPC1700CMSIS_30Dec2010 Lite***
1./ Update to CMSIS v2.0
	- update core_cm3.h/.c
	- add core_cmFunc.h
	- add core_cmInstr.h
	- update .chm document 
		+ update CMSIS Introduction (use v2.0 doc)
		+ update CMSIS's version
		+ re-organize CMSIS tab 
		
*** LPC1700CMSIS_30Dec2010 Full***
1./ Update to CMSIS v2.0
	- update core_cm3.h/.c
	- add core_cmFunc.h
	- add core_cmInstr.h
	- add folder DSP_Lib at ..\Core
	- add folder Document that includes CMSIS html files
	- add CMSIS Document at ..\Core that describes all details about CMSIS v2.0
	- modify .chm document (remove CMSIS Introduction link)
	- re-organize CMSIS Tab
			 
*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_06Dec2010

1./ Fix CAN issue
	Issue: CAN code is running at a /4 frequency and the baud rate of 1Mbps cannot be hit exactly given a chip 
	       frequency of 100MHz.
	Fix: Change code to run the CAN at /2 instead.
	Function: 
		+ CAN_Init()
		+ can_SetBaudrate()
2./ Chang I2S set clock protocol. (old protocol generated bitrate value incorrect)
	Function: I2S_FreqConfig() 
	Modify I2S_Mclk example.
			 
*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_24Aug2010

1./ Fix CAN bugs:
	- CAN_SendMsg() function
	- CAN_ReceiveMsg() function: add release buffer on the reception of REMOTE_FRAME
2./ Updat .chm document file

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_16July2010

1. Modify I2C driver.
	- Add function "I2C_MonitorHandler()"
2. Modify ADC > Burst example, add inject channel function
3. Add new examples:
	- CAN > CAN_LedControl
	- Cortex-M3 > MPU
	- DAC > WaveGenerate
	- I2C > Monitor
	- SPI > SDCard
	- TIMER > FreqMeasure
	- TIMER > Gen_Diff_Delay
	- TIMER > Gen_Diff_Freqs
	- SYSTICK > STCLK
	- USBDEV > USBAudio
	- USBDEV > USBCDC
4. Modify abstract.txt files
5. Rename author name into "NXP MCU SW Application Team"
6. Rename rar file into "LPC1700 Peripheral Driver Library_date.rar"
7. Update document files
8. Fix bug in lpc17xx_ssp.h driver
	- modify 'SSP_DMA_RX' and 'SSP_DMA_TX'
	
*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_18June2010

1./ Modify/update drivers:
	- ADC:
		+ modify function "ADC_GlobalGetData()"
	- CAN:
		+ add function "CAN_SetCommand()"
		+ modify function: "CAN_ModeConfig()"
	- PWR:
		+ modify functions:
			. CLKPWR_DeepSleep()
			. CLKPWR_PowerDown()
	- EXTI:
		+ modify function: EXTI_Init()
	- DAC: 
		+ modify macro "DAC_CCNT_VALUE" value
	- GPIO:
		+ add functions: 
			. GPIO_IntCmd() 
			. GPIO_GetIntStatus()
			. GPIO_ClearInt()
			. FIO_IntCmd()
			. FIO_GetIntStatus()
			. FIO_ClearInt()
	- I2S:
		+ rename macros: 
			. "I2S_CLKSEL_0" -> "I2S_CLKSEL_FRDCLK"
			. "I2S_CLKSEL_1" -> "I2S_CLKSEL_MCLK"
		+ modify macros PARAM_I2S_BITRATE(n)
		+ add functions:
			. I2S_GetIRQStatus()
			. I2S_GetIRQDepth()
	- RTC:
		+ modify functions:
			. RTC_ClearIntPending()
			. RTC_CalibConfig()
	- SSP:
		+ add functions: SSP_GetRawIntStatusReg()
	- TIMER:
		+ modify function: TIM_Init()
	- UART:
		+ add functions:
			. UART_GetIntId()
			. UART_ABClearIntPending()			
2./ Add comment to embed example files in .chm document (generate by doxygen)
3./ Add macro "_DBGFWK" in libcfg files to disable/enable debug framework library
4./ Add new examples: (include both Keil and IAR project)
	- ADC:
		+ Burst
		+ HardwareTrigger
	- CAN:
		+ CAN_self_test
	- Cortex-M3: 
		+ Privilege_mode
	- DAC:
		+ SineWave
	- GPDMA:
		+ GPDMA_Sleep
	- I2S: 
		+ I2S_MCLK
	- NVIC:
		+ Priority
		+ VecTable_Relocation
	- PWR:
		+ NMI_PowerDown
		+ RTC_DeepPWD
		+ WDT_DeepSleep
	- RTC:
		+ Calibration
	- UART:
		+ IrDA (Transmit + Receive)
		+ HWFlowControl	
5./ Modify examples:
6./ Update AN10863_3 (LPC17xx Example Description) and LPC1700CMSIS Manual.chm
7./ Check errata sheet (Errata.lpc1768 rev.02 - 16 March 2010):
	- Errata 3.3 - User must disable and disconnect the main PLL before entering Deep Sleep and Power-down modes
	(apply in NMI_PowerDown and WDT_DeepSleep examples)
	- Errata 3.4: PCLKSELx.1: Peripheral Clock Selection Registers must be set before enabling and connecting PPL0
	(apply in system_LPC17xx.c file)
	- Errata 3.5: MCPWM.1: Input pin (MCI0-2) on the MCPWM peripheral are not functional 
	(removed MCI0-2 out of MCPWM example)
8./ Change using "#define DEBUG" instead of "#define DEBUG 	1" in some lpc17xx_libcfg.h files
9./ Remove instructions that use chip registers in application code, replaced by driver functions
	- EMAC/uIP
	- GIPO/GPIO_Interrupt
	- I2S/I2S_IRQ
	- I2S/I2S_two_kit
	- LCD/NOKIA6610
	- PWR/NMI_PowerDown
	- QEI/QEI_Velo
	- SPI/sc16is750_int
	- SSP/sc16is750_int
	- SSP/Slave
	- UART/Autobaud
	- UART/DMA
	- UART/Interrupt
	- UART/RS485_Slave
	- UART/RS485_Master
	- UART/FullModem
10./ Re-name some Keil projects files in order to keep the naming consistent across projects
11./ Solve error " The project contains the unknow tool 'Coder'" in each IAR projects
12./ Fix some bugs in some project files

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_21May2010

1./ core_cm3.h: Modify SysTick_Type registers name in core_cm3.h file (for compatible with LPC17xx UM Rev.01 - 4 January 2010)
2./ system_LPC17xx.c: Modify RTC_CLK value (32768Hz) (for compatible with MCB1700 and IAR-LPC1768KS board datasheet)
3./ system_LPC17xx.c > SystemInit(): Add some code lines at the end to set vector table offset value when intialize system
4./ header driver files: re-arrange definitions/structure/functions in header files with this order:
	- include files
	- Public macros
	- Private macros
		+ Bit definitions
		+ check parameter definitions
	- Public Types
		+ enumeration
		+ structure
	- Public Functions
5./ Header driver files:
	- Remove some unused defintion
	- Add new functions 
	- Remove functions that handle interrupt routine and setup call-back function
6./ Header & Source driver files: Remove functions that handle interrupt service routine & setup call-back functions
	- CAN: 
		+ CAN_SetupCBS()
		+ CAN_IntHandler()
	- EMAC:
		+ EMAC_StandardIRQHandler()
		+ EMAC_SetupIntCBS()
	- GPDMA:
		+ GPDMA_IntHandler()
	- I2C:
		+ I2C0_StdIntHandler()
		+ I2C1_StdIntHandler()
		+ I2C1_StdIntHandler()
	- I2S:
		+ I2S_IntHandler()
	- SPI:
		+ SPI_StdIntHandler()
	- SSP:
		+ SSP0_StdIntHandler()
		+ SSP1_StdIntHandler()
	- UART:
		+ UART0_StdIntHandler()
		+ UART1_StdIntHandler()
		+ UART2_StdIntHandler()
		+ UART3_StdIntHandler()
		+ UART_SetupCbs()
7./ Source files:
	- Change some function parameter input
	- Remove some variable used for debugger
	- Remove functions/variables that used to handle interrupt routine and setup call-back function
8./ Change some functions into static mode:
	- CAN:
		+ can_SetBaudrate()
	- EMAC:
		+ setEmacAddr()
		+ emac_CRCCalc()
	- GPIO:
		+ GPIO_GetPointer()
		+ FIO_HalfWordGetPointer()
		+ FIO_ByteGetPointer()
	- I2C:
		+ I2C_getNum()
		+ I2C_SetClock()
	- I2S:
		+ i2s_GetWordWidth()
		+ i2s_GetChannel()
	- PINSEL:
		+ set_PinFunc()
		+ set_ResistorMode()
		+ set_OpenDrainMode()	
9./ Change to define board MCB_LPC1768/IAR_LPC_1768 into #ifdef/#elif method
10./ Update abstract.txt file in each example into new format
11./ Add some functions in example to handle interrupt routine
12./ Add new example:
	- Cortex-M3: Bit-banding
	- GPDMA: Flash_2_Ram_Test
	- PWR: EXTI_Sleep
	- SysTick: 10ms_base
	- TIMER: Polling_Match, PWMSignal
13./ Rename some example
	- DAC: DAC->Speaker
	- GPDMA: Mem_2_Mem_Test -> Ram_2_Ram_Test
	- USBDEV: USBMem -> USBMassStorage
14./ Remove unused examples:
	- RIT:
		+ Polling
		+ Simple
	- TIMER
		+ Delay
15./ startup file for GNU: Add some assembly code line to clear .BSS section before enter to main function (in RAM mode)
16./ ldscript_ram_gnu.ld: Define two variable: 
		+ __bss_start__
		+ __bss_end__
	at the first and the end of .bss section
17./ makefile.ex: add "cleanall" before build ram/rom 
 	So examples can be built continuously without cleaning
18./ Remove FreeRTOS example
19./ Add *.ewd in each IAR example project to configure debugger.
20./ Modify documents:
	+ LPC1000 Software Development Toolchain
	+ LPC17xx Example Description
	+ index.chm (will be rename to "LPC1700CMSIS Manual")
21./ makeconfig: remove unused variable path "ADS_INSTALL_ROOT"
22./ Remove UartDev, SpiDev and EthDev example that delivered by CMSIS 
23./ Modify comments to re-arrange generated document	
24./ Fix bug in UART example (run with UART_PORT 1)
	
*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_07Apr2010

1./ Change all author name into "MCU SW Team"
2./ Add KSZ8721BL PHY definition in emac.h (support for Ethernet Physical Layer Transceiver on IAR eval board)
3./ Remove define PARAM_I2S_DATA(data) in lpc17xx_i2s.h file
4./ Fix a bug in lpc17xx_i2s.h
	original: #define PARAM_I2S_WS_SEL(n)		((n==I2S_MASTER_MODE)||(n=I2S_SLAVE_MODE))
	fixed:    #define PARAM_I2S_WS_SEL(n)		((n==I2S_MASTER_MODE)||(n==I2S_SLAVE_MODE))
5./ Change lpc17xx_libcfg_default.h : use "#define _xxx" instead of "#define _xxx  1"
6./ Change all lpc17xx_libcfg.h in each example: use "#define _xxx" instead of "#define _xxx  1"
    Remove some unused define.
7./ Change lpc17xx_can.c
	- change function: CAN_SetBaudRate (can compute divisor that compliant with all standard CAN baudrate)
	- remove " const uint32_t CAN_BIT_TIME[] " 
	- fix bugs in "CAN_SendMsg" 
	original: 	CANx->TFI1 &= ~0x000F000;
	            CANx->TFI2 &= ~0x000F000;
	            CANx->TFI3 &= ~0x000F000;
	fixed:    	CANx->TFI1 &= ~0x000F0000;
				CANx->TFI2 &= ~0x000F0000;
				CANx->TFI3 &= ~0x000F0000;
8./ Update lpx17xx_emac.c (that can run on KSZ8721BL PHY on IAR eval board)
9./ Remove some unused "break" instruction in:
	- lpc17xx_gpdma.c
	- lpc17xx_i2c.c
	- lpc17xx_i2s.c
	- lpc17xx_pwm.c
	- lpc17xx_rtc.c
	- usbcore.c
10./ Remove CHECK_PARAM(PARAM_I2S_DATA (BufferData)) in I2S_Send( ) function.
11./ lpc17xx_pwm.c: move variable declaration to the head of function (to compatible with Keil platform)
12./ Remove some unused function/variable in lpc17xx_timer.c
13./ Add Keil project in each example
14./ Add one more group "Readme" in IAR projects that include abstract.txt files
15./ Update abstract.txt files some configure instructions to run example on IAR board.
16./ Remove Port_LCD example on GPIO folder.
17./ Add more folder "LCD" that include two example NOKIA6610_LCD that test LCD on MCB board
and QVGA_TFT_LCD that test LCD on IAR board
18./ Fix bugs about incorrect including file on target "LPC1700 Flash" in Keil_RealView_MDK template project
19./ Modify "DiskImg.c" in USBMem example to display "LPC17xx" drive instead "LPC2300" name.
20./ Modify some main functions that allow testing on IAR eval board:
	- ADC\DMA\adc_dma_test.c
	- ADC\INTERRUPT\adc_interrupt_test.c
	- ADC_Polling\adc_polling_test.c
	- EMAC\Easy_Web\Adc.c
	  EMAC\Easy_Web\easy_web.c
	  EMAC\Easy_Web\EMAC.h
	  EMAC\Easy_Web\tcpip.c
	- EMAC\EmacRaw\emactest.c
	- EMAC\uIP\lpc17xx_port\emac.c
	  EMAC\uIP\lpc17xx_port\emac.h
	  EMAC\uIP\lpc17xx_port\main.c
	- GPIO\EINT_PowerDown\eint_powerdown_test.c
	- GPIO\GPIO_Interrupt\gpio_int.c
	- GPIO\LedBlinky\LedBlinky.c
	- RIT\Interrupt\rit_interrupt.c
	- RIT\Polling\rit_polling.c
	- RIT\Simple\rit_simple.c
	- TIMER\Delay\timer_delay_test.c
	- TIMER\Interrupt_Match\timer_interrupt_test.c
	- UART\UART1_FullModem\uart_fullmodem_test.c
	- WDT\INTERRUPT\wdt_interrupt_test.c
	- WDT\RESET\wdt_reset_test.c
		

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_09Feb2010

1./ Update header file: LPC17xx.h:
	 + Add two more register: CANSLEEPCLR and CANWAKEFLAGS in LPC_SC_TypeDef structure
	 + Fix the wrong align of USB OTG I2C registers
2./ Update IAR and Keil startup file:
	 + Add two more interrupt sources of CAN and USB Activity
3./ Remove folder .\Core\CM3\Example

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_25Jan2010

1./ Standarlize AN10862_2 to AN10862_3 (LPC1100  Software Development Toolchain)
2./ Update index.chm
3./ Add Eclipse_GNU template in \Example\Project_Template folder

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_13Jan2010

1./ Fix more fault in coding style to generate properly document
2./ Remove part of the Flash configuration in the CMSIS Library 
    FLASHCFG[11..0]: Reserved (system_LPC17xx.c)

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_12Jan2010

1./ Modify "system_LPC17xx.c" to suit the PCLKSELx.1 bug (see the errata for LPC1766)
2./ Fix some fault in coding style to generate properly document
3./ Resolve inconsistent line ending in some remain files 

*******************************************************************************************************************************

RELEASE: LPC1700CMSIS_21Dec2009

1./ Update CMSIS ver1.2 to ver1.3
	. Change Core directory
	. Change startup file (from startup_LPC17xx.c into startup_LPC17xx.s)
	. Change LPC17xx header file
	. Change LPC17xx system file
	. Change linker file (both for ROM and RAM)
	. Change makefile
2./ In "makeconfig" file, add more argument "MANUFACTURE"
3./ Verify on Consistency Check report on MCB1700 board
4./ Modify directory for global file in IAR and Keil project
5./ Add "Pa050" in the 'Suppress these diagnostics' in the Diagnostics tab of the C/C++ Compiler options of the IAR project
6./ Update AN10862, AN10863, AN10867.pdf and index.chm 
7./ Remove flags:
	-ffunction-sections 
	-fdata-sections
	-Wl,--gc-sections 
8./ Remove AN10867 and add AN10864 (importing FreeRTOS to LPC17xx CMSIS project)) to index.chm
9./Create new IAR examples in 
	- CAN/CAN_AFLUT_dynamic
	- I2S/I2S_test_4_wire
	- RIT/Interrupt
	- RIT/Polling
	- TIMER/Capture
10./Update all Keil projects to new Keil version uVision 4
11./Resolve missing NVIC entries in startup and header files 
12./Resolve inconsistent line ending

		
