rt-thread/bsp/hc32/libraries/hc32f4a0_ddl/ChangeLog.md

35 KiB

Update History


V2.2.0 Sep 30, 2023

documents

drivers

  • bsp/components
    • nt35510
      • Optimize function arguments
  • bsp/ev_hc32f4a0_lqfp176
    • Fix some typo: KYESCAN -> KEYSCAN
    • Add API BSP_XTAL32_Init()
    • Optimize function BSP_I2C_Init()
    • Add include file named hc32_ll_fcm.h and add declaration of BSP_XTAL32_Init()
    • Modify DMC timing for EXCLK frequency 60MHz -> 30MHz
    • Modify SMC timing parameter: EXCLK 60MHz -> 30MHz
    • Optimize comments
    • Change Reset control pin from NMOS to CMOS output cause of "EV_F4A0_LQ176_Rev1.0"'s modification
    • Rename local variables: stcTca9539Config -> m_stcTca9539Config
    • Modify the IO properties of SPI
    • Modify for MISRAC2012
    • Modify SPI clock divide factor from DIV4 to DIV64
    • Modify 'BSP_SPI_TIMEOUT' to HCLK_VALUE
    • Rename local variables: stcWm8731Config -> m_stcWm8731Config
  • cmsis/Device
    • Modify headfile based on reference manual Rev1.3
  • hc32_ll_driver
    • generic
      • Modify version as 2.2.0
      • Modify typo
      • Add __NO_OPTIMIZE configuration item
      • Add attribute for __RAM_FUNC definition
    • interrupts_share
      • Modify typo
      • IRQxxx_Handler add __DSB for Arm Errata 838869
      • The BCSTR register of TimerA is split into BCSTRH and BCSTRL
      • Modify for head file update: EIRQFR -> EIFR
    • adc
      • Modify typo
      • API fixed: ADC_DeInit()
    • aes
      • Add API AES_DeInit()
    • aos
      • Modify for new head file
    • can
      • Added 3 APIs for local-reset
      • Modify typo
      • Added 3 APIs for local-reset.Refine local function CAN_ReadRxBuf(), CAN_WriteTxBuf()
    • clk
      • Modify typo
      • Modify CLK_SetUSBClockSrc(), add delay after configure USB clock
      • Modify API CLK_Xtal32Cmd(), CLK_MrcCmd() and CLK_LrcCmd(), use DDL_DelayUS() to replace CLK_Delay()
    • cmp
      • Modify typo
      • Add assert for CIEN bit in GetCmpFuncStatusAndDisFunc function
      • Remove redundant code in function CMP_WindowModeInit
    • crc
      • Reconstruct interface function relate to calculate CRC
      • Modify return type of function CRC_DeInit
      • Modify comment
      • Delete and modify some of group/function relate to calculate CRC
      • Optimize CRC_DeInit function
      • Modify typo
    • ctc
      • Modify typo
      • Modify the init assignment of i32Ret in CTC_DeInit()
    • dac
      • Refine definition of dac resolution
      • Modify API DAC_DeInit
      • Refine data validation
      • Modify function:DAC_DeInit
    • dbgc
      • Add hc32_ll_dbgc driver
    • dcu
      • Modify typo
      • Delete macro definition: DCU_INT_SAWTOOTH_WAVE_RELOAD
      • Modify macro-definition according to RM:DCU_CTL_COMP_TRG->DCU_CTL_COMPTRG
      • Modify API DCU_DeInit()
      • Modify function DCU_IntCmd() for misra
    • dma
      • Add API DMA_SetDataWidth()
      • Modify typo
      • Modify blocksize assert, 1024U is valid
      • Optimize set blocksize & repeat count process
    • dmc
      • Modify typo
    • dvp
      • Modify typo
      • Add function: DVP_GetCaptureState
    • efm
      • Add FLASH security addr define
      • Modify API EFM_OTP_Lock()
      • Modify API EFM_Program()
      • Modify assert IS_EFM_ADDR() range
      • Modify typo
      • Modify API EFM_WriteSecurityCode(), switch to read_only mode before exit
      • Use FNWPRT_REG to replace CM_EFM->F0NWPRT0
      • Remove address assert from EFM_ReadByte()
      • Refine EFM_SequenceProgram() & EFM_ChipErase(), and put them in RAM
    • emb
      • Update EMB_CTL1_CMPEN0~3 to EMB_CTL1_CMPEN1~4
      • Update EMB_INTEN_PORTINTEN to EMB_INTEN_PORTININTEN
      • Function EMB_TMR4_Init don't call EMB_DeInit
      • Function EMB_TMR6_Init don't call EMB_DeInit
      • Function EMB_DeInit set register EMB_RLSSEL to reset value
    • eth
      • Modify typo
      • Add ETH_MAC_SetInterface function
      • Optimize ETH start and stop timing
      • Modify the process of obtaining PHY status
      • Modify the process of auto-negotiation disable
      • Modify ETH_PTP_UpdateBasicAddend function
      • Modify the clock division of SMIC
      • Modify operation sequence of ETH_DeInit function
    • event_port
      • Modify typo
      • Modify for new head file
    • fcg
      • Modify for head file update: PWC_FCG3_CMP1->PWC_FCG3_CMP12, PWC_FCG3_CMP2->PWC_FCG3_CMP34
    • fcm
      • Modify API FCM_DeInit()
    • fmac
      • Modify API FMAC_DeInit()
    • gpio
      • Rename GPIO_ExIntCmd() as GPIO_ExtIntCmd
      • Modify GPIO_SetFunc()
      • Optimize API: GPIO_Init(), GPIO_SetFunc(), GPIO_SubFuncCmd(), GPIO_InputMOSCmd(), GPIO_AnalogCmd(), GPIO_ExtIntCmd()
    • hash
      • Add HASH_DeInit function
    • hrpwm
      • Modify typo
    • i2c
      • Modify typo
      • Move macro define I2C_SRC_CLK to head file
      • Disable slave address function in I2C_Init()
    • i2s
      • Modify I2S_ClearStatus function
    • interrupts
      • IRQxxx_Handler add __DSB for Arm Errata 838869
      • Modify micro define EIRQCFR_REG and EIRQFR_REG base RM
      • Remove space line
    • keyscan
      • Add function KEYSCAN_DeInit
    • mau
      • Add API MAU_DeInit()
    • mpu
      • Modify typo
      • Optimize MPU_ClearStatus function
    • nfc
      • Modify typo
      • Add API function: EXMC_NFC_Read/EXMC_NFC_Write
      • Typo: featrue -> feature; regsiter, Regster -> register
      • Modify macro: EXMC_NFC_4BIT_ECCS -> EXMC_NFC_4BIT_ECC
      • Change function attributes from local to global: EXMC_NFC_Read/EXMC_NFC_Write
    • ots
      • Modify typo
      • Modify API OTS_DeInit()
    • pwc
      • Modify group PWC_Stop_Type
      • Add function PWC_LVD_DeInit
      • Modify the PWC_LVD_Detection_Voltage_Sel comment
      • Modify typo
      • Add api PWC_LVD_DeInit()
      • Modify API PWC_STOP_Enter() & add assert IS_PWC_STOP_TYPE()
    • qspi
      • Modify return value type of QSPI_DeInit function
      • Optimize QSPI_ClearStatus function
    • rmu
      • Use IS_RMU_UNLOCKED() to assert
    • rtc
      • Modify typo
    • sdioc
      • Modify typo
      • Rename function SDMMC_ACMD41_SendOperatCond to SDMMC_ACMD41_SendOperateCond
      • Rename function SDMMC_CMD1_SendOperatCond to SDMMC_CMD1_SendOperateCond
      • Support CMD5/CMD52/CMD53
      • Rename macro definition SDIOC_ACMD52_RW_DIRECT to SDIOC_CMD52_IO_RW_DIRECT
      • Rename macro definition SDIOC_ACMD53_RW_EXTENDED to SDIOC_CMD53_IO_RW_EXTENDED
      • Modify response type of MMC CMD3
      • Optimize SDIOC_GetMode function
    • smc
      • API EXMC_SMC_DeInit add return value
      • Function EXMC_SMC_DeInit add return value
    • spi
      • Add SPI_SetSckPolarity,SPI_SetSckPhase functions
      • Add group SPI_SCK_Polarity_Define, SPI_SCK_Phase_Define
      • Modify return type of fuction SPI_DeInit
      • Modify SPI_GetStatus,SPI_TxRx,SPI_Tx function
    • sram
      • Modify typo
      • API fixed: SRAM_ClearStatus()
      • API fixed: SRAM_SetWaitCycle()
    • swdt
      • Optimize SWDT_ClearStatus function timeout
    • tmr0
      • Modify typo
    • tmr2
      • Modify typo
    • tmr4
      • Add the macros group @ref TMR4_OC_Output_Polarity
      • Modify typo
      • TMR4_OC_Buffer_Object group add macro-definition: TMR4_OC_BUF_NONE
      • Modify API TMR4_DeInit
      • Fix spell error about "response" that in function name
      • Add function comments: macros group @ref TMR4_OC_Channel
      • Modify function return value comments: TMR4_OC_GetPolarity
      • Modify function parameter comments: TMR4_PWM_SetPolarity
      • Modify function: TMR4_DeInit, TMR4_OC_DeInit, TMR4_PWM_DeInit, TMR4_EVT_DeInit
      • Modify macro-definition: IS_TMR4_OC_BUF_OBJECT
      • Fix magic number of function: TMR4_OC_StructInit
      • Modify fuction:TMR4_PWM_Init
      • Modify comment
    • tmr6
      • Delete union in stc_tmr6_init_t structure
      • Modify macro define for group TMR6_Emb_Ch_Define
      • Add macro define for TMR6_Count_Dir_Status_Define
      • Modify typo
      • Modify API TMR6_GetCountDir()
    • tmra
      • Modify typo
      • Update about split 16bit register TMRA_BCSTR into two 8bit registers TMRA_BCSTRH and TMRA_BCSTRL
      • Delete union in stc_tmra_init_t structure
      • Modify some of member type of struct stc_tmra_init_t and relate fuction about these member
      • Modify macro-definition value for group TMRA_Interrupt_Type/TMRA_Status_Flag
      • Rename marco definition IS_TMRA_CMPVAL_BUF_COND to IS_TMRA_BUF_TRANS_COND
    • trng
      • Add TRNG_Cmd,TRNG_DeInit functions
      • API optimized for better random numbers: TRNG_GenerateRandom()
      • API fixed: rewrite TRNG_GenerateRandom() to Support get multiple random data
      • API optimized for better random numbers: TRNG_GenerateRandom(), TRNG_GetRandom()
      • Add TRNG_Cmd,TRNG_DeInit functions and optimize TRNG_Start function
      • Optimize the processing of discarded data and enable TRNG in TRNG_Init()
    • usart
      • Modify typo
      • Change macro-definition: USART_DR_MPID -> USART_TDR_MPID
      • Modify USART_SetTransType parameter: u32Type -> u16Type
      • Modify USART_SC_ETU_CLK128/256 value
      • Modify return type of function USART_DeInit
      • Remove u32StopBit param from stc_usart_smartcard_init_t structure
      • Add function note: USART_FuncCmd
      • Round off baudrate fraction division
      • Split register USART_DR to USART_RDR and USART_TDR
      • Delete function: USART_GetUsartClockDiv
      • Fix MISRAC2012 warning: USART_GetUsartClockFreq
      • Code Refine
      • Modify return type of function USART_DeInit()
      • Modify USART_SmartCard_Init() for stc_usart_smartcard_init_t has modified(u32StopBit has removed)
      • Fix bug: did not enable MP while USART_MultiProcessor_Init()
      • Re-define IS_USART_SMARTCARD_UNIT
      • API refined: USART_SetBaudrate()
    • usb
      • Modify typo
      • Fix bug for function usb_clearepstall()
    • utility
      • Modify register USART DR to USART TDR
      • Prohibit DDL_DelayMS and DDL_DelayUS functions from being optimized
    • wdt
      • Optimize WDT_ClearStatus function timeout

