362 lines
15 KiB
Markdown
362 lines
15 KiB
Markdown
# 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
|
||
- 2. Integrated u32FdIso into u32FrameFormat.
|
||
- 3. Removed API MCAN_SetFdIsoOperation(), added API MCAN_SetFrameFormat().
|
||
- 4. Optimized the handling of the parameter stc_mcan_filter_t.u32FilterIndex
|
||
- 5. Add 5 APIs for better get protocol status(register PSR):
|
||
- MCAN_GetTdcValue(), MCAN_GetDataLastErrorCode(), MCAN_GetLastErrorCode(),
|
||
- MCAN_GetComState(), MCAN_GetProtocolFlagStatus()
|
||
- 6. Changed u8Activity of stc_mcan_protocol_status_t to u8ComState.
|
||
- 7. Changed MCAN_Comm_State to MCAN_Com_State and optimized the macros definitions.
|
||
- 8. Changed u8MsgStorageIndex of stc_mcan_hpm_status_t to u8MsgIndex. Optimized MCAN_HPM_Storage macros definitions.
|
||
- 7. Changed u8MsgStorageIndex of stc_mcan_hpm_status_t to u8MsgIndex.
|
||
- 8. Optimized local function MCAN_FilterInitConfig()
|
||
- 9. 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. |