rt-thread-official/bsp/hc32/libraries/hc32f448_ddl/ChangeLog.md

15 KiB
Raw Blame History

Update History


V1.1.0 Dec 15, 2023

documents

drivers

  • bsp/components
    • 24cxx
      • Add null pointer check
    • gt9xx
      • Add null pointer check
    • nt35510
      • Add null pointer check
    • tca9539
      • Add null pointer check
    • w25qxx
      • Add null pointer check
  • bsp/ev_hc32f448_lqfp80
    • Add API BSP_XTAL32_Init()
    • Optimize function BSP_I2C_Init()
    • Update EXCLK clock frequency: 100MHz -> 50MHZ in function BSP_CLK_Init()
    • Add include file named hc32_ll_fcm.h and add declaration of BSP_XTAL32_Init()
    • Modify I2C baudrate: 400000 -> 100000
    • Modify the timing: EXCLK 100MHz -> 40MHz
  • cmsis/Device
    • Optimize TMR4_OCMRxx
    • Rename EMB_CTL1 register bit: SRAMERREN -> SRAMECCERREN
  • hc32_ll_driver
    • adc
      • Modify typo
      • API fixed: ADC_DeInit()
      • Add declaration of API ADC_MxChCmd(), ADC_ConvDataAverageMxChCmd(), and add defgroup ADC_Mx_Channel
      • Add declaration of API ADC_GetResolution()
      • Add API ADC_MxChCmd(),ADC_ConvDataAverageMxChCmd
      • Add API ADC_GetResolution()
    • clk
      • Modify comment
      • Refine API CLK_XtalStdInit. and add API CLK_XtalStdCmd, CLK_SetXtalStdExceptionType
      • Modify API CLK_Xtal32Cmd(), CLK_MrcCmd() and CLK_LrcCmd(), use DDL_DelayUS() to replace CLK_Delay()
    • cmp
      • Modify typo
    • ctc
      • Modify typo
    • dac
      • Refine data validation
      • Add assert for set DAC source and modify IS_AMP_CTRL_ALLOWED()
    • dbgc
      • Remove API DBGC_GetChipID()
      • Add macro definition DBGC_Trace_Mode
      • Add declaration of API DBGC_TraceIoCmd,DBGC_TraceModeConfig
      • Remove API DBGC_GetChipID()A
      • Add assert to DBGC_PeriphCmd & DBGC_Periph2Cmd
      • Add assert IS_DGBC_TRACE_MD and add API DBGC_TraceIoCmd,DBGC_TraceModeConfig
    • dcu
      • Modify typo
      • Modify function DCU_IntCmd() for misra
    • dma
      • Add API DMA_SetDataWidth()
      • Delete group DMA_AHB_HPROT_Config
      • Delete API DMA_AHB_HProtPrivilegeCmd()
      • Modify API input param type:u16->u32
      • Add structure stc_dma_rc_nonseq_init_t
      • Add API DMA_ReconfigNonSeqStructInit() & DMA_ReconfigNonSeqInit()
      • Optimize set blocksize & repeat count process
      • Add DMA Repeat size assert
      • Use macros replace immediate data, modify IS_DMA_NON_SEQ_TRANS_CNT
    • efm
      • Rename EFM_DataCacheResetCmd() as EFM_CacheRamReset() and modify comment
      • Optimized macro group EFM_Remap_Size definitions
      • Add structure of stc_efm_location_t and declaration of API EFM_GetWaferID(), EFM_GetLocation(), EFM_GetLotID()
      • Modify typo
      • Remove address assert from EFM_ReadByte()
      • Refine EFM_SequenceProgram() & EFM_ChipErase(), and put them in RAM
      • Add API EFM_GetWaferID(), EFM_GetLocation(), EFM_GetLotID()
      • Modify flash sector number defined and API EFM_SequenceSectorOperateCmd()
    • emb
      • Update EMB_CTL1_CMPEN0~3 to EMB_CTL1_CMPEN1~4
      • Add stc_emb_monitor_sys_t to combine osc, sram, lockup, lvd
      • Replace macro: EMB_CTL1_SRAMERREN -> EMB_CTL1_SRAMECCERREN
      • Add marco EMB_FLAG_CLR_ALL
      • Function EMB_TMR4_Init don't call EMB_DeInit
      • Function EMB_TMR6_Init don't call EMB_DeInit
      • Modify stc_emb_monitor_sys_t structure relevant code
      • Modify API EMB_ClearStatus assert
    • gpio
      • Modify GPIO_SetFunc()
      • Rename GPIO_ExIntCmd() as GPIO_ExtIntCmd
      • Optimize API: GPIO_Init(), GPIO_SetFunc(), GPIO_SubFuncCmd(), GPIO_InputMOSCmd(), GPIO_AnalogCmd(), GPIO_ExtIntCmd()
      • Add assert for GPIO register lock status in API GPIO_AnalogCmd(), GPIO_ExtIntCmd()
    • i2c
      • Move macro define I2C_SRC_CLK to head file and add marco I2C_WIDTH_MAX_IMME
      • Rename I2C_FIFO_FLAG_xx as I2C_FLAG_xx_FIFO_xx, I2C_INT_RFREQ as I2C_INT_RX_FIFO_REQ
      • Adjust I2C_FLAG_ALL & I2C_FLAG_CLR_ALL & I2C_INT_ALL
      • Add I2C_Flag_Clear def group
      • Remove API I2C_FIFO_ClearRequestStatus() & I2C_FIFO_GetStatus
      • Fix I2C_Deinit
      • Move macro define I2C_SRC_CLK to head file
      • Modify I2C_Restart()
      • Refine I2C Flag & API I2C_SlaveAddrConfig/I2C_SlaveMaskAddrConfig
    • icg
      • Modify macro defineICG_SWDT_LPM_CNT_CONTINUE -> ICG_SWDT_LPM_CNT_CONT
    • interrupts
      • Add declaration of API INTC_GetIntSrcState()
      • Remove space line
      • Add API INTC_GetIntSrcState()
    • mcan
      • Removed definitions related to BEC and BEU.
      • Optimized driver:
        1. Integrated stc_mcan_classic_config_t and stc_mcan_fd_config_t into stc_mcan_bit_time_config_t
        1. Integrated u32FdIso into u32FrameFormat.
        1. Removed API MCAN_SetFdIsoOperation(), added API MCAN_SetFrameFormat().
        1. Optimized the handling of the parameter stc_mcan_filter_t.u32FilterIndex
        1. Add 5 APIs for better get protocol status(register PSR):
      • MCAN_GetTdcValue(), MCAN_GetDataLastErrorCode(), MCAN_GetLastErrorCode(),
      • MCAN_GetComState(), MCAN_GetProtocolFlagStatus()
        1. Changed u8Activity of stc_mcan_protocol_status_t to u8ComState.
        1. Changed MCAN_Comm_State to MCAN_Com_State and optimized the macros definitions.
        1. Changed u8MsgStorageIndex of stc_mcan_hpm_status_t to u8MsgIndex. Optimized MCAN_HPM_Storage macros definitions.
        1. Changed u8MsgStorageIndex of stc_mcan_hpm_status_t to u8MsgIndex.
        1. Optimized local function MCAN_FilterInitConfig()
        1. When the frame to be transmitted is a remote frame, do not write the data field to the message RAM.
      • When the received frame is a remote frame, do not read the data field from the message RAM.
      • Optimized comments.
    • mpu
      • Add structure stc_mpu_unit_init_t, and declaration of MPU_UnitInit(), MPU_UnitStructInit()
      • Refine def group MPU_Flag
      • Optimize MPU_ClearStatus function
      • Add API MPU_UnitInit(), MPU_UnitStructInit()
    • pwc
      • Modify group PWC_Stop_Type
      • Add function PWC_LVD_DeInit
      • Modify the PWC_LVD_Detection_Voltage_Sel comment
      • Modify PWC_RAM_PD_CAN1 as PWC_RAM_PD_MCAN
      • Refine API PWC_SLEEP_Enter()
      • Remove redundant assert
      • Modify API PWC_PD_Enter() #use assert to replace the unlock, and add return value
      • Modify API PWC_WKT_SetCompareValue()
      • Refine PWC_SLEEP_Enter()
      • Add API PWC_PD_SetIoState() & PWC_PD_SetMode()
    • qspi
      • Optimize QSPI_ClearStatus function
    • spi
      • Rename SPI_FLAG_OVERLOAD as SPI_FLAG_OVERRUN, SPI_FLAG_UNDERLOAD as SPI_FLAG_UNDERRUN
      • Modify some assert
      • Rename some API SPI_xxxConfig as SPI_Setxxx
      • Add Send restriction in SPI_TxRx function
    • sram
      • Modify typo
      • Refine def group SRAM_ECC_Mode, and refine def group SRAM_Err_Mode as SRAM_Exception_Type
      • Remove wait cycle relevant code
      • API fixed: SRAM_ClearStatus()
      • Refine SRAM_SetEccMode, and refine SRAM_SetErrorMode() as SRAM_SetExceptionType
    • swdt
      • Modify macro define: SWDT_LPM_CNT_CONTINUE -> SWDT_LPM_CNT_CONT
      • Optimize SWDT_ClearStatus function timeout
    • tmr6
      • Modify macro define for group TMR6_Emb_Ch_Define
      • Modify for headfile update: CM_TMR6CR -> CM_TMR6_COMMON
      • Modify typo
    • usart
      • Remove u32StopBit param from stc_usart_smartcard_init_t structure
      • Add the declaration of API USART_GetFuncState()
      • 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()
      • API refined: USART_SetBaudrate()
      • Add API USART_GetFuncState()
    • utility
      • Modify register USART DR to USART TDR
      • Prohibit DDL_DelayMS and DDL_DelayUS functions from being optimized
    • wdt
      • Modify macro define: WDT_LPM_CNT_CONTINUE -> WDT_LPM_CNT_CONT
      • Optimize WDT_ClearStatus function timeout

