version     date           comment
2.0.0
            Apr 16, 2021   1. Support new hardware: EV_F460_LQ100_V2;
                           2. add USB lib and example.

1.3.1       Apr 09, 2021   1. Add usb example usb_host_hid_msc.

1.3.0
            Feb 04, 2021   1. Fixed a bug of API HASH_Start().
                           2. Bug Fixed for example clk_switch_sysclk.#PWC_HS2HP should be called before clock is ready.
                           3. Add note for API(PWC_HP2LS etc) in pwc.c.
                           4. Modified TBDs as 30us base 200Mhz in clk.c.

            Jan 25, 2021   1. Fix bug for usbd_hid_custom example(about windows 10).

            Jan 18, 2021   1. Modified function ADC_ChannleRemap(), from ADC_ChannleRemap() to ADC_ChannelRemap().
                           2. Fixed a bug of function ADC_PollingSa().

1.2.0
            Dec 16, 2020   1. Add API XXX_ComTriggerCmd() and modify XXX_SetTriggerSrc() (XXX=ADC/DCU/OTS/TimerA/Timer0/Timer6/EventPort/DMA).

            Dec 15, 2020   1. Fix bug for usbh_hid_core.c(The HID report data will not be decoded if the USBH_Process() not process in time).
                           2. Add register AOS_COMTRG1/2

            Dec 11, 2020   1. Modify define for USB_MAX_STR_DESC_SIZ.
                           2. Fix bug for USB device USBD_GetDescriptor function.

            Dec 03, 2020
                           1. Fixed SysTick_Delay function overflow handling.

            Dec 02,2020    1. Modified func. CAN_IrqFlgClr()
                           2. Add CLKInit() function (Config system clock as 200M) to example lpm_pwerdown_wakeup

            Nov 30,2020    1. Add lmp_lwp(lowest power) example to lpm.
                           2. Modify PWC driver.
                           3. Add example usbh_msc_mouse_kb and modify USB lib for PHY clock config.

            Nov 16,2020    1. Add communication function for I2C example.
            Nov 10,2020    1. Revise I2C TxEmpty & Complete share IRQ handler entry.
                           2. Revise SPI idle share IRQ handler flag judgment.

            Oct 30,2020    1. Rename register DMA_CHxCTL bit4 SRTPEN as SRPTEN
