rt-thread-official/bsp/ht32/libraries/HT32_STD_1xxxx_FWLib/Release_Notes.txt

877 lines
45 KiB
Plaintext

/*********************************************************************************************************//**
* @file Release_Notes.txt
* @version V1.4.1
* @date 2023-10-31
* @brief The Release notes of HT32 Firmware Library.
*************************************************************************************************************
* @attention
*
* Firmware Disclaimer Information
*
* 1. The customer hereby acknowledges and agrees that the program technical documentation, including the
* code, which is supplied by Holtek Semiconductor Inc., (hereinafter referred to as "HOLTEK") is the
* proprietary and confidential intellectual property of HOLTEK, and is protected by copyright law and
* other intellectual property laws.
*
* 2. The customer hereby acknowledges and agrees that the program technical documentation, including the
* code, is confidential information belonging to HOLTEK, and must not be disclosed to any third parties
* other than HOLTEK and the customer.
*
* 3. The program technical documentation, including the code, is provided "as is" and for customer reference
* only. After delivery by HOLTEK, the customer shall use the program technical documentation, including
* the code, at their own risk. HOLTEK disclaims any expressed, implied or statutory warranties, including
* the warranties of merchantability, satisfactory quality and fitness for a particular purpose.
*
* <h2><center>Copyright (C) Holtek Semiconductor Inc. All rights reserved</center></h2>
************************************************************************************************************/
// Supported Device
// ========================================
// HT32F1653, HT32F1654
// HT32F1655, HT32F1656
// HT32F12345
// HT32F12364
// HT32F12365, HT32F12366
// HT32F22366
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.4.1_2982 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2023-10-31
Main Changes
+ Add new example.
- "GPIO/PinLock"
+ Modify examples below, add volatile qualifiers on some variables (in the for loop usage)
to fix the Arm Compiler Version 6 optimization issue.
("u32" to "vu32", unsigned int to volatile unsigned int).
- “PWRCU/PowerDown_WAKEUPPin”
- “PWRCU/PowerDown_RTC”
- “TM/PWM”
+ Modify examples below, use separate "if" statements instead of "if-else" to avoid double-entry ISR.
- "PWRCU/DeepSleepMode1"
- "PWRCU/DeepSleepMode2"
+ Modify "ht32_time.h", "ht32f1xxxx_conf.h" and "ht32_time_conf.h" for "LIBCFG_CKCU_NO_APB_PRESCALER" series.
- To ensure the correct configuration of the timer clock, the "HTCFG_TIME_PCLK_DIV" is redefined as 0.
+ Add "Project or Target File Clearing" functions ("_ClearProject.bat" and "_ClearTarget.bat").
+ Modify "syscall.c" to prevent redundant initialization of the heap index.
+ Modify "ht32f1xxxx_01.h" to add below definition.
- "sc64", "vs64", "vsc64", "uc64", "vu64", "vuc64"
+ Modify PWRCU related define (The left side old one is still kept for backward compatible).
- PWRCU_FLAG_BAKPOR -> PWRCU_FLAG_PWRPOR
+ Modify "RETARGET_Configuration()", add the operation of UxARTn peripheral clock enable.
+ Update and sync "ht32f1xxxx_conf.h", modify related define of UxARTn retarget port.
+ Update "ht32_op.c" and "ht32_op.s" to support new version of bootloader waiting time setting address.
(The setting address is changed from 0x1FF0002C to 0x1FF0004C)
+ Add "ht32_op_V107.c" and "ht32_op_V107.s" to support the use of older versions of bootloader.
+ Add "CKCU_ATCInit()" API for HSI Auto Trim initial function.
+ Update "ht32f1xxxx_adc.c" and "ht32f1xxxx_adc_02.c", modify the ADC enable related flow.
+ Add the below folder, For the BMduino shield/module Keil Driver.
- "BestModules"
Others
+ Update comment, format, typing error, and coding style.
+ Adjust "LIBCFG_xxxxx" definition below.
- "LIBCFG_CKCU_APBCLKFIX" rename to "LIBCFG_CKCU_NO_APB_PRESCALER"
+ Modify the Sourcery G++ Lite toolchain project.
- Set C99 mode to fix issues after updating CMSIS v5.9.0 ("for" loop initial declarations).
+ Update e-Link32 Pro/Lite Command line tool as "V1.19" ("utilities/elink32pro/eLink32pro.exe").
+ Modify "_ProjectConfigScript.bat" to prevent the creation of project that copy unused system/startup files.
+ Update "project_template/Script" for adding project C++ source files and setting the chip model mechanism.
- The updated files are as follows:
"Script/_ProjectSource.bat"
"Script/_ProjectSource.ini"
+ Update "project_template/Script" for improving script mechanism.
- The updated files are as follows:
"Script/_CreateProjectConfScript.bat"
"Script/_CreateProjectScript.bat"
"Script/_ht32_ic_name.ini"
+ Modify and check the example supportability of each IC.
+ Add the below file, for the BMduino shield.
- "ht32_undef_IP.h"
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.3.2_2858 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2023-02-02
Main Changes
+ Add new examples:
- "SRAM_Overwrite/Watchpoint_Heap"
- "SRAM_Overwrite/Watchpoint_Stack"
+ Update "ht32f1xxxx_conf.h" for user layer HSE_VALUE setting.
Others
+ Update comment, format, typing error, and coding style.
+ Modify "system_ht32fxxxxx_nn.c", add HSE_VALUE notice and update PLL Out formula.
+ Update and sync system.c files.
+ Update EEPROM Emulation middleware, improve efficacy and reduce resource usage.
"utilities/middleware/eeprom_emulation.c"
"utilities/middleware/ht32_eeprom_config_templet.h"
+ Update I2C Master middleware, improve setting way and fix minor errors.
"utilities/middleware/i2c_master.c/.h"
"utilities/middleware/i2c_master_config_templet.h"
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.3.1_2808 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2022-12-01
Main Changes
+ Update "ht32_time.h", fix a formula error of "TIME_TICK2US()" and "TIME_TICK2MS()" macro.
+ Modify "ht32_retarget.c", fix retarget can't work when the MicroLIB is not used in Keil's V6 compiler.
+ Modify "ht32_serial.c/.h" and "ht32_retarget.c", fix ITM setting issue.
+ Update "ht32fxxxx_sk.h", add TRACESWO pin assignment for ITM.
+ Update "SPI/PDMA" example, change the order of API execution (SPI_SELOutputCmd() execution before SPI_Cmd()).
+ Update "CSIF/Init" example, modify the datatype form and add comments to explain the length of the Rx buffer.
+ Update following I2C example. (sync. with M0+)
- I2C/7_bit_mode
- I2C/10_bit_mode
- I2C/EEPROM_Simulate
- I2C/Interrupt
- I2C/PDMA
+ GPIO
- Add new define "GPIO_PIN_NUM_n" for GPIO pin number (n = 0 ~ 15).
+ EXTI
- Add "gEXTIn_IRQn[]" and "EXTI_GetIRQn()" macro to map GPIO pin number (0 ~ 15) to "EXTIn_IRQn".
- Add "GPIO2EXTI()" macro to map GPIO pin to EXTI Channel.
- Change "AFIO_EXTISourceConfig()" API, remove "AFIO_EXTI_CH_Enum" and "AFIO_ESS_Enum".
Old: void AFIO_EXTISourceConfig(AFIO_EXTI_CH_Enum AFIO_EXTI_CH_n, AFIO_ESS_Enum AFIO_ESS_Px)
New: void AFIO_EXTISourceConfig(u32 GPIO_PIN_NUM_n, u32 GPIO_Px)
Others
+ Update comment, format, typing error, and coding style.
+ Update "ht32_op.s/.c", allow "Bootloader Waiting Time" function for all series.
+ Update "CKCU/HSI_AutoTrim_By_USB" example, add the following define to "ht32_board_config.h".
- "CKCU_PLL_CFG"
- "CKCU_SYSCLK_DIV_CFG"
+ Upgrade CMSIS to v5.9.0.
+ Modify API parameter check macro of Library Debug Mode, fix parameter check error.
+ Modify variable declaration of "PDMACH_InitTypeDef" to reduce memory size.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.2.1_2753 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2022-10-11
Main Changes
+ Add new examples:
- "I2C/7_bit_mode_master"
- "I2C/7_bit_mode_slave"
+ Add the following API for PDMA.
- "PDMA_DeInit()"
- "PDMA_AddrConfig()"
- "PDMA_SrcAddrConfig()"
- "PDMA_DstAddrConfig()"
- "PDMA_GetRemainBlkCnt()"
+ Add the following API for ADC.
- "ADC_ChannelDataAlign()"
- "ADC_ChannelOffsetValue()"
- "ADC_ChannelOffsetCmd()"
+ Update "ht32_retarget.c", modify the retarget related functions for SEGGER Embedded Studio.
+ Update "FLASH_SetWaitState()" function, disable Pre-fetch and Branch Cache function before change
wait state.
+ Update following middleware.
"utilities/middleware/i2c_master.c/h"
"utilities/middleware/uart_module.c"
Others
+ Update comment, format, typing error, and coding style.
+ Update "BFTM/OneShot" example, fix the register access sequence and time calculation formula.
+ Update "TM/PWM/main.c"
- Add "HTCFG_PWM_TM_RELOAD" check.
- Add PWM channel initial function.
- Remove "_ht32_project_source.h" (Use "_ProjectSource.ini" to add "pwm.c" into project compiling list).
+ Fix the upper/lower case error of #include file name.
+ Update e-Link32 Pro/Lite Command line tool as "V1.18" ("utilities/elink32pro/eLink32pro.exe").
+ Change the project recommended minimum version of SEGGER Embedded Studio from V4.12 to V6.20.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.1.1_2647 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2022-06-10
Main Changes
+ Add following middleware.
"utilities/middleware/spi_module.c"
"utilities/middleware/spi_module.h"
"utilities/middleware/spi_module_config_templet.h"
+ Fixed FW library compatibility with ARM compiler version 6 of MDK-ARM V5.37.
- Add MDK-ARMv537 project template for MDK-ARM V5.37.
- Update "project_template/Script". Those MDK-ARMv537 project templates will be added for use if choose
the target IDE is "Keil MDK-ARMv5". The fixed files are as follows:
"Script/_CreateProjectScript.bat"
"Script/_ProjectConfig.bat"
"Script/_ProjectSource.bat"
- Update "core_cm3.h", fix compiler error.
- Update "FMC/FLASH_OperationNoHalt", fix the compiler issue of Arm Compiler Version V6.18 and the
compiler warning of linker script file. The fixed files are as follows:
"FLASH_OperationNoHalt/main.c"
"FLASH_OperationNoHalt/linker.lin"
- Update following middleware, remove STRCAT3 usage to fix compiler error.
"utilities/middleware/uart_module.c"
"utilities/middleware/i2c_master.c"
"utilities/middleware/spi_module.c"
+ Update "ht32_retarget.c". Implement __write function to fix compiler error in IAR EWARM Version 9.20
or later.
+ Update GNU Arm makefile in the project_template, fix the compatibility issue that the makefile of GNU Arm
Version 11 cannot be compiled.
+ Update EWARM in the project_template, fix the compiler error that header file path doesn't exist in
the file list of Workspace of IAR EWARM Version 7.
+ Fix SPI initial PDMA parameter in the "utilities/common/spi_flash.c".
+ Sync M0+ I2C/EEPROM to fix compiler warning of the GNU compiler.
+ Sync M0+ library\HT32F1xxxx_Driver\inc\ht32_dependency.h.
Others
+ Update comment, format, typing error, and coding style.
+ Update e-Link32 Pro/Lite Command line tool as "V1.16" ("utilities/elink32pro/eLink32pro.exe").
+ Update the following examples to remove compiler warning of the IAR EWARM.
"BFTM\TimeMeasure"
"TM\PWMInput\ht32f1xxxx_01_it.c"
"USBD\HID_Keyboard_Virtual_COM\ht32_usbd_class.c"
"USBD\Mass_Storage_SDIO\sd_disk.c"
"USBD\USB_UAC_Sound\ht32_usbd_class.c"
"USBD\Virtual_COM\ht32_usbd_class.c"
+ Update and sync create project related files ("_ProjectConfig.bat"、"_ProjectConfig.ini").
+ Update content of "project_template/IP/Example/readme.txt", add MDK-ARM V5.37 related information.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.0.10_2585 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2022-04-14
Main Changes
+ Update EEPROM Basic and EEPROM Emulation middleware, fix the include and define sequence.
"utilities/middleware/eeprom_basic.h"
"utilities/middleware/eeprom_emulation.h"
+ Update UART Module middleware, add the "UARTM_IsTxFinished()" API.
"utilities/middleware/uart_module.c"
"utilities/middleware/uart_module.h"
Others
+ Update e-Link32 Pro/Lite Command line tool as "V1.0.15" ("utilities/elink32pro/eLink32pro.exe").
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.0.10_2585 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2022-04-14
Main Changes
+ Update EEPROM Basic and EEPROM Emulation middleware, fix the include and define sequence.
"utilities/middleware/eeprom_basic.h"
"utilities/middleware/eeprom_emulation.h"
+ Update UART Module middleware, add the "UARTM_IsTxFinished()" API.
"utilities/middleware/uart_module.c"
"utilities/middleware/uart_module.h"
Others
+ Update e-Link32 Pro/Lite Command line tool as "V1.0.15" ("utilities/elink32pro/eLink32pro.exe").
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_V1.0.9_2556 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2022-03-15
Main Changes
+ Change to the new Holtek version format (Vm.n.r).
+ Add new "FMC/FLASH_OperationNoHalt" example.
+ Modify "utilities/common/ring_buffer.c", fix the thread-safe issue of "Buffer_GetLength()".
+ Update "GNU_ARM/linker.ld", fix the heap/stack area overlap problem.
+ Add "ADC_SamplingTimeConfig()" function for the "ht32f1xxxx_adc_02.c".
Others
+ Update comment, format, typing error, and coding style.
+ Modify "bool, TRUE, FALSE" define way for C++/.cpp applications.
+ Update "startup_ht32fxxxxx_nn.s", support "USE_HT32_CHIP" define exist at startup.s and project Asm
setting in the same time (project's Asm Define has the higher priority).
+ Remove unuse global variable "DelayTime" of "ebi_lcd.c" and "spi_lcd.c".
+ Update "spi_lcd.c/.h", fix the GPIO Chip SEL define mistake.
+ Add following middleware.
"utilities/middleware/uart_module.c"
"utilities/middleware/uart_module.h"
+ Update related middleware (eeprom_basic and eeprom_emulation).
+ Update e-Link32 Pro/Lite Command line tool as "V1.0.14" ("utilities/elink32pro/eLink32pro.exe").
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_v008_2470 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2021-08-19
Main Changes
+ Add "ht32_time.c/.h" to support following new functions for delay, time measure, and timeout.
"Time_Init()"
"Time_Delay()"
"Time_GetTick()"
+ Add new examples:
- "ADC/OneShot_SWTrigger_ByTM"
- "GPIO/Input"
- "GPIO/Output"
- "Time/TimeFun"
- "Time/TimeFun_UserConf"
- "USART/RS485_NMM_Slave"
+ Add new definition, "FLASH_WAITSTATE_MAX".
+ Add "USART_PARITY_MARK" and "USART_PARITY_SPACE" for the UART parity mode.
+ Update "ADC_RegularTrigConfig()" and "AC_TRIG_XXXX" define to support all the trigger source of ADC.
+ Add "CKCU_ADCPRE_DIV1" parameter of "CKCU_SetADCnPrescaler()" for the HT32F12364.
+ Modified "SDIO_ClearFlag()", disable Status Enable Register (SER) to clear SDIO_FLAG_BUF_OVERFLOW and
SDIO_FLAG_BUF_UNDERFLOW.
+ Fix the result mistake of the marco below of HT32F12364 (LIBCFG_FLASH_2PAGE_PER_WPBIT is missing).
"#define FLASH_WP_PAGE_SET(OP, PAGE)"
"#define FLASH_WP_PAGE_CLEAR(OP, PAGE)"
"#define FLASH_IS_WP_PAGE(OP, PAGE)"
+ Update following example, modify the default value of "gIsINEmpty" from TRUE to FALSE. The default value
TRUE may cause the F/W to not send CSW after the first Inquiry CBW Command in a specific condition.
"example/USBD/HID_Keyboard_Mass_Storage"
"example/USBD/Mass_Storage"
"example/USBD/Mass_Storage_IAP"
"example/USBD/Mass_Storage_SDIO"
Others
+ Update comment, format, typing error, and coding style.
+ Fix compile error when turn on Library debug mode (HT32_LIB_DEBUG = 1).
+ Update e-Link32 Pro Commander to V1.10.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_v007_2414 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2021-05-11
Main Changes
+ Add new examples:
- "EXTI/GPIO_Interrupt"
- "CKCU/HSI_AutoTrim_By_LSE"
+ Update the IAP example of HT32F12364 project:
- IAR EWARM v6/v7/v8:
1. Modify "startup_ht32f1xxxx_03.s" to "startup_ht32f1xxxx_iar_03.s".
2. Modify "ht32f1xxxx_adc.c" to "ht32f1xxxx_adc_02.c".
- Keil MDK-ARM v4/v5: Modify "ht32f1xxxx_adc.c" to "ht32f1xxxx_adc_02.c".
+ Fix the system stuck in CKCU_HSIAutoTrimCmd() because of the misjudgment of CKCU_HSIAutoTrimIsReady().
+ Fix the CHIP ID error. Fixed "USE_HT32_CHIP=3" to "USE_HT32_CHIP=16". The fixed files are as follows:
- IAP/IAP_Text_RAM/EWARM/Project_12364_IAP.ewp
- IAP/IAP_UI/EWARM/Project_12364_IAP.ewp
+ Fix the syntax error on the "IAP/IAP_Text_RAM/EWARM/startup_ht32f1xxxx_iar_03_iap.s".
Others
+ Update comment, format, typing error, and coding style.
+ Update the version of eLink32pro.exe to 1.0.1.1.
+ Update the following project setting:
- IAR EWARM v6/v7: Modify "_ht32_project_source.c" to "_ht32_project_source.h".
- SEGGER Embedded Studio: Add the new definition "arm_compiler_variant="SEGGER"".
/*----------------------------------------------------------------------------------------------------------*/
/* HT32_STD_1xxxx_FWLib_v006_2361 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2021-02-26
Main Changes
+ Add "Create Project Configuration Menu" to choose the target IDE and Device when the first time to do the
create project operation of the example. The configuration file, "_CreateProjectConfig.bat" is saved to
the root path of the HT32 Firmware Library. You can reset the create project IDE/IC configuration anytime
by deleting the configuration file.
Target IDE/Compiler:
- Keil MDK-ARM v5
- Keil MDK-ARM v4
- IAR EWARM v8
- IAR EWARM v6/v7
- SEGGER Embedded Studio
- GNU [with Keil and GNU make]
- SourceryG++Lite [with Keil]
Target Device:
- xxxxx: Single Device
- xxx*: Series
+ Add new examples:
- "NVIC/Disable_Interrupt"
- "TM/InternalTrigger"
- "TM/PWM_Buzzer"
- "WDT/Auto_Enable"
+ Add Flash programming function of GNU Maker (via e-Link32 Pro/Lite Commander).
"make IC=xxxxx eraseall"
"make IC=xxxxx program"
"make IC=xxxxx run"
+ Update "CKCU_HSIAutoTrimCmd()" and "CKCU_HSIAutoTrimIsReady()" function to improve clock stability.
+ Fix the cache address problem of "SDDISK_Read()" function.
"USBD/Mass_Storage/sd_disk.c", "USBD/Mass_Storage_SDIO/sd_disk.c"
+ Update GNU project (*.uvprojx), fix the compile error when use new GNU Arm version
("gcc-arm-none-eabi-10-2020-q2-preview-win32" or above).
+ Fix Keil compiling error when disable both retarget and MicroLib.
+ Update "ht32f1xxxx_01.h", fix the compatibility issue when user include "stdbool.h".
+ Modify GNU compiler settings, output text file (disassembly) after building the code.
+ Add "HT32_FWLIB_VER" and "HT32_FWLIB_SVN" in "ht32f1xxxx_lib.h" for the version information of
HT32 Firmware Library.
Example:
"#define HT32_FWLIB_VER (006)"
"#define HT32_FWLIB_VER (2361)"
+ Add new AFIO define in "ht32f1xxxx_gpio.h".
- "AFIO_FUN_MCTM1"
- "AFIO_FUN_PWM"
- "AFIO_FUN_PWM0", "AFIO_FUN_PWM1", "AFIO_FUN_PWM2", "AFIO_FUN_PWM3"
+ Add following alias of MCTM IRQ handler
"#define MCTM0_IRQn MCTM0UP_IRQn"
"#define MCTM0_IRQHandler MCTM0UP_IRQHandler"
"#define MCTM1_IRQn MCTM1UP_IRQn"
"#define MCTM1_IRQHandler MCTM1UP_IRQHandler"
Others
+ Update comment, format, typing error, and coding style.
+ Update "SPI/FIFO_SEL_Hardware" example, add Rx FIFO Timeout function and fix data loss issue.
+ Update "USBD/Mass_Storage" example, add "HTCFG_SD_MAXSPEED" define for different board.
+ Update "utilities/common/spi_lcd.c".
- Remove duplicate SPI parameter setting of "LCD_Init()".
- Update SPI chip select define and SPI configuration by "LCD_SPI_SEL_AFIO_MODE".
- Swap the "GPIO_DirectionConfig()" and "GPIO_SetOutBits()" function to prevent transient state
of SPI_SEL pin.
+ Update "_ProjectConfig*.bat" files.
+ Add "Project Source File Setting" functions ("_ProjectSource.ini" and "_ProjectSource.bat").
+ Rename "_CreateProjectUSB.bat" as "_CreateProject.bat".
+ Add dummy xxTM C files, to notify the user that SCTM/PWM/GPTM/MCTM timer use the "ht32f1xxxx_tm.c" driver.
"ht32f1xxxx_gptm.c", "ht32f1xxxx_pwm.c", "ht32f1xxxx_sctm.c"
+ Add "IS_IPN_MCTM()" and "IS_IPN_GPTM" macro, for use to confirm the xxTMn is GPTM or MCTM.
+ Update comment and board/pin configuration of "ADC/OneShot_TMTrigger_PDMA" example.
+ Update and sync startup.s/system.c files.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v005_2207 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2020-08-11
Main Changes
+ Add the following files to use e-Link32 Pro with SEGGER Embedded Studio. Refer to the
"readme e-Link32 Pro.txt" for how to use it.
"emStudiov4/readme e-Link32 Pro.txt"
"emStudiov4/Project_xxxxx.bat"
"emStudiov4/_MassErase.bat"
+ Fix the "I2S_FIFOTrigLevelConfig()" error which did not clear the field of I2S FCR correctly.
+ Fix "RPRE_MASK" define error for "RTC_SetPrescaler()" function.
+ Add "SPI_FLASH_WaitForWriteEnd()" function in the end of the write status operation
("SPI_FLASH_WriteStatus()").
+ Modify "SPI_FLASH_WaitForWriteEnd()" function to return value of status register.
+ Add below notice of examples to inform the user to check the local structure variable without a
default value.
"Notice that the local variable (structure) did not have an initial value.
Please confirm that there are no missing members in the parameter settings below this function."
+ Add "LIBCFG_MAX_SPEED" in the file "ht32fxxxxx_libcfg.h" which indicate the maximum core speed.
+ Add the following definition for convenience.
PDMACH0_IRQn ~ PDMACH5_IRQn
AFIO_FUN_MCTM0
AFIO_FUN_GPTM0 ~ AFIO_FUN_GPTM3
AFIO_FUN_PWM0
AFIO_FUN_SCTM0 ~ AFIO_FUN_SCTM2
+ Add new examples.
"TM/PWM"
"TM/UpdateEvent"
+ Add "s64/u64" definition.
Others
+ Update comment, format, typing error, and coding style.
+ Add below notice in the "FMC/FLASH_Security" example.
"The Option Byte will be write protected (cannot be changed again) after the
Security Protection is enabled. Refer to the user manual for details."
+ Remove HSI disable setting of Configuration Wizard and add notice in the "system_xxxxx_nn.c".
+ Update the following examples to remove compiler warning of the GNU compiler.
"USBD/Mass_Storage"
"USART/PDMA"
"USART/Interrupt"
+ Add "-Waddress-of-packed-member" #pragma of below examples to remove compiler warning of the
GNU compiler.
"USBD/Mass_Storage"
"USBD/Mass_Storage_IAP"
"USBD/Mass_Storage_SDIO"
"USBD/HID_Keyboard"
"USBD/HID_Keyboard_Joystick"
"USBD/HID_Keyboard_Mass_Storage"
"USBD/HID_Keyboard_Virtual_COM"
"USBD/HID_Mouse"
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v004_2103 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2020-04-25
Main Changes
+ Remove the "I2C_Cmd()" in the "I2C_Init()" function since it shall be called after the I2C related
settings. User shall call the "I2C_Cmd()" by themself after the "I2C_Init()".
+ Update "system_ht32f1xxxx_02.c", modify the LDO related setting.
+ Add "USART_GetIntStatus()" function to get the enabled interrupt source.
+ Add "RETARGET_HSI_ATM" setting to turn on/off the auto-trim function of HSI ("ht32f1xxxx_conf.h").
+ Add "USBDClass_Reset()" into the "USBD/*" example to reset related flag for the self-power application.
+ Modify "ht32f5xxxx_aes.c", fix "AES_SetKeyTable()" and "_AES_CryptData()" functions who did not clear
related fields before set it.
+ Rename examples as below.
IP Old Name New Name
-------- -------- --------
ADC EXTITrigger_DiscontinuousMode Discontinuous_EXTITrigger
ADC PDMA_ADCResult OneShot_TMTrigger_PDMA
ADC Potentiometer_ContinuousMode Continuous_Potentiometer
ADC TM_Trigger OneShot_PWMTrigger
ADC TM_Trigger_with_Delay OneShot_PWMTrigger_with_Delay
USART HyperTerminal_TxRx Retarget
USART HyperTerminal_TxRx_Interrupt Interrupt
USART HyperTerminal_TxRx_Interrupt_FIFO Interrupt_FIFO
+ Update the following example to improve readability.
"ADC/AnalogWatchdog"
"ADC/Continuous_Potentiometer"
"ADC/Discontinuous_EXTITrigger"
"ADC/InternalReferenceVoltage"
"ADC/OneShot_PWMTrigger"
"ADC/OneShot_PWMTrigger_with_Delay"
"ADC/OneShot_TMTrigger_PDMA"
"ADC/Two_Group_MaxCH"
"USART/Interrupt"
"USART/Interrupt_FIFO"
"USART/PDMA"
"USART/Polling"
"USART/Retarget"
"USBD/HID_Demo"
"USBD/HID_DemoVendorReport"
+ Update UxART related example, turn on internal pull up to prevent unknown state.
+ Add new examples.
"BFTM/OneShot"
"BFTM/TimeMeasure"
+ Remove unnecessary RTC compare match restart setting of the RTC example
(which cause the time not correct after entering the low power mode).
+ ADC to ADC0 related modification (to compatible with M0+ and ADC1).
Modify "HT_ADC" and "ADC_IRQn" to "HT_ADC0" and "ADC0_IRQn".
Modify "AFIO_FUN_ADC" as "AFIO_FUN_ADC0".
Modify "CKCU_SetADCPrescaler()" to "CKCU_SetADCnPrescaler()".
Add "CKCU_ADCPRE_ADCn_TypeDef".
Modify "ADC_Freq" to "ADC0_Freq" of "CKCU_ClocksTypeDef".
Modify "ADC" to "ADC0" of "RSTCU_PeripReset_TypeDef".
Add "HT_ADC", "ADC_IRQn", "AFIO_FUN_ADC" define for backward compatibility.
+ Fix "HT_GPIOF" define error of HT32F12364.
Others
+ Update "SPI/FIFO_SEL_Hardware" example, change the code location of the IP enable ("SPI_Cmd()").
+ Update "system_ht32fxxxxx_nn.c" (coding style).
+ Update "ht32_series.c/h" and "ht32_retarget_usbdconf.h" to improve the compatibly of the
terminal software.
+ Update comment, format, typing error, and coding style.
+ Fix interrupt mode of UxART retarget, remove unnecessary FIFO/interrupt configuration of the
retarget function.
+ Update format of "CKCU_PeripClockConfig_TypeDef" and "RSTCU_PeripReset_TypeDef".
+ Update and modify naming rule of the "HTCFG_xxxx" configuration define in the "ht32_board_config.h".
+ Update settings of project files.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v004_1946 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2019-11-28
Main Changes
+ Move the "common/*.h" include from the begin to the end (after the pin define) in the file
"HT32_Board/ht32fxxxx_sk/dvb.h". The original include way leads to the pin define lost when you
use the EBI_LCD->EBI_LCD_RAM outside the "ebi_lcd.c".
+ Fix error of "_CreateProjectScript.bat" which cause the stack size and RW base can not be set by the
"_ProjectConfig.bat" of the emStudiov4 project.
+ Add "GPIO_GetID()" function to convert HT_GPIOx to GPIO_Px.
+ Update "HID_Demo_UI.exe" to support HID Report ID.
+ Add "USBD/HID_DemoVendorReport" example.
+ Modify "SPI_Init()" function, fix SPIx Clock Prescaler setting of HT32F12364.
+ Modify "system_ht32f1xxxx_03.c", fix PLLCFGR initiation error which cause the "PLL_CLK_SRC_DIV" setting
is not work.
+ Add "RETARGET_UxART_BAUDRATE" setting to change the retarget UART baudrate in "ht32f1xxxx_conf.h".
+ Add "RETARGET_HSI_ATM" setting to turn on/off the auto-trim function of HSI.
+ Add "RETARGET_DEFINE_HANDLER" setting to remove the UxARTn_IRQHandler() define of the retarget.
This setting is used for the model who grouping two UART Interrupt into one vector.
+ Add non-block mode of USB Virtual-COM retarget function ((Drop data if USB or terminal software is
not ready).
+ Modify "PWRCU_SetLDOFTRM()" function, fix the error which cause the LDO output voltage fine trim is
not work.
+ Update "PWRCU_DeepSleep2()" to restore the LDO output voltage fine trim after system wakeup.
+ Add SWCLK toggle of "GPIO_DisableDebugPort()" function.
Others
+ Add "utilities/common/lcd.h" to put the lcd related register together.
+ Update format and coding style.
+ Add PLL Output frequency comment of "system_ht32f1xxxx_nn.c".
+ Update project files.
.c and .h files order.
Project format.
Include path order.
+ Add "USAGE_PAGE_L" define of "USB/HID_Demo" example.
+ Fix typing error of "ht32f1xxxx_conf.h".
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v004_1812 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2019-09-11
Main Changes
+ Add new device support.
HT32F12364
+ Update "ebi_lcd.c/h", fix LCD_SPI_BL_GPIO_XXX define error (shall be LCD_EBI_BL_GPIO_XXX).
+ Update USB example, use USB PLL by default (if USB PLL exist).
+ Fix function name typing error
SPI_GUADTCmd() -> SPI_GUARDTCmd()
SPI_GUADTConfig -> SPI_GUARDTConfig()
+ Update "ADC_RegularGroupConfig()" and "ADC_HPGroupConfig()", prevent to enable the ADC directly after
the above function call. User shall use the "ADC_Cmd(HT_ADC, ENABLE);" to enable the ADC.
+ Rename following files.
"IAR/startup_ht32f1xxxx_01.s" to "IARstartup_ht32f1xxxx_iar_01.s"
"IAR/startup_ht32f1xxxx_03.s" to "IARstartup_ht32f1xxxx_iar_03.s"
Others
+ Update comment and coding style.
+ Update "USART/HyperTerminal_TxRx_Interrupt" example, remove unnecessary configuration of LED.
+ Update readme file of "EBI/LCD" example.
+ Add "PWRCU/PowerDown_RTC" example.
+ Add "PWRCU/PWRCU_PowerDown_WAKEUPPin" example.
+ Add "RTC/Time" example.
+ Update and sync "ht32f1xxxx_conf.h".
+ Update and sync "HT32F1xxxx_01_DebugSupport.ini".
+ Update "ht32f1xxxx_tm.c", remove unnecessary variable initialization.
+ Update "ht32_op.c" and "ht32_op.s", edit comment of WDT Enable function.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v003_1679 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2019-04-19
Main Changes
+ Fix error of "CKCU_HSIAutoTrimClkConfig()" function which cause the HSI auto-trim not work.
+ Modify following define of ADC.
ADC_CH_GNDREF -> ADC_CH_GND_VREF
ADC_CH_VREF -> ADC_CH_VDD_VREF
Others
+ None.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v003_1673 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2019-04-09
Main Changes
+ Add SEGGER Embedded Studio IDE support (beta version).
+ Update "ht32f1xxxx_usbd.c" and "ht32_usbd_core.c", add Force USB Reset Control function (apply to specific
model only).
+ Update Create Project script, add Script folder in project_template.
+ Add "TM/TriggerCounter" example.
+ Add "USBD/HID_Keyboard_Mass_Storage" example.
Others
+ Update comment of example code.
+ Update define of "USBD/Mass_Storage" example.
+ Update "EXTI/WakeUp_DeepSleepMode1" Example, add LED3 (for some SK have only LED2 and LED3 on board).
+ Update/sync startup.s/system.c files.
+ Update/sync "HT32F1xxxx_01_DebugSupport.ini".
+ Update/sync "ht32_op.s" and "ht32_op.c".
+ Update "BootProcess" function.
+ Update/sync "FlashMacro.mac".
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v002_1496 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2018-12-17
Main Changes
+ Modify Control IN/OUT method of USB Core, to fix USB transfer problem when CPU in the lower speed or late
USB interrupt case.
+ Add workaround for PDMA CH3 issue (Interrupt Enable bit of CH3 is not work).
Others
+ Add "USBD_DisableDefaultPull()" function to disable pull resistance when the USB is not use.
+ Rename RTC example as below.
"Calendar" -> "Time_BackupDomain"
+ Add new example.
"RTC/Calendar_BackupDomain"
"FMC/EnableProtectionByFW"
+ Update "EXTI/WakeUp_DeepSleepMode1" example.
+ Update coding style.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v002_1406 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2018-09-30
Main Changes
+ Update HardFault_Handler of "ht32f1xxxx_01_it.c",add the debug instruction and system reset.
+ Add "RAND/Random_Number" example and update "ht32_rand.c".
+ Add "__HT_check_sp" and "__HT_check_heap" symbol into startup.s and watchpoint command into
"HT32F1xxxx_01_DebugSupport.ini" for debug stack/heap underflow, overflow, and overwrite.
+ Update "USBD/HID_Keyboard_Joystick" and "USBD/HID_Mouse" example, change the set flag sequence
(before USBDCore_EPTWriteINData).
+ Add GNU Make support of GNU Arm compiler.
Others
+ Add "objcooy.txt" which shows how to use obj tools of GNU Arm compiler.
+ Update format and coding style.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v002_1367 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2018-08-02
Main Changes
+ Add GNU Arm compiler support.
- Add project_template related files
- "startup_ht32f5xxxx_gcc_nn.s"
- "linker.ld" (link script)
+ Update "ht32f5xxxx_tm.c/.h", add following functions which have TM_CH_n parameter.
void TM_ForcedOREF(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, TM_OM_Enum ForcedAction)
void TM_SetCaptureCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, u16 Cmp)
void TM_SetAsymmetricCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, u16 Cmp)
u32 TM_GetCaptureCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n)
Others
+ Add "USBD/HID_Keyboard_Virtual_COM" example.
+ Fix compile error when turn on Library debug mode (HT32_LIB_DEBUG = 1).
+ Modify "example/NVIC/Vector_Table_Offset" example code to support GUN compiler.
+ Simplify "example/USART/HyperTerminal_TxRx_Interrupt" example.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_1302 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2018-06-11
Main Changes
+ Add SourceryG++Lite compiler support.
- Add project_template related files
- "startup_ht32f1xxxx_cs3_nn.s"
- "linker.ld" (link script)
+ Add DMA support of "utilities/common/spi_flash.c".
+ Add "EXTI_GetEdgeFlag()" function.
+ Add LIBCFG_AES_SWAP function to process endian issue of AES.
Others
+ Update "ht32f1xxxx_conf.h" for AUTO_RETURN (\r) option.
+ Update format of IAR "startup_ht32f1xxxx_01.s".
+ Fix "LIBCFC_CKCU_USB_PLL" typing error of ht32fxxxx_libcfg.h and example code (shall be LIBCFG_CKCU_USB_PLL).
+ Fix IAP_PPBIT define error of "IAP/IAP_UI" example.
+ Update "ht32f1xxxx_ckcu.c" to remove unnecessary register write of PLL.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_1153 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2018-02-28
Main Changes
+ Add "USBD/USB_UAC_Sound_RateControl" Example.
+ Add "I2C_SpeedOffset" parameter of I2C_InitTypeDef to reach real I2C speed.
Note: Related examples are also updated.
+ Change EBI timing of "ebi_lcd.c" to fix LCD display problem on HT32F12345 with ESK32-A2A31.
+ Add "CKCU/HSI_AutoTrim_By_USB" Example.
+ Update "CKCU_HSIAutoTrimIsReady" function of "ht32f5xxxx_ckcu.c".
Others
+ Update format and coding style.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_1023 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-12-30
Main Changes
+ Update boot related functions of "startup_ht32f1xxxx_nn.s" and "system_ht32f1xxxx_nn.c".
+ Update "ht32_op.c" and "ht32_op.s" to support enable WDT function by Flash Option byte (Apply to specific
model only).
+ Add "GPIO_DisableDebugPort()"" function to disable SWD function.
Others
+ Fix IAR Project setting error of IAP Example.
+ Add "RTC_LSILoadTrimData()" function.
+ Add "LIBCFG_RTC_LSI_LOAD_TRIM" define of HT32F165x.
+ Remove useless "RTC_LSICmd()"" function.
+ Update following examples, remove LSI enable code (LSI default on).
"PWRCU/DeepSleepMode1"
"PWRCU/BackupData"
"PWRCU/DeepSleepMode2"
"PWRCU/PowerDownMode"
"RTC/Calendar"
+ Update I2S and USB UAC related examples (Coding style and remove unuse define).
+ Update USB Example, remove invalid remote wakeup configuration by define (Only HID class support Remote
Wakeup).
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_933 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-11-17
Main Changes
+ Fix AES typing error of "ht32f1xxxx_aes.c/.h" (EBC to ECB).
+ Fix TM define error of "ht32f1xxxx_tm.c/.h".
Others
+ Update "ht32_virtual_com.inf" file, add Digital Signature.
+ Update typing error of example code.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_899 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-10-19
Main Changes
+ Update "SDIO/SDCard" Example code. Fix read Card SCR problem which causes SDIO working on 1-bit mode
abnormally.
Others
+ Update project setting.
+ Remove some project files. Use "CreateProject.bat" to copy project files automatically.
+ Add "LIBCFG_CHIPNAME" define.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_785 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-08-31
Main Changes
+ Fix "ht32f1xxxx_conf.h" typing error ("_ADC" to "_AES").
+ Fix AES typing error (EBC to ECB).
Others
+ Update "ht32_usbd_core.c" to support vendor function.
+ Add "USE_MEM_HT32F1xxxx" define into project.
+ Add "USE_MEM_HT32F1xxxx" default define into "ht32f1xxxx_xx_libcfg.h".
+ Rename "system_ht32f1xxxx.h" to "system_ht32f1xxxx_01.h" for PACK requirement.
+ Update IAP examples.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_671 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-07-27
Main Changes
+ None
Others
+ Update "ht32_op.c", add CK_CODE/CK_DATA/CK_CODEOP in Option Bytes (same format with e-Writer32).
+ Modify USB/Mass_Storage example for WIN10 compatibility issue.
+ Add "USE_MEM_HT32F1xxxx" support for memory size define (LIBCFG_FLASH_SIZE/LIBCFG_RAM_SIZE).
+ Add IAR EWARMv8 project template (create by IAR EWARM v8.11).
+ Upgrade the version of IAR EWARM project template from v6.20 to v6.50.
Note:
1. Supported CMSIS-DAP: IAR EWARM v6.50 and above.
2. RDI/e-Link32 is not supported anymore from the v8.xx of IAR EWARM.
Known Issue:
+ IAP example is not ready, will be update in next release.
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_552 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-07-17
Main Changes
+ Add example code.
+ Update TM for PDMA support.
+ Fix "USART_RXTL_01/04/08/14" define error.
+ Fix "HT32F_DVB_BuzzerFun()" define error of "ht32f1xxxx_board_01.c".
+ Fix pin assignment error of "ht32f12366_sk.h"
Others
+ Add BUTTON_MODE_WAKE_UP support for "ht32f1xxxx_sk.c/.h".
+ Update typing error and coding style.
+ Remove warning on old MDK-ARM version.
+ Update project setting.
+ Add DEINIT_ENABLE setting of "ht32f1xxxx_system_nn.c".
/*----------------------------------------------------------------------------------------------------------*/
/* HT32F1xxxx_FWLib_v001_167 */
/*----------------------------------------------------------------------------------------------------------*/
Release Date: 2017-06-14
Main Changes
+ Initial version.
Others
+