midwares

  • hc32/iec60730_class_b_stl
    • Modify register USART DR to USART TDR
  • hc32/usb
    • Modify for variable alignment
    • Typo: Initailizes -> Initializes
    • Modify API usb_dev_resume()
    • Modify function usb_susp_isr()
    • Modify for doxygen
    • Replace MAX_CHNUM by USB_MAX_CH_NUM
    • Delete micro define MAX_CHNUM

projects

  • ev_hc32f4a0_lqfp176/applications
    • execute_inplace/qspi_xip
      • SysTick_Handler add __DSB for Arm Errata 838869
    • functional_safety/iec60730_class_b
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Change STL IO test input pin: PA0 -> PH7
      • Initialize XTAL32 using BSP_XTAL32_Init
      • Modify sw_count field of stc_tmra_init_t: u16xxx -> u8xxx
    • iap/iap_app
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Rename function CRC_CalculateData8 to CRC_CRC16_Calculate
    • iap/iap_boot
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Rename function CRC_CalculateData8 to CRC_CRC16_Calculate
    • iap/iap_ymodem_app
      • SysTick_Handler add __DSB for Arm Errata 838869
    • iap/iap_ymodem_boot
      • SysTick_Handler add __DSB for Arm Errata 838869
    • usb/usb_dev_cdc_msc
      • Rename function SDMMC_ACMD41_SendOperatCond to SDMMC_ACMD41_SendOperateCond
      • Do not erase SD card before write operation
    • usb/usb_dev_hid_msc
      • Rename function SDMMC_ACMD41_SendOperatCond to SDMMC_ACMD41_SendOperateCond
      • Do not erase SD card before write operation
    • usb/usb_dev_mouse
      • SysTick_Handler add __DSB for Arm Errata 838869
    • usb/usb_dev_msc
      • Rename function SDMMC_ACMD41_SendOperatCond to SDMMC_ACMD41_SendOperateCond
      • Do not erase SD card before write operation
    • usb/usb_host_cdc
      • SysTick_Handler add __DSB for Arm Errata 838869
    • usb/usb_host_mouse_kb
      • SysTick_Handler add __DSB for Arm Errata 838869
    • usb/usb_host_msc
      • SysTick_Handler add __DSB for Arm Errata 838869
  • ev_hc32f4a0_lqfp176/examples
    • adc/adc_awd
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_base
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_channel_remap
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_dma
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_extended_channel
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_hard_trigger
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_pga
      • Set XTAL as system clock source
      • Modify printf baudrate
    • adc/adc_sample_hold
      • Set XTAL as system clock source
      • Modify printf baudrate
    • aes/aes_base
      • Set XTAL as system clock source
      • Modify printf baudrate
    • can/can_classical
      • SysTick_Handler add __DSB for Arm Errata 838869
    • can/can_fd
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Changed baudrate of data phase from 8Mbps to 5Mbps.
    • can/can_ttcan
      • SysTick_Handler add __DSB for Arm Errata 838869
    • clk/clk_switch_sysclk
      • Modify XTAL32 initialize process, use BSP_XTAL32_Init() to replace Xtal32Init()
    • crc/crc_hw_accumulate_check
      • Add crc_hw_accumulate_check example
    • crc/crc_hw_encode_hw_check
      • Modify for reconstructed API
    • crc/crc_hw_encode_sw_check
      • Modify for reconstructed API
    • ctc/ctc_xtal32_trimming
      • Initialize XTAL32 using BSP_XTAL32_Init
    • dac/dac_base
      • Define DAC_DATA_MAX by resolution
    • dac/dac_sync_mode
      • Define DAC_DATA_MAX by resolution
    • dcu/dcu_sawtooth_wave_mode
      • Sync driver: DCU reload interrupt is always valid
    • dmac/dmac_base
      • Add DMA2_Error_IrqCallback function
    • dvp/dvp_camera_display
      • Re-implement code
    • efm/efm_chip_erase
      • Add efm_chip_erase example
    • efm/efm_dbus
      • Add efm_dbus example
    • efm/efm_otp
      • Modify the process
    • efm/efm_sequence_program
      • Add Customize defintion
      • Re-structure
    • efm/efm_swap
      • Use EFM_GetSwapStatus to judge
    • emb/emb_cmp_brake_timer4
      • Typo: hander -> handler
      • Fix magic number
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_cmp_brake_timer6
      • Modify typo
      • Fix magic number
    • emb/emb_osc_brake_timer4
      • Typo: hander -> handler
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_osc_brake_timer6
      • Modify typo
    • emb/emb_port_brake_timer4
      • Typo: hander -> handler
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_port_brake_timer6
      • Modify typo
    • emb/emb_pwm_brake_timer4
      • Typo: hander -> handler
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_pwm_brake_timer6
      • Modify typo
    • emb/emb_sw_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_sw_brake_timer6
      • Modify typo
    • eth/eth_loopback
      • Modify the process of obtaining PHY status
      • Add MAC interface selection before ETH_DeInit function
      • Disable auto negotiation in low_level_init function
      • SysTick_Handler add __DSB for Arm Errata 838869
    • eth/eth_twoboards
      • Add MAC interface selection before ETH_DeInit function
      • SysTick_Handler add __DSB for Arm Errata 838869
    • exmc/exmc_dmc_sdram_is42s16400j7tli
      • Modify EXCLK frequency: 60MHz -> 30MHz
      • Fix typos
      • Fix memory address printf value
    • exmc/exmc_sdram_sram
      • Modify EXCLK frequency: 60MHz -> 30MHz
      • Fix typos
      • Fix memory address printf value
    • exmc/exmc_smc_lcd_nt35510
      • Change EXCLK freqeuncy to 30MHz
    • exmc/exmc_smc_sram_is62wv51216
      • Modify EXCLK frequency: 60MHz -> 30MHz
      • Fix typos and modify file brief
      • Fix memory address printf value
    • hash/hash_base
      • Set XTAL as system clock source
      • Modify printf baudrate
    • hash/hash_hmac
      • Set XTAL as system clock source
      • Modify printf baudrate
    • hrpwm/hrpwm_output
      • Modify for Peripheral clock command process
    • i2c/i2c_master_dma
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Add definition I2C_ADDR_MD as address condition select
      • Configure DMA interrupt disable in I2C_DMA_Initialize() function
    • i2c/i2c_master_int
      • SysTick_Handler add __DSB for Arm Errata 838869
    • i2c/i2c_master_polling
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Add definition I2C_ADDR_MD as address condition select
    • i2c/i2c_slave_dma
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Add definition I2C_ADDR_MD as address condition select
      • Configure DMA interrupt disable in I2C_DMA_Initialize() function
    • i2c/i2c_slave_int
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Add definition I2C_ADDR_MD as address condition select
    • i2c/i2c_slave_polling
      • SysTick_Handler add __DSB for Arm Errata 838869
      • Add definition I2C_ADDR_MD as address condition select
    • icg/icg_wdt_interrupt_hw_startup
      • Add delay before WDT_GetStatus function
    • intc/intc_nmi_xtalstop
      • NMI_Handler add __DSB for Arm Errata 838869
    • mpu/mpu_core_write_protect
      • Fixed parameters error of Core_MPU_Region_Size
      • MemManage_Handler add __DSB for Arm Errata 838869
      • Modify trigger condition for RTC protection
      • Optimize RTC init sequence
    • mpu/mpu_dma_write_protect
      • NMI_Handler add __DSB for Arm Errata 838869
      • Remove key jitter
    • mpu/mpu_ip_read_protect
      • BusFault_Handler add __DSB for Arm Errata 838869
      • Optimize RTC init sequence
    • ots/ots_base
      • Set XTAL as system clock source
      • Modify printf baudrate
    • ots/ots_scaling_experiment
      • Set XTAL as system clock source
      • Modify printf baudrate
    • pwc/pwc_lpc
      • Modify typo
      • Clear wake up event flag in PdMode_Init() function
    • pwc/pwc_stop_wake
      • Support PWC_STOP_WFE
    • rtc/rtc_alarm
      • Optimize RTC init sequence
      • Replace XTAL32_ClkInit to BSP_XTAL32_Init
    • rtc/rtc_calendar
      • Optimize RTC init sequence
      • Modify the judgment condition for RTC operation status
    • rtc/rtc_calibration_output
      • Optimize RTC init sequence
      • Replace XTAL32_ClkInit to BSP_XTAL32_Init
    • rtc/rtc_intrusion_detect
      • Optimize RTC init sequence
      • Replace XTAL32_ClkInit to BSP_XTAL32_Init
    • rtc/rtc_low_power
      • Optimize RTC init sequence
      • Delete XTAL32_ClkInit
    • sdioc/sdioc_mmc
      • Modify RCA value about EMMC device
      • Rename function SDMMC_CMD1_SendOperatCond to SDMMC_CMD1_SendOperateCond
      • Rename MMC_CARD_STAT_PAG to MMC_CARD_STAT_PGM
    • sdioc/sdioc_sd
      • Rename function SDMMC_ACMD41_SendOperatCond to SDMMC_ACMD41_SendOperateCond
    • sdioc/sdioc_sdio
      • Add sdioc_sdio example
    • spi/spi_dma
      • Modify the IO properties of SPI
    • spi/spi_int
      • Modify the IO properties of SPI
      • Modify rx interrupt priority of SPI
    • spi/spi_polling
      • Modify the IO properties of SPI
      • Replace the tx&rx function of SPI
    • sram/sram_error_check
      • NMI_Handler add __DSB for Arm Errata 838869
    • systick/systick_int
      • SysTick_Handler add __DSB for Arm Errata 838869
    • timer0/timer0_basetimer
      • Replace XTAL32_Config to BSP_XTAL32_Init
    • timer2/timer2_capture
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
    • timer2/timer2_clock_source
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
    • timer4/timer4_event_compare
      • Update TMR4 event: EVT_SRC_TMR4_1_SCMP_UH -> EVT_SRC_TMR4_1_SCMP0
    • timer4/timer4_event_delay
      • Update TMR4 event: EVT_SRC_TMR4_1_SCMP_UH -> EVT_SRC_TMR4_1_SCMP0
    • timer4/timer4_pwm_through
      • Modify the initial configuration to achieve 0% or 100% duty cycle
    • timer6/timer6_capture
      • Modify the PWM stop polarity as high
    • timer6/timer6_capture_dual_buf
      • Modify the PWM stop polarity as high
    • timer6/timer6_cmp_deadtime
      • Remove redundant code
    • timer6/timer6_cmp_sawtooth
      • Remove redundant code
    • timer6/timer6_cmp_sawtooth_dual_buf
      • Remove redundant code
    • timer6/timer6_cmp_triangular_buf
      • Remove redundant code
    • timer6/timer6_define_pwm_number
      • Modify for Peripheral clock command process
    • timer6/timer6_hw_code_cnt
      • Modify debug info
    • timer6/timer6_pulse_encoder_z_count
      • Add timer6_pulse_encoder_z_count example
    • timera/timera_base_timer
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
    • timera/timera_capture
      • Set XTAL as system clock source
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
      • Modify uart baudrate:19200->115200
    • timera/timera_cascade_count
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
    • timera/timera_compare_value_buffer
      • Set XTAL as system clock source
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
      • Modify uart baudrate:19200->115200
    • timera/timera_pulse_encoder_z_count
      • Add timera_pulse_encoder_z_count example
    • timera/timera_pwm
      • Refine code due to some of member type of struct stc_tmra_init_t is changed
    • trng/trng_base
      • Set XTAL as system clock source
      • Modify printf baudrate
    • usart/usart_clocksync_dma
      • Add usart_clocksync_dma example
    • usart/usart_smartcard_atr
      • Remove u32StopBit from stcSmartCardInit structure
    • usart/usart_uart_dma
      • Split register USART_DR to USART_RDR and USART_TDR
    • usart/usart_uart_multiprocessor
      • Optimize the RX process
    • wdt/wdt_interrupt_sw_startup
      • Add delay before WDT_GetStatus function

utils


V2.1.0 Jan 15, 2023

documents

drivers

  • bsp/components
    • gt9xx
      • Add gt9xx component
    • nt35510
      • Compliant LCD drive IC: NT35310
  • bsp/ev_hc32f4a0_lqfp176
    • Add configuration of XTAL IO as analog function
    • Add XTAL/XTAL32 IO define
    • Re-define macro: BSP_KEY_KEY10_WAKEUP
    • Add gt9xx bsp
    • Add timing comments
    • Optimize timing parameters
    • Optimize function arguments
    • Update function arguments
    • Add macro-define:LIN & smartcard
    • Initialize CS state
  • cmsis/Device
    • Modify headfile register address and register name based on reference manual Rev1.13
    • Delete the __low_level_init function of IAR and Sub$main function of MDK
  • hc32_ll_driver
    • generic
      • Modify version as 2.1.0
      • Implemented the definition of __NO_INIT for AC6 and ARM Compiler
      • ARM Compiler suppress warning message: diag_1296
    • interrupts_share
      • Rename I2Cx_Error_IrqHandler as I2Cx_EE_IrqHandler
      • Refine TMRA CMP DCU MAU share handler
    • adc
      • Modify macro group definition: ADC_Scan_Mode, ADC_Sync_Unit, ADC_Sync_Mode
      • API fixed: ADC_DeInit()
    • aos
      • Modified parameters name of API AOS_CommonTriggerCmd() and AOS_SetTriggerEventSrc()
      • Macro name modified: from IS_AOS_TRIG_SEL to IS_AOS_TARGET
      • Modified parameters name and comments of AOS_CommonTriggerCmd() and AOS_SetTriggerEventSrc()
    • can
      • Deleted redundant comments
      • Remove CAN_FLAG_RX_BUF_OVF from CAN_FLAG_CLR_ALL
      • API fixed: CAN_FillTxFrame(), CAN_GetStatus(), CAN_ClearStatus()
    • clk
      • Refine stc_clock_freq_t
      • Fixed bug# GetClockFreq() API xtal32 value
      • Modified CLK_PLLN_DEFAULT value
      • Optimize API CLK_SetCANClockSrc(), add assert IS_PWC_UNLOCKED()
    • cmp
      • Modify structure stc_cmp_window_init_t
      • Modify macro define for API
    • crc
      • Add waiting time after write CRC data
    • dac
      • Modify function: DAC_AMPCmd
      • Modify function: DAC_AMPCmd and add assert
      • Synchronize register: EN->E,ADPSL->ADCSL,ALIGN->DPSEL
    • dcu
      • Modify macro group comments: DCU_Interrupt_Type
      • Synchronize register: DCU_INTSEL -> DCU_INTEVTSEL
      • Modify function comments: DCU_IntCmd
    • dma
      • Modify DMA_StructInit() default value
      • Modify API DMA_DeInit and add LLP address assert
    • efm
      • Add Flash protect level define
      • Code refine
      • Use define to replace magic data
      • Add API EFM_Protect_Enable & EFM_WriteSecurityCode
      • Modify API EFM_Read & EFM_Program
    • emb
      • Modify structure comments:stc_emb_monitor_tmr_pwm_t
      • Optimize function: EMB_TMR4_Init
      • Optimize function: EMB_TMR6_Init
    • fcm
      • Modify parameter check for reference clock source
    • gpio
      • Add API GPIO_AnalogCmd() and GPIO_ExIntCmd()
    • i2c
      • Add API I2C_SlaveAddrCmd()
      • Add API I2C_SlaveAddrCmd(), modify API I2C_SlaveAddrConfig()
    • icg
      • Delete ICG2 function
    • interrupts
      • Delete comment code
      • Add macro-definition: EIRQFR_REG/NMIENR_REG/INTWKEN_REG
    • mpu
      • Update define base on new head file
      • Modify IS_MPU_SP_START_ADDR & SP start address
    • ots
      • API fixed: OTS_CalculateTemp()
    • pwc
      • Refine API PWC_STOP_Enter()
      • Modify API PWC_HighSpeedToLowSpeed() base umRev1.13
      • Optimize API PWC_STOP_ClockSelect() & comment
    • qspi
      • Modify the conditions for entering direct communication mode
    • smc
      • Modify EXMC_SMC_StructInit, EXMC_SMC_Init, EXMC_SMC_GetChipConfig
      • Delete function comments: EXMC_SMC_Chipx
    • spi
      • Add frame level processing for API SPI_TxRx(),SPI_Tx()
    • sram
      • Deleted redundant comments
    • tmr2
      • Deleted redundant comments
    • tmr4
      • Update API parameter u16IntType to u32IntType
      • Modify macro-define: TMR4_OCSR_MASK
      • Re-name parameter u16IntType to u32IntType
      • Add RCSR register data type
    • tmr6
      • Modify structure stc_tmr6_deadtime_config_t
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
      • Modify macro define for group TMR6_Emb_Ch_Define
      • Modify macro define for group TMR6_hardware_xxx_condition_Define
      • Modify macro define for group TMR6_HW_Count_xx_Cond_Define
      • Modify macro define for group TMR6_Valid_Period_Count_Cond_Define
      • Modify API TMR6_SetFilterClockDiv()
      • Define variable in the beginning of the function
    • tmra
      • Comments optimization
    • trng
      • API fixed: TRNG_Init()
    • usart
      • Optimize UART DIV_Fraction calculation time
      • Fix bug: expressions may cause overflow when calculate UART DIV_Fraction
    • usb
      • Add USB core ID select function
      • Delete comment
      • Add USB DMA function
    • utility
      • Support re-target printf for IAR EW version 9 or later