1.1.1
            Oct 27,2020    1. Modify I2C driver and I2C example.
            Oct 19,2020    1. Modify USART UART/smartcard/clock-sync initialization function.

            Oct 13,2020    1. Modify PWC_WKTM_WKUPFLAG as 0x80.
                           2. Remove definition PWC_RXD0_WKUPFLAG.
                           3. Write 1 to bit14 in STPMCR.

            Sep 25,2020    1. Rename Interrupt/Event source in hc32f46x.h: INT_I2Cx_EE1 to INT_I2Cx_EEI, EVT_I2Cx_EE1 to EVT_I2Cx_EEI.
                           2. Fixed some spelling mistakes.

            Sep 15,2020    1. Modify i2s driver for duplex mode and add example i2s_fullduplex.
                           2. Modify i2s clock pclk source from pclk3 to pclk1.
                           3. Add systick related function to the utility driver.
                           4. Add systick example.

            Aug 28,2020    1. Fix bug for example usbd_mouse.
                           2. Modify macro define in usb_conf.h file.
                           3. Modify usbd_cdc_Setup() function for USBD CDC class.
                           4. Update the drivers and examples based on the header file.
                           5. Fix bug for i2c_slave_polling.
                           6. Update headfile for i2c DTR and DRR register.

            Jul 31,2020    1. Synchronize driver register with chip manual.

            Jul 20,2020    1. Add wait RDY at begin of func. EFM_SetErasePgmMode().
                           2. Modified en_efm_erase_pgm_md_t as #define

            Jul 7,2020     1. Fixed a bug in spi_write_read_flash example.
                           2. Remove register XTAL32CFGR XTAL32SUPDRV bit
                           3. Modified func. DMA_ReConfig() function & add func. DMA_ReCfgLlp()
                           4. Modified func. PWC_PdWakeupEvtEdgeCfg() & add func. PWC_ClearPvdFlag()
                           5. Modified comment & spell error

            May 21,2020    1. unify EFM wait cycle for all examples
                           2. KEYSCAN example refine

            Feb 27,2020    1. Driver refine for PWC/CLK

            Feb 14,2020    1. Logic error in timer4 reload share irq

            Jan 08,2020    1. Added GCC compiler support.
                           2. Added Eclipse project files for each example project.
                           3. Fixed a bug of IS_ADC_TRIG_SRC_EVENT in hc32f46x_adc.c.
                           4. Fixed a bug of function AdcChannelConfig in ..\example\adc\adc_10_internal_channel\source\main.c.

            Jan 07,2020    1. Modify usbh_mouse_kb example for GCC compiler.
                           2. Modify readme file for usbh_msc example.

            Jan 06,2020    1. Fixed a bug in example adc_10_internal_channel.
                              Turn on the clock of CMP while ADC input source is internal VREF.

            Jan 06,2020    1. Fix bug for CMP CMP_ADC_SetRefVoltPath function.

            Dec 30,2019    1. Set FPU function in system initialization stage.

            Dec 24,2019    1. Add USB host example -> HID mouse and Keyboard.
                           2. Refine ext int example.

            Dec 13,2019    1. Modify media data for i2s_play_wm8731_44k and i2s_play_wm8731_exck_8k example.

            Dec 12,2019    1. Add AsyncDelay for timer0 driver.
                           2. Check operation result when switch speed for SD midware.
                           3. Remove limit of 4 bytes align for SD write/read buffer.
                           4. Dmac.c typo
                           5. Delete some duplicate files

            Dec 11,2019    1. Fix bug for TIMERA_OrthogonalCodingInit function.

            Dec 10,2019    1. Modify USBLIB for GCC compiler.
                           2. Add Timeout function for timer0 driver.

            Dec 6,2019     1. Modify the wrong word of QSPI example.

            Dec 4,2019     1. Fix bug for TIMERA_HwTriggerInit and TIMERA_HwClearConfig Function.

            Nov 22,2019    1. Fix bug for I2C slave example: Clear STOP and NACK flag after address flag detected.

            Nov 19,2019    1. add hid_msc composite device demo
                           2. MISRAC2004 for some source files

            Nov 11,2019    1. modify for USBLIB: Add IAD descriptor for VCP device.

            Nov  8,2019    1. Added support for GCC.

            Nov  5,2019    1. modify for USBLIB:  re-open usb clock in DCD_SessionRequest_ISR function
                           2. Fix bug for example i2c_slave_irq

            Nov 1,2019     1. Fix bug for mem_cmp function in ff.c.
                           2. Correct access width from u32 to u16 of GPIO regs: PODR, POER, POSR, PORR, POTR

            Oct 30,2019    1. Fix bug for QSPI_PrefetchCmd Function.

            Oct  21,2019   1. Add function CLK_ClearXtalStdFlg to clk.c
                           2. Modified function PWC_EnterPowerDownMd #add 30 clock cycle after set PWDN
                           3. Fix bug for I2S_ClrErrFlag function

            Oct  10,2019   1. Move PWC_EnterPowerDownMd func to ran for IAR

            Oct  9, 2019   1. Modified Set function(transfer count, block size, src/dest address etc.) in dma.c

            Sept 27,2019   1. Fixed bug for function CLK_SysClkConfig # CMU_SCFGR register reserved bits 31~28 should be equal with bits 27~24 

            Sept 25,2019   1. Add examples of Timer6 module.
                           2. Add Trigger source config API of Timer6

1.1.0
            Sept 16,2019   1. Modify startup file for KEIL project.
                           2. Fix bug when using KEIL compiler.(USBFS Register GRXSTSP is read for multiple times.)

            Aug 29, 2019   1. modify DDL code for C-STAT and MISRA-2004 warning. 
                           2. add RAM3 wait-time in startup_hc32f46x.s