midwares

projects

  • ev_hc32f448_lqfp80/applications
    • functional_safety/iec60730_class_b
      • Initialize XTAL32 using BSP_XTAL32_Init
    • iap/iap_boot
      • Removed SRAM wait cycle relevant code
    • iap/iap_ymodem_boot
      • Removed SRAM wait cycle relevant code
  • ev_hc32f448_lqfp80/examples
    • adc/adc_awd
      • Set XTAL as system clock source
    • adc/adc_base
      • Set XTAL as system clock source
    • adc/adc_buffer_mode
      • Set XTAL as system clock source
    • adc/adc_channel_remap
      • Set XTAL as system clock source
    • adc/adc_dma
      • Set XTAL as system clock source
    • adc/adc_hard_trigger
      • Set XTAL as system clock source
    • adc/adc_internal_analog_channel
      • Set XTAL as system clock source
    • adc/adc_over_sample
      • Set XTAL as system clock source
    • adc/adc_sync_mode
      • Removed SRAM wait cycle relevant code
    • aes/aes_base
      • Set XTAL as system clock source
    • clk/clk_switch_sysclk
      • Modify XTAL32 initialize process
      • Removed SRAM wait cycle relevant code
    • clk/clk_xtalstop_detect
      • Use CLK_XtalStdInit() to replace XtalStopDetctInit()
      • Modify XTAL_STOP_IrqCallback
    • ctc/ctc_ctcref_single_trimming
      • Initialize XTAL32 using BSP_XTAL32_Init
    • ctc/ctc_xtal32_trimming
      • Initialize XTAL32 using BSP_XTAL32_Init
    • dmac/dmac_base
      • Optimize DMA2_Error_Handler()
    • dmac/dmac_non_sequence
      • Fixed bug #revert test code.
    • efm/efm_chip_erase
      • Fixed bug # release write protect before sector erase
    • efm/efm_dbus
      • Set API DBUS_Protect_test optimization level
    • efm/efm_sequence_program
      • Re-structure
    • efm/efm_swap
      • Use EFM_GetSwapStatus to judge
    • emb/emb_cmp_brake_timer4
      • Fix magic number
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_cmp_brake_timer6
      • Fix magic number
    • emb/emb_lockup_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
      • Optimize comments: HardFault_Generate and HardFault_Handler
    • emb/emb_lockup_brake_timer6
      • Optimize comments: HardFault_Generate and HardFault_Handler
    • emb/emb_lvd_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_osc_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_port_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_pwm_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • emb/emb_sram_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
      • Optimize the 2nd data in SRAM_GenerateError()
    • emb/emb_sram_brake_timer6
      • Optimize the 2nd data in SRAM_GenerateError()
    • emb/emb_sw_brake_timer4
      • Modify TMR4_PwmConfig: enable main output following PWM initialization
    • event_port/ep_inout
      • Comment revise
    • exmc/exmc_smc_lcd_nt35510
      • Re-implement BSP_CLK_Init()
    • exmc/exmc_smc_sram_is61lv6416
      • Fix typos and modify file brief
      • Fix memory address printf value
      • Re-implement BSP_CLK_Init()
    • exmc/exmc_smc_sram_is61lv6416_dma
      • Add exmc_smc_sram_is61lv6416_dma example
    • hash/hash_base
      • Set XTAL as system clock source
    • i2c/i2c_master_dma
      • Add definition I2C_ADDR_MD as address condition select
      • Configure DMA interrupt disable in I2C_DMA_Initialize() function
    • i2c/i2c_master_polling
      • Add definition I2C_ADDR_MD as address condition select
    • i2c/i2c_master_polling_fifo
      • Add definition I2C_ADDR_MD as address condition select
    • i2c/i2c_slave_dma
      • Remove redundant process for slave address commands
      • Add definition I2C_ADDR_MD as address condition select
      • Configure DMA interrupt disable in I2C_DMA_Initialize() function
    • i2c/i2c_slave_int
      • Remove redundant process for slave address commands
      • Add definition I2C_ADDR_MD as address condition select
    • i2c/i2c_slave_polling
      • Add definition I2C_ADDR_MD as address condition select
    • i2c/i2c_slave_polling_fifo
      • Remove redundant process for slave address commands
      • 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
      • optimize function NMI_Xtal_Init
    • mcan/mcan_classical
      • Updates related to MCAN driver optimization.
      • Peripheral SRAMC not used, removed related code.
      • Code and comments optimized.
    • mcan/mcan_fd
      • Updates related to MCAN driver optimization.
      • Peripheral SRAMC not used, removed related code.
      • Code and comments optimized.
    • mcan/mcan_loopback
      • Optimized the example.
    • mpu/mpu_core_write_protect
      • Fixed parameters error of Core_MPU_Region_Size
      • Modify trigger condition for RTC protection
      • Optimize RTC init sequence
    • mpu/mpu_dma_write_protect
      • Remove key jitter
    • mpu/mpu_ip_read_protect
      • Optimize RTC init sequence
    • pwc/pwc_lpc
      • Disable HRC when enter sleep mode
    • pwc/pwc_stop_wake
      • Delete redundant code
    • qspi/qspi_base
      • Add read function of direct communication mode
    • rtc/rtc_alarm
      • Optimize RTC init sequence
      • Replace XTAL32_ClkInit to BSP_XTAL32_Init
    • rtc/rtc_calendar
      • Optimize RTC init sequence
    • rtc/rtc_calibration_output
      • Optimize RTC init sequence
      • Replace XTAL32_ClkInit to BSP_XTAL32_Init
    • rtc/rtc_low_power
      • Optimize RTC init sequence
    • sram/sram_error_check
      • sample code changed according to driver change
    • timer0/timer0_basetimer
      • Replace XTAL32_Config to BSP_XTAL32_Init
    • timer4/timer4_pwm_through
      • Modify the initial configuration to achieve 0% or 100% duty cycle
    • timer6/timer6_cmp_deadtime
      • Remove redundant code
    • timer6/timer6_cmp_sawtooth
      • Remove redundant code
    • timer6/timer6_cmp_sawtooth_dual_buf
      • Remove redundant code
      • Modify compare register buffer initialization value
    • timer6/timer6_cmp_triangular_buf
      • Remove redundant code
      • Modify compare register buffer initialization value
    • timer6/timer6_pwm_dynamic_dutycycle
      • Add timer6_pwm_dynamic_dutycycle example
    • timer6/timer6_valid_period
      • Modify compare register buffer initialization value
    • timera/timera_capture
      • Set XTAL as system clock source
    • timera/timera_compare_value_buffer
      • Set XTAL as system clock source
    • timera/timera_position_overflow_count
      • Set XTAL as system clock source
    • trng/trng_base
      • TRNG_Handler add __DSB for Arm Errata 838869
      • Add TRNG_Cmd function
      • Set XTAL as system clock source
    • usart/usart_clocksync_dma
      • Fix bug: possible null pointer for ClockSync_DMAConfig parameter pstcHandle
    • usart/usart_smartcard_atr
      • Remove u32StopBit from stcSmartCardInit structure
    • usart/usart_uart_dma
      • Optimize function: USART_TxComplete_IrqCallback
    • usart/usart_uart_multiprocessor
      • Optimize the RX process
    • wdt/wdt_interrupt_sw_startup
      • Add delay before WDT_GetStatus function

utils


V1.0.0 May 31, 2023

  • Initial release.