midwares

  • hc32/iec60730_class_b_stl
    • Optimize macros definitions
    • Modify USART_SR_TXE to USART_SR_TC in STL_ConsoleOutputChar()
    • Fix warning: MISRAC2012-Rule-18.4
    • Fix bug: Reading CC Build CRC32 value is error in release project
  • hc32/usb
    • Add USB core ID select function
    • Modify for MISRAC
    • Delete comment
    • Fix bug for USB endpoint GET_STATUS request
    • Modify for variable alignment
    • Add bot xfer error processing
    • Remove msc bot reset operation
    • Optimize for device insert detection
    • Remove the judgment of ErrCnt when xfer error

projects

  • ev_hc32f4a0_lqfp176/applications
    • functional_safety/iec60730_class_b
      • Add VBAT initialization
      • Add configuration of XTAL32 IO as analog function
    • iap/iap_boot
      • Add configuration of XTAL IO as analog function
    • iap/iap_ymodem_boot
      • Add configuration of XTAL IO as analog function
      • Add print strings for download and upload completion
    • usb/usb_dev_cdc
      • Modify for MISRAC
      • Add USB core ID select function
      • Modify DEV_MANUFACTURER_STRING
    • usb/usb_dev_cdc_msc
      • Modify for MISRAC
      • Add USB core ID select function
      • Using micro SD card as memory and support USB HS
      • Add usb_dev_cdc_msc application
      • Modify the error of CSD parameter calculation
      • Modify DEV_MANUFACTURER_STRING
      • Modify Vendor Identification
    • usb/usb_dev_hid_cdc
      • Modify for MISRAC
      • Add USB core ID select function
      • Modify DEV_MANUFACTURER_STRING
    • usb/usb_dev_hid_custom
      • Add USB core ID select function
      • Modify DEV_MANUFACTURER_STRING
    • usb/usb_dev_hid_msc
      • Add USB core ID select function
      • Using micro SD card as memory and support USB HS
      • Add usb_dev_hid_msc application
      • Modify the error of CSD parameter calculation
      • Modify DEV_MANUFACTURER_STRING
      • Modify Vendor Identification
    • usb/usb_dev_mouse
      • Add USB core ID select function
      • Modify DEV_MANUFACTURER_STRING
    • usb/usb_dev_msc
      • Add USB core ID select function
      • Using micro SD card as memory and support USB HS
      • Add usb_dev_msc application
      • Modify the error of CSD parameter calculation
      • Modify DEV_MANUFACTURER_STRING
      • Modify Vendor Identification
    • usb/usb_host_cdc
      • Add USB core ID select function
    • usb/usb_host_mouse_kb
      • Add USB core ID select function
    • usb/usb_host_msc
      • Add USB core ID select function
      • Support LFN print
      • Fix bug for device disconnect detect
  • ev_hc32f4a0_lqfp176/examples
    • adc/adc_awd
      • Comment fixed
    • adc/adc_base
      • Add configuration of XTAL IO as analog function
      • Add configuration usage of sampling time
    • can/can_classical
      • CAN_IrqCallback() fixed
    • can/can_fd
      • CAN_IrqCallback() fixed
    • can/can_ttcan
      • CAN_IrqCallback() fixed
    • clk/clk_switch_sysclk
      • Add configuration of XTAL and XTAL32 IO as analog function
    • clk/clk_xtalstop_detect
      • Add configuration of XTAL IO as analog function
    • cmp/cmp_normal_blankwindow
      • Modify for driver update
    • cmp/cmp_normal_int
      • Modify for driver update
    • cmp/cmp_window
      • Modify for driver update
    • ctc/ctc_ctcref_trimming
      • Add configuration of XTAL IO as analog function
    • ctc/ctc_xtal32_trimming
      • Add configuration of XTAL and XTAL32 IO as analog function
    • ctc/ctc_xtal_trimming
      • Add configuration of XTAL IO as analog function
    • dac/dac_base
      • Simplify the dac base example
    • dac/dac_sync_mode
      • Add dac_sync_mode example
    • efm/efm_protect
      • Add efm_protect example
    • emb/emb_cmp_brake_timer4
      • Sync CMP and DAC driver
    • emb/emb_cmp_brake_timer6
      • Sync CMP and DAC driver
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • emb/emb_osc_brake_timer4
      • Add configuration of XTAL IO as analog function
    • emb/emb_osc_brake_timer6
      • Add configuration of XTAL IO as analog function
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • emb/emb_port_brake_timer6
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • emb/emb_pwm_brake_timer6
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • emb/emb_sw_brake_timer6
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • eth/eth_loopback
      • Delect RX_ER Pin in RMII mode
    • eth/eth_twoboards
      • Add configuration of XTAL IO as analog function
    • exmc/exmc_dmc_sdram_is42s16400j7tli
      • Initialize buffer with random data
    • exmc/exmc_nfc_nandflash_mt29f2g08ab
      • Initialize buffer with random data
    • exmc/exmc_sdram_sram
      • Add exmc_sdram_sram example
    • exmc/exmc_smc_lcd_nt35510
      • Add exmc_smc_lcd_nt35510 example
    • exmc/exmc_smc_sram_is62wv51216
      • Initialize buffer with random data
    • fcm/fcm_freq_measure
      • Add configuration of XTAL and XTAL32 IO as analog function
      • Modify print process after clear flag in IRQ handle
      • Modify reference clock for SWDTLRC
    • hrpwm/hrpwm_output
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • i2c/i2c_master_dma
      • Add i2c_master_dma example
    • i2c/i2c_master_int
      • Modify LED blink time
    • i2c/i2c_master_polling
      • Modify LED blink time
    • i2c/i2c_slave_dma
      • Add i2c_slave_dma example
    • i2c/i2c_slave_int
      • Modify LED blink time
    • i2c/i2c_slave_polling
      • Modify LED blink time
    • icg/icg_swdt_interrupt_hw_startup
      • Exchange LED color
    • icg/icg_wdt_interrupt_hw_startup
      • Exchange LED color
    • intc/intc_nmi_xtalstop
      • Add configuration of XTAL IO as analog function
    • ots/ots_base
      • Print log fixed
    • pwc/pwc_lpc
      • Code refine
    • pwc/pwc_lvd
      • Add filter configure to LVD initialize
    • pwc/pwc_stop_wake
      • Code refine
    • rtc/rtc_alarm
      • Add configuration of XTAL32 IO as analog function
    • rtc/rtc_calibration_output
      • Add configuration of XTAL32 IO as analog function
    • rtc/rtc_intrusion_detect
      • Add configuration of XTAL32 IO as analog function
    • rtc/rtc_low_power
      • Add configuration of XTAL32 IO as analog function
    • sdioc/sdioc_mmc
      • Add configuration of XTAL IO as analog function
      • Add the function to get extended CSD register
    • sdioc/sdioc_sd
      • Add configuration of XTAL IO as analog function
      • Modify the error of CSD parameter calculation
    • swdt/swdt_interrupt_sw_startup
      • Exchange LED color
    • timer0/timer0_basetimer
      • Add configuration of XTAL32 IO as analog function
    • timer2/timer2_capture
      • Macro definition fixed
    • timer4/timer4_counter_sawtooth
      • Fix MISRA warning: MISRAC2012-Rule-10.3
    • timer6/timer6_capture
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
      • Modify macro define for group TMR6_hardware_xxx_condition_Define
    • timer6/timer6_capture_dual_buf
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
      • Modify macro define for group TMR6_hardware_xxx_condition_Define
    • timer6/timer6_cmp_deadtime
      • Modify structure stc_tmr6_deadtime_config_t
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • timer6/timer6_cmp_sawtooth
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • timer6/timer6_cmp_sawtooth_dual_buf
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • timer6/timer6_cmp_triangular_buf
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • timer6/timer6_define_pwm_number
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • timer6/timer6_hw_code_cnt
      • Modify macro define for group TMR6_HW_Count_xx_Cond_Define
    • timer6/timer6_hw_sta_stp_clr
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
      • Modify macro define for group TMR6_hardware_xxx_condition_Define
    • timer6/timer6_sw_sync
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
      • Code refine for peripheral clock command
    • timer6/timer6_valid_period
      • Modify structure stc_timer6_init_t to stc_tmr6_init_t
    • timera/timera_base_timer
      • Comments fixed
    • timera/timera_capture
      • TMRA_IrqCallback(): comment fixed, print log fixed
    • timera/timera_pwm
      • Comment fixed
    • usart/usart_clocksync_int
      • Read USART_DR.RDR when USART overrun error occur
    • usart/usart_smartcard_atr
      • Add delay time for smartcard cold reset
      • Read USART_DR.RDR when USART overrun error occur.
    • usart/usart_uart_dma
      • Delete the redundant code
      • Read USART_DR.RDR when USART overrun error occur.
      • Update UART timeout function calculating formula for Timer0 CMP value
    • usart/usart_uart_halfduplex_int
      • Read USART_DR.RDR when USART overrun error occur
    • usart/usart_uart_int
      • Read USART_DR.RDR when USART overrun error occur
    • usart/usart_uart_multiprocessor
      • Read USART_DR.RDR when USART overrun error occur
    • usart/usart_uart_polling
      • Read USART_DR.RDR when USART overrun error occur
    • wdt/wdt_interrupt_sw_startup
      • Exchange LED color

utils


V2.0.0 Mar 31, 2022

  • Initial release.