1.0.4
            July 31, 2019  1. Fix bug for i2c_at24c02 example.

            July 29, 2019  1. modify for timer0 driver: timer0 UNIT1 channelA can't configured as synchronous mode.
                           2. modify the port configuration for USB example.

            July 25, 2019  1. Modify usb_core.c, Configuration FIFO for each IN ENDPOINT.
                           2. Add device class hid_custom.
                              Add device class composite device(HID + CDC)
                           3. modify device class name from "hid" to "hid_mouse".
                              modify device class name from "vcp" to "cdc_vcp"
                           4. Add example hid_custom.
                              Add example composite device cdc_hid

            July 16, 2019  1. modified CMP driver enumeration en_cmp_inp4_sel_t
                           2. modify spelling mistake for "position"
                           3. modify macro UART_DEBUG_PRINTF to hc32f46x_utility.h file

            July 2, 2019   1. modified SRAM_Init
                           2. add SRAM_Init to clk_switch_sysclk sample, mainly setting sram 
                              read/write cycle

            July 1, 2019   1. Fix bug for I2S_FuncCmd() function.
                           2. Modify headfile hc32f46x.h for keyscan.

            June 19, 2019  1. dma.c & dma.h
                              add readback to ensure write correct to DMA DMA_SetXx fun.
                              add wait running channel disable before DMA_ChannelCmd.
                              modified the functions DMA_SetXx & DMA_ChannelCmd void as en_result_t

            Jun 6, 2019    1. add USB CDC VCP 
                           2. comment assert() in usart baudrate failure case
 
            Jun 3, 2019    1. modify MPU protection regions write/read permission functions

            May 29, 2019   1. Add comment to func CLK_GetI2sClkSource in hc32f46x_clk.c
                           2. interrupt.c
                              SPI_SPEI and SPI_SPII bit position in share IRQ register of SPI.1~4

            May 28, 2019   1. Fix bug for i2c_master_polling example.
                           2. modifid PIDRH register
                           3. delete setupxx at .mac file

            May 24, 2019   1. convert encoding to UTF-8 for readme.txt
                           2. add clock division interface of SPI
                           3. add clock division and WP_Pin level interface of QSPI
                           4. modify some words to be misspelled
                           5. add USB MSC device card reader
                           6. add MW_W25QXX_ENABLE in all ddl_config.h
                           7. modify comment for usb lib and example
                           8. modify device PID and VID
                           9. add CLK_GetPllClockFreq function
                           10.add CLK_GetI2sClkSource function
                           11.modify Timer4 pwm: POCR register channel offset
                           12.fix bug for i2s slave mode
                           13.add DAM MON_xx register
                           14.modified ICG.HRCFREQSEL as 1 bit
                           15.add RTC CR1.ALMFCLR, CR2.ALMF
                           16.add EFM FRMC.LVM
                           17.add alarm flag to RTC
                           18.set USB 1st DeviceDescriptor len to 8
                           19.synchronize hc32f46x_ddl.chm version to 1.0.4 and update above

 1.0.3      May 15, 2019   1. add EFM_ClearFlag at ahead of program & erase
                           2. comment valid check in EFM_ClearFlag

            May 8, 2019    1. usb driver
                              use SPACE instead of TAB
                           2. interrupt
                              typo
                              delete RTC interrupt ISR in share IRQ handler
                              EfmPageEraseErr_IrqHandler --> EfmPgmEraseErr_IrqHandler
                           3. exint_nmi_swi
                              delete callback function pointer in exint init structure

            Apr 26, 2019   1. modified CMU_ClrResetFlag func. comment

            Apr 22, 2019   1. word spelling error
                           2. upll setting for adc/usb/trng

            Apr 18, 2019   1. modify comments about OVER8 = 1
                           2. modify baudrate calculate
                           3. delete duplicated semicolon

            Apr 9, 2019    1. modified IS_XTAL_STOP_VALID & IS_HRC_STOP_VALID
                           2. add judge before IS_XXX_STOP_VALID

            Apr 4, 2019    1. recover IS_PLLQ_DIV_VALID, recover CLK_PLLM_MIN as 1u
                           2. add IS_UPLLM_VALID because of upllm 2~24 and pllm 1~24
                           3. modified func CLK_UpllConfig , IS_PLLM_VALID as 
                              IS_UPLLM_VALID and comment pllm between 1M and 24M
                           4. modified CLK_PLLM_MIN as 2u, CLK_PLLN_MAX as 480u
                           5. use IS_PLL_DIV_VALID instead of IS_PLLQ_DIV_VALID
                           6. modified func CLK_MpllConfig comment, pllsource/pllm 
                              is between 1MHz and 24MHz.

            Apr 1, 2019    1. add EP2 OUT function for HID device 

            Mar 18, 2019   1. update chm file according to src updating

            Mar 15, 2019   1. add CRC driver & sample
                           2. bug fix
                              ICG/PWC/CLK/I2C

            Mar 11, 2019   1. modify efm/rtc/clk/ driver & sample
                           2. update SFR & SVD for IDE
                           3. add 'ram.ini' for MDK RAM function
                           4. add CRC pre-process

            Mar 7, 2019    1. first release on github.com

EOF
