Release_Notes.txt 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953
  1. /*********************************************************************************************************//**
  2. * @file Release_Notes.txt
  3. * @version V1.5.1
  4. * @date 2023-11-08
  5. * @brief The Release notes of HT32 Firmware Library.
  6. *************************************************************************************************************
  7. * @attention
  8. *
  9. * Firmware Disclaimer Information
  10. *
  11. * 1. The customer hereby acknowledges and agrees that the program technical documentation, including the
  12. * code, which is supplied by Holtek Semiconductor Inc., (hereinafter referred to as "HOLTEK") is the
  13. * proprietary and confidential intellectual property of HOLTEK, and is protected by copyright law and
  14. * other intellectual property laws.
  15. *
  16. * 2. The customer hereby acknowledges and agrees that the program technical documentation, including the
  17. * code, is confidential information belonging to HOLTEK, and must not be disclosed to any third parties
  18. * other than HOLTEK and the customer.
  19. *
  20. * 3. The program technical documentation, including the code, is provided "as is" and for customer reference
  21. * only. After delivery by HOLTEK, the customer shall use the program technical documentation, including
  22. * the code, at their own risk. HOLTEK disclaims any expressed, implied or statutory warranties, including
  23. * the warranties of merchantability, satisfactory quality and fitness for a particular purpose.
  24. *
  25. * <h2><center>Copyright (C) Holtek Semiconductor Inc. All rights reserved</center></h2>
  26. ************************************************************************************************************/
  27. // Supported Device
  28. // ========================================
  29. // HT32F1653, HT32F1654
  30. // HT32F1655, HT32F1656
  31. // HT32F12345
  32. // HT32F12364
  33. // HT32F12365, HT32F12366
  34. // HT32F22366
  35. /*----------------------------------------------------------------------------------------------------------*/
  36. /* HT32_STD_1xxxx_FWLib_V1.5.1_3190 */
  37. /*----------------------------------------------------------------------------------------------------------*/
  38. Release Date: 2024-11-08
  39. Main Changes
  40. + Add new examples:
  41. - "Tips/Checksum_CRC16"
  42. - "Tips/StackOnTop"
  43. + Add HT32 Stack Usage Analysis feature.
  44. - Modify "ht32f1xxxx_conf.h", add "HTCFG_STACK_USAGE_ANALYSIS" setting for enabling HT32 Stack Usage
  45. Analysis.
  46. - Update project templates and "ht32_cm3_misc.c/.h", add "StackUsageAnalysisInit()" function to
  47. initialize stack.
  48. - Update project files, add HT32 Stack Usage Analysis component viewer.
  49. - Update and sync "startup_ht32f1xxxx_nn.s" for the "Stack On Top" and "Stack Usage Analysis" feature."
  50. - Add "USE_LIBCFG_RAM_SIZE" define in Keil project files for the "Stack On Top" feature.
  51. + Rename WDT parameters.
  52. - Old Name | New Name
  53. - --------------------------------- | ----------------------------
  54. - "MODE0_WDTSHLT_BOTH" | "WDT_SLEEP_HALT_NONE"
  55. - "MODE0_WDTSHLT_SLEEP" | "WDT_SLEEP_HALT_DEEPSLEEP"
  56. - "MODE0_WDTSHLT_SLEEP" | "WDT_SLEEP_HALT_ALL"
  57. + Fix "AES_SetKeyTable()" and "AES_SetVectorTable()" Key and Vector index errors, which cause incorrect AES
  58. encryption and decryption.
  59. + Update example, add "__ALIGN4" to variables and enforced type conversion for 4 bytes read/write API calls.
  60. - "AES/CBC"
  61. - "AES/CTR"
  62. - "AES/ECB"
  63. + Modify "ht32f5xxxx_01.h", fix the MCTM alias mismatch.
  64. - "MCTMn_IRQHandler" alias from "MCTM0_G_IRQHandler" to "MCTM0_UP_IRQHandler"
  65. + Update USB example, add the process of detecting USB bus status before USBDCore_LowPower().
  66. - "CKCU/HSI_AutoTrim_By_USB"
  67. - "USBD/*"
  68. + Improve the thread-safe capability of "utilities/common/ring_buffer.c".
  69. + Modify "ht32f1xxxx_01.h" to add alignment and packing attributes for ARM compiler versions, with GCC fallback.
  70. + Update "ht32f1xxxx_rtc.c", modify the RTC_LSECmd() related flow.
  71. + Modify "WDT/Auto_Enable" example to change the mechanism of the example.
  72. + Update "ht32f12366_sk.h" to share EBI_BL pin with LED3.
  73. Others
  74. + Update comment, format, typing error, and coding style.
  75. + Update project related file and setting.
  76. + Update CKCU API. Enhanced program stability with robustness settings for parameter "PCLKPrescaler"
  77. in "CKCU_SetPeripPrescaler(..., CKCU_APBCLKPRE_TypeDef PCLKPrescaler)".
  78. + Modify "void FLASH_SetRemappingMode(FLASH_Vector FLASH_BOOT_x);". Changed parameter name from
  79. "RemapMode" to "FLASH_BOOT_x".
  80. + Update "SPI_DUALCmd()" and "SPI_SoftwareSELCmd()" make sure the SPI Bus is not busy
  81. before changing the settings.
  82. + Modify "ht32_dependency.h",to change the preprocessors for dependency check.
  83. + Update the following middleware.
  84. "utilities/middleware/eeprom_emulation.c"
  85. "utilities/middleware/i2c_master.c"
  86. "utilities/middleware/i2c_master.h"
  87. "utilities/middleware/spi_module.c"
  88. "utilities/middleware/spi_module.h"
  89. "utilities/middleware/spi_module_config_templet.h"
  90. "utilities/middleware/uart_module.c"
  91. "utilities/middleware/uart_module.h"
  92. + Update AES examples.
  93. - Change the key, IV, and plain text from hex array to string, making the result easier to compare with
  94. online tools.
  95. - Add expected cipher text and compare it with the MCU's H/W AES result as an error-proofing mechanism."
  96. + Update the following readme file.
  97. - "CKCU/CKCU_HSI_AutoTrim_By_USB"
  98. - "CKCU/CKCU_HSI_AutoTrim_By_LSE"
  99. - "USBD/*"
  100. + Modify "afterbuild.bat" to add logic to use ARMCC or ARMCLANG fromelf tool based on available toolchain.
  101. + Add "_ProjectConfig.ini" in the "CKCU/HSI_AutoTrim_By_LSE" example.
  102. + Update "project_template/Script" for improving script mechanism.
  103. - "Script/_CreateProjectConfScript.bat"
  104. - "Script/_CreateProjectScript.bat"
  105. - "Script/_ht32_ic_name.ini"
  106. + Update e-Link32 Pro/Lite Command line tool as "V1.20" ("utilities/elink32pro/eLink32pro.exe").
  107. + Change path of the "Holtek.HT32_DFP.latest.pack".
  108. /*----------------------------------------------------------------------------------------------------------*/
  109. /* HT32_STD_1xxxx_FWLib_V1.4.1_2982 */
  110. /*----------------------------------------------------------------------------------------------------------*/
  111. Release Date: 2023-10-31
  112. Main Changes
  113. + Add new example.
  114. - "GPIO/PinLock"
  115. + Modify examples below, add volatile qualifiers on some variables (in the for loop usage)
  116. to fix the Arm Compiler Version 6 optimization issue.
  117. ("u32" to "vu32", unsigned int to volatile unsigned int).
  118. - "PWRCU/PowerDown_WAKEUPPin"
  119. - "PWRCU/PowerDown_RTC"
  120. - "TM/PWM"
  121. + Modify examples below, use separate "if" statements instead of "if-else" to avoid double-entry ISR.
  122. - "PWRCU/DeepSleepMode1"
  123. - "PWRCU/DeepSleepMode2"
  124. + Modify "ht32_time.h", "ht32f1xxxx_conf.h" and "ht32_time_conf.h" for "LIBCFG_CKCU_NO_APB_PRESCALER" series.
  125. - To ensure the correct configuration of the timer clock, the "HTCFG_TIME_PCLK_DIV" is redefined as 0.
  126. + Add "Project or Target File Clearing" functions ("_ClearProject.bat" and "_ClearTarget.bat").
  127. + Modify "syscall.c" to prevent redundant initialization of the heap index.
  128. + Modify "ht32f1xxxx_01.h" to add below definition.
  129. - "sc64", "vs64", "vsc64", "uc64", "vu64", "vuc64"
  130. + Modify PWRCU related define (The left side old one is still kept for backward compatible).
  131. - PWRCU_FLAG_BAKPOR -> PWRCU_FLAG_PWRPOR
  132. + Modify "RETARGET_Configuration()", add the operation of UxARTn peripheral clock enable.
  133. + Update and sync "ht32f1xxxx_conf.h", modify related define of UxARTn retarget port.
  134. + Update "ht32_op.c" and "ht32_op.s" to support new version of bootloader waiting time setting address.
  135. (The setting address is changed from 0x1FF0002C to 0x1FF0004C)
  136. + Add "ht32_op_V107.c" and "ht32_op_V107.s" to support the use of older versions of bootloader.
  137. + Add "CKCU_ATCInit()" API for HSI Auto Trim initial function.
  138. + Update "ht32f1xxxx_adc.c" and "ht32f1xxxx_adc_02.c", modify the ADC enable related flow.
  139. + Add the below folder, For the BMduino shield/module Keil Driver.
  140. - "BestModules"
  141. Others
  142. + Update comment, format, typing error, and coding style.
  143. + Adjust "LIBCFG_xxxxx" definition below.
  144. - "LIBCFG_CKCU_APBCLKFIX" rename to "LIBCFG_CKCU_NO_APB_PRESCALER"
  145. + Modify the Sourcery G++ Lite toolchain project.
  146. - Set C99 mode to fix issues after updating CMSIS v5.9.0 ("for" loop initial declarations).
  147. + Update e-Link32 Pro/Lite Command line tool as "V1.19" ("utilities/elink32pro/eLink32pro.exe").
  148. + Modify "_ProjectConfigScript.bat" to prevent the creation of project that copy unused system/startup files.
  149. + Update "project_template/Script" for adding project C++ source files and setting the chip model mechanism.
  150. - The updated files are as follows:
  151. "Script/_ProjectSource.bat"
  152. "Script/_ProjectSource.ini"
  153. + Update "project_template/Script" for improving script mechanism.
  154. - The updated files are as follows:
  155. "Script/_CreateProjectConfScript.bat"
  156. "Script/_CreateProjectScript.bat"
  157. "Script/_ht32_ic_name.ini"
  158. + Modify and check the example supportability of each IC.
  159. + Add the below file, for the BMduino shield.
  160. - "ht32_undef_IP.h"
  161. /*----------------------------------------------------------------------------------------------------------*/
  162. /* HT32_STD_1xxxx_FWLib_V1.3.2_2858 */
  163. /*----------------------------------------------------------------------------------------------------------*/
  164. Release Date: 2023-02-02
  165. Main Changes
  166. + Add new examples:
  167. - "SRAM_Overwrite/Watchpoint_Heap"
  168. - "SRAM_Overwrite/Watchpoint_Stack"
  169. + Update "ht32f1xxxx_conf.h" for user layer HSE_VALUE setting.
  170. Others
  171. + Update comment, format, typing error, and coding style.
  172. + Modify "system_ht32fxxxxx_nn.c", add HSE_VALUE notice and update PLL Out formula.
  173. + Update and sync system.c files.
  174. + Update EEPROM Emulation middleware, improve efficacy and reduce resource usage.
  175. "utilities/middleware/eeprom_emulation.c"
  176. "utilities/middleware/ht32_eeprom_config_templet.h"
  177. + Update I2C Master middleware, improve setting way and fix minor errors.
  178. "utilities/middleware/i2c_master.c/.h"
  179. "utilities/middleware/i2c_master_config_templet.h"
  180. /*----------------------------------------------------------------------------------------------------------*/
  181. /* HT32_STD_1xxxx_FWLib_V1.3.1_2808 */
  182. /*----------------------------------------------------------------------------------------------------------*/
  183. Release Date: 2022-12-01
  184. Main Changes
  185. + Update "ht32_time.h", fix a formula error of "TIME_TICK2US()" and "TIME_TICK2MS()" macro.
  186. + Modify "ht32_retarget.c", fix retarget can't work when the MicroLIB is not used in Keil's V6 compiler.
  187. + Modify "ht32_serial.c/.h" and "ht32_retarget.c", fix ITM setting issue.
  188. + Update "ht32fxxxx_sk.h", add TRACESWO pin assignment for ITM.
  189. + Update "SPI/PDMA" example, change the order of API execution (SPI_SELOutputCmd() execution before SPI_Cmd()).
  190. + Update "CSIF/Init" example, modify the datatype form and add comments to explain the length of the Rx buffer.
  191. + Update following I2C example. (sync. with M0+)
  192. - I2C/7_bit_mode
  193. - I2C/10_bit_mode
  194. - I2C/EEPROM_Simulate
  195. - I2C/Interrupt
  196. - I2C/PDMA
  197. + GPIO
  198. - Add new define "GPIO_PIN_NUM_n" for GPIO pin number (n = 0 ~ 15).
  199. + EXTI
  200. - Add "gEXTIn_IRQn[]" and "EXTI_GetIRQn()" macro to map GPIO pin number (0 ~ 15) to "EXTIn_IRQn".
  201. - Add "GPIO2EXTI()" macro to map GPIO pin to EXTI Channel.
  202. - Change "AFIO_EXTISourceConfig()" API, remove "AFIO_EXTI_CH_Enum" and "AFIO_ESS_Enum".
  203. Old: void AFIO_EXTISourceConfig(AFIO_EXTI_CH_Enum AFIO_EXTI_CH_n, AFIO_ESS_Enum AFIO_ESS_Px)
  204. New: void AFIO_EXTISourceConfig(u32 GPIO_PIN_NUM_n, u32 GPIO_Px)
  205. Others
  206. + Update comment, format, typing error, and coding style.
  207. + Update "ht32_op.s/.c", allow "Bootloader Waiting Time" function for all series.
  208. + Update "CKCU/HSI_AutoTrim_By_USB" example, add the following define to "ht32_board_config.h".
  209. - "CKCU_PLL_CFG"
  210. - "CKCU_SYSCLK_DIV_CFG"
  211. + Upgrade CMSIS to v5.9.0.
  212. + Modify API parameter check macro of Library Debug Mode, fix parameter check error.
  213. + Modify variable declaration of "PDMACH_InitTypeDef" to reduce memory size.
  214. /*----------------------------------------------------------------------------------------------------------*/
  215. /* HT32_STD_1xxxx_FWLib_V1.2.1_2753 */
  216. /*----------------------------------------------------------------------------------------------------------*/
  217. Release Date: 2022-10-11
  218. Main Changes
  219. + Add new examples:
  220. - "I2C/7_bit_mode_master"
  221. - "I2C/7_bit_mode_slave"
  222. + Add the following API for PDMA.
  223. - "PDMA_DeInit()"
  224. - "PDMA_AddrConfig()"
  225. - "PDMA_SrcAddrConfig()"
  226. - "PDMA_DstAddrConfig()"
  227. - "PDMA_GetRemainBlkCnt()"
  228. + Add the following API for ADC.
  229. - "ADC_ChannelDataAlign()"
  230. - "ADC_ChannelOffsetValue()"
  231. - "ADC_ChannelOffsetCmd()"
  232. + Update "ht32_retarget.c", modify the retarget related functions for SEGGER Embedded Studio.
  233. + Update "FLASH_SetWaitState()" function, disable Pre-fetch and Branch Cache function before change
  234. wait state.
  235. + Update following middleware.
  236. "utilities/middleware/i2c_master.c/h"
  237. "utilities/middleware/uart_module.c"
  238. Others
  239. + Update comment, format, typing error, and coding style.
  240. + Update "BFTM/OneShot" example, fix the register access sequence and time calculation formula.
  241. + Update "TM/PWM/main.c"
  242. - Add "HTCFG_PWM_TM_RELOAD" check.
  243. - Add PWM channel initial function.
  244. - Remove "_ht32_project_source.h" (Use "_ProjectSource.ini" to add "pwm.c" into project compiling list).
  245. + Fix the upper/lower case error of #include file name.
  246. + Update e-Link32 Pro/Lite Command line tool as "V1.18" ("utilities/elink32pro/eLink32pro.exe").
  247. + Change the project recommended minimum version of SEGGER Embedded Studio from V4.12 to V6.20.
  248. /*----------------------------------------------------------------------------------------------------------*/
  249. /* HT32_STD_1xxxx_FWLib_V1.1.1_2647 */
  250. /*----------------------------------------------------------------------------------------------------------*/
  251. Release Date: 2022-06-10
  252. Main Changes
  253. + Add following middleware.
  254. "utilities/middleware/spi_module.c"
  255. "utilities/middleware/spi_module.h"
  256. "utilities/middleware/spi_module_config_templet.h"
  257. + Fixed FW library compatibility with ARM compiler version 6 of MDK-ARM V5.37.
  258. - Add MDK-ARMv537 project template for MDK-ARM V5.37.
  259. - Update "project_template/Script". Those MDK-ARMv537 project templates will be added for use if choose
  260. the target IDE is "Keil MDK-ARMv5". The fixed files are as follows:
  261. "Script/_CreateProjectScript.bat"
  262. "Script/_ProjectConfig.bat"
  263. "Script/_ProjectSource.bat"
  264. - Update "core_cm3.h", fix compiler error.
  265. - Update "FMC/FLASH_OperationNoHalt", fix the compiler issue of Arm Compiler Version V6.18 and the
  266. compiler warning of linker script file. The fixed files are as follows:
  267. "FLASH_OperationNoHalt/main.c"
  268. "FLASH_OperationNoHalt/linker.lin"
  269. - Update following middleware, remove STRCAT3 usage to fix compiler error.
  270. "utilities/middleware/uart_module.c"
  271. "utilities/middleware/i2c_master.c"
  272. "utilities/middleware/spi_module.c"
  273. + Update "ht32_retarget.c". Implement __write function to fix compiler error in IAR EWARM Version 9.20
  274. or later.
  275. + Update GNU Arm makefile in the project_template, fix the compatibility issue that the makefile of GNU Arm
  276. Version 11 cannot be compiled.
  277. + Update EWARM in the project_template, fix the compiler error that header file path doesn't exist in
  278. the file list of Workspace of IAR EWARM Version 7.
  279. + Fix SPI initial PDMA parameter in the "utilities/common/spi_flash.c".
  280. + Sync M0+ I2C/EEPROM to fix compiler warning of the GNU compiler.
  281. + Sync M0+ library\HT32F1xxxx_Driver\inc\ht32_dependency.h.
  282. Others
  283. + Update comment, format, typing error, and coding style.
  284. + Update e-Link32 Pro/Lite Command line tool as "V1.16" ("utilities/elink32pro/eLink32pro.exe").
  285. + Update the following examples to remove compiler warning of the IAR EWARM.
  286. "BFTM\TimeMeasure"
  287. "TM\PWMInput\ht32f1xxxx_01_it.c"
  288. "USBD\HID_Keyboard_Virtual_COM\ht32_usbd_class.c"
  289. "USBD\Mass_Storage_SDIO\sd_disk.c"
  290. "USBD\USB_UAC_Sound\ht32_usbd_class.c"
  291. "USBD\Virtual_COM\ht32_usbd_class.c"
  292. + Update and sync create project related files ("_ProjectConfig.bat"、"_ProjectConfig.ini").
  293. + Update content of "project_template/IP/Example/readme.txt", add MDK-ARM V5.37 related information.
  294. /*----------------------------------------------------------------------------------------------------------*/
  295. /* HT32_STD_1xxxx_FWLib_V1.0.10_2585 */
  296. /*----------------------------------------------------------------------------------------------------------*/
  297. Release Date: 2022-04-14
  298. Main Changes
  299. + Update EEPROM Basic and EEPROM Emulation middleware, fix the include and define sequence.
  300. "utilities/middleware/eeprom_basic.h"
  301. "utilities/middleware/eeprom_emulation.h"
  302. + Update UART Module middleware, add the "UARTM_IsTxFinished()" API.
  303. "utilities/middleware/uart_module.c"
  304. "utilities/middleware/uart_module.h"
  305. Others
  306. + Update e-Link32 Pro/Lite Command line tool as "V1.0.15" ("utilities/elink32pro/eLink32pro.exe").
  307. /*----------------------------------------------------------------------------------------------------------*/
  308. /* HT32_STD_1xxxx_FWLib_V1.0.10_2585 */
  309. /*----------------------------------------------------------------------------------------------------------*/
  310. Release Date: 2022-04-14
  311. Main Changes
  312. + Update EEPROM Basic and EEPROM Emulation middleware, fix the include and define sequence.
  313. "utilities/middleware/eeprom_basic.h"
  314. "utilities/middleware/eeprom_emulation.h"
  315. + Update UART Module middleware, add the "UARTM_IsTxFinished()" API.
  316. "utilities/middleware/uart_module.c"
  317. "utilities/middleware/uart_module.h"
  318. Others
  319. + Update e-Link32 Pro/Lite Command line tool as "V1.0.15" ("utilities/elink32pro/eLink32pro.exe").
  320. /*----------------------------------------------------------------------------------------------------------*/
  321. /* HT32_STD_1xxxx_FWLib_V1.0.9_2556 */
  322. /*----------------------------------------------------------------------------------------------------------*/
  323. Release Date: 2022-03-15
  324. Main Changes
  325. + Change to the new Holtek version format (Vm.n.r).
  326. + Add new "FMC/FLASH_OperationNoHalt" example.
  327. + Modify "utilities/common/ring_buffer.c", fix the thread-safe issue of "Buffer_GetLength()".
  328. + Update "GNU_ARM/linker.ld", fix the heap/stack area overlap problem.
  329. + Add "ADC_SamplingTimeConfig()" function for the "ht32f1xxxx_adc_02.c".
  330. Others
  331. + Update comment, format, typing error, and coding style.
  332. + Modify "bool, TRUE, FALSE" define way for C++/.cpp applications.
  333. + Update "startup_ht32fxxxxx_nn.s", support "USE_HT32_CHIP" define exist at startup.s and project Asm
  334. setting in the same time (project's Asm Define has the higher priority).
  335. + Remove unuse global variable "DelayTime" of "ebi_lcd.c" and "spi_lcd.c".
  336. + Update "spi_lcd.c/.h", fix the GPIO Chip SEL define mistake.
  337. + Add following middleware.
  338. "utilities/middleware/uart_module.c"
  339. "utilities/middleware/uart_module.h"
  340. + Update related middleware (eeprom_basic and eeprom_emulation).
  341. + Update e-Link32 Pro/Lite Command line tool as "V1.0.14" ("utilities/elink32pro/eLink32pro.exe").
  342. /*----------------------------------------------------------------------------------------------------------*/
  343. /* HT32_STD_1xxxx_FWLib_v008_2470 */
  344. /*----------------------------------------------------------------------------------------------------------*/
  345. Release Date: 2021-08-19
  346. Main Changes
  347. + Add "ht32_time.c/.h" to support following new functions for delay, time measure, and timeout.
  348. "Time_Init()"
  349. "Time_Delay()"
  350. "Time_GetTick()"
  351. + Add new examples:
  352. - "ADC/OneShot_SWTrigger_ByTM"
  353. - "GPIO/Input"
  354. - "GPIO/Output"
  355. - "Time/TimeFun"
  356. - "Time/TimeFun_UserConf"
  357. - "USART/RS485_NMM_Slave"
  358. + Add new definition, "FLASH_WAITSTATE_MAX".
  359. + Add "USART_PARITY_MARK" and "USART_PARITY_SPACE" for the UART parity mode.
  360. + Update "ADC_RegularTrigConfig()" and "AC_TRIG_XXXX" define to support all the trigger source of ADC.
  361. + Add "CKCU_ADCPRE_DIV1" parameter of "CKCU_SetADCnPrescaler()" for the HT32F12364.
  362. + Modified "SDIO_ClearFlag()", disable Status Enable Register (SER) to clear SDIO_FLAG_BUF_OVERFLOW and
  363. SDIO_FLAG_BUF_UNDERFLOW.
  364. + Fix the result mistake of the marco below of HT32F12364 (LIBCFG_FLASH_2PAGE_PER_WPBIT is missing).
  365. "#define FLASH_WP_PAGE_SET(OP, PAGE)"
  366. "#define FLASH_WP_PAGE_CLEAR(OP, PAGE)"
  367. "#define FLASH_IS_WP_PAGE(OP, PAGE)"
  368. + Update following example, modify the default value of "gIsINEmpty" from TRUE to FALSE. The default value
  369. TRUE may cause the F/W to not send CSW after the first Inquiry CBW Command in a specific condition.
  370. "example/USBD/HID_Keyboard_Mass_Storage"
  371. "example/USBD/Mass_Storage"
  372. "example/USBD/Mass_Storage_IAP"
  373. "example/USBD/Mass_Storage_SDIO"
  374. Others
  375. + Update comment, format, typing error, and coding style.
  376. + Fix compile error when turn on Library debug mode (HT32_LIB_DEBUG = 1).
  377. + Update e-Link32 Pro Commander to V1.10.
  378. /*----------------------------------------------------------------------------------------------------------*/
  379. /* HT32_STD_1xxxx_FWLib_v007_2414 */
  380. /*----------------------------------------------------------------------------------------------------------*/
  381. Release Date: 2021-05-11
  382. Main Changes
  383. + Add new examples:
  384. - "EXTI/GPIO_Interrupt"
  385. - "CKCU/HSI_AutoTrim_By_LSE"
  386. + Update the IAP example of HT32F12364 project:
  387. - IAR EWARM v6/v7/v8:
  388. 1. Modify "startup_ht32f1xxxx_03.s" to "startup_ht32f1xxxx_iar_03.s".
  389. 2. Modify "ht32f1xxxx_adc.c" to "ht32f1xxxx_adc_02.c".
  390. - Keil MDK-ARM v4/v5: Modify "ht32f1xxxx_adc.c" to "ht32f1xxxx_adc_02.c".
  391. + Fix the system stuck in CKCU_HSIAutoTrimCmd() because of the misjudgment of CKCU_HSIAutoTrimIsReady().
  392. + Fix the CHIP ID error. Fixed "USE_HT32_CHIP=3" to "USE_HT32_CHIP=16". The fixed files are as follows:
  393. - IAP/IAP_Text_RAM/EWARM/Project_12364_IAP.ewp
  394. - IAP/IAP_UI/EWARM/Project_12364_IAP.ewp
  395. + Fix the syntax error on the "IAP/IAP_Text_RAM/EWARM/startup_ht32f1xxxx_iar_03_iap.s".
  396. Others
  397. + Update comment, format, typing error, and coding style.
  398. + Update the version of eLink32pro.exe to 1.0.1.1.
  399. + Update the following project setting:
  400. - IAR EWARM v6/v7: Modify "_ht32_project_source.c" to "_ht32_project_source.h".
  401. - SEGGER Embedded Studio: Add the new definition "arm_compiler_variant="SEGGER"".
  402. /*----------------------------------------------------------------------------------------------------------*/
  403. /* HT32_STD_1xxxx_FWLib_v006_2361 */
  404. /*----------------------------------------------------------------------------------------------------------*/
  405. Release Date: 2021-02-26
  406. Main Changes
  407. + Add "Create Project Configuration Menu" to choose the target IDE and Device when the first time to do the
  408. create project operation of the example. The configuration file, "_CreateProjectConfig.bat" is saved to
  409. the root path of the HT32 Firmware Library. You can reset the create project IDE/IC configuration anytime
  410. by deleting the configuration file.
  411. Target IDE/Compiler:
  412. - Keil MDK-ARM v5
  413. - Keil MDK-ARM v4
  414. - IAR EWARM v8
  415. - IAR EWARM v6/v7
  416. - SEGGER Embedded Studio
  417. - GNU [with Keil and GNU make]
  418. - SourceryG++Lite [with Keil]
  419. Target Device:
  420. - xxxxx: Single Device
  421. - xxx*: Series
  422. + Add new examples:
  423. - "NVIC/Disable_Interrupt"
  424. - "TM/InternalTrigger"
  425. - "TM/PWM_Buzzer"
  426. - "WDT/Auto_Enable"
  427. + Add Flash programming function of GNU Maker (via e-Link32 Pro/Lite Commander).
  428. "make IC=xxxxx eraseall"
  429. "make IC=xxxxx program"
  430. "make IC=xxxxx run"
  431. + Update "CKCU_HSIAutoTrimCmd()" and "CKCU_HSIAutoTrimIsReady()" function to improve clock stability.
  432. + Fix the cache address problem of "SDDISK_Read()" function.
  433. "USBD/Mass_Storage/sd_disk.c", "USBD/Mass_Storage_SDIO/sd_disk.c"
  434. + Update GNU project (*.uvprojx), fix the compile error when use new GNU Arm version
  435. ("gcc-arm-none-eabi-10-2020-q2-preview-win32" or above).
  436. + Fix Keil compiling error when disable both retarget and MicroLib.
  437. + Update "ht32f1xxxx_01.h", fix the compatibility issue when user include "stdbool.h".
  438. + Modify GNU compiler settings, output text file (disassembly) after building the code.
  439. + Add "HT32_FWLIB_VER" and "HT32_FWLIB_SVN" in "ht32f1xxxx_lib.h" for the version information of
  440. HT32 Firmware Library.
  441. Example:
  442. "#define HT32_FWLIB_VER (006)"
  443. "#define HT32_FWLIB_VER (2361)"
  444. + Add new AFIO define in "ht32f1xxxx_gpio.h".
  445. - "AFIO_FUN_MCTM1"
  446. - "AFIO_FUN_PWM"
  447. - "AFIO_FUN_PWM0", "AFIO_FUN_PWM1", "AFIO_FUN_PWM2", "AFIO_FUN_PWM3"
  448. + Add following alias of MCTM IRQ handler
  449. "#define MCTM0_IRQn MCTM0UP_IRQn"
  450. "#define MCTM0_IRQHandler MCTM0UP_IRQHandler"
  451. "#define MCTM1_IRQn MCTM1UP_IRQn"
  452. "#define MCTM1_IRQHandler MCTM1UP_IRQHandler"
  453. Others
  454. + Update comment, format, typing error, and coding style.
  455. + Update "SPI/FIFO_SEL_Hardware" example, add Rx FIFO Timeout function and fix data loss issue.
  456. + Update "USBD/Mass_Storage" example, add "HTCFG_SD_MAXSPEED" define for different board.
  457. + Update "utilities/common/spi_lcd.c".
  458. - Remove duplicate SPI parameter setting of "LCD_Init()".
  459. - Update SPI chip select define and SPI configuration by "LCD_SPI_SEL_AFIO_MODE".
  460. - Swap the "GPIO_DirectionConfig()" and "GPIO_SetOutBits()" function to prevent transient state
  461. of SPI_SEL pin.
  462. + Update "_ProjectConfig*.bat" files.
  463. + Add "Project Source File Setting" functions ("_ProjectSource.ini" and "_ProjectSource.bat").
  464. + Rename "_CreateProjectUSB.bat" as "_CreateProject.bat".
  465. + Add dummy xxTM C files, to notify the user that SCTM/PWM/GPTM/MCTM timer use the "ht32f1xxxx_tm.c" driver.
  466. "ht32f1xxxx_gptm.c", "ht32f1xxxx_pwm.c", "ht32f1xxxx_sctm.c"
  467. + Add "IS_IPN_MCTM()" and "IS_IPN_GPTM" macro, for use to confirm the xxTMn is GPTM or MCTM.
  468. + Update comment and board/pin configuration of "ADC/OneShot_TMTrigger_PDMA" example.
  469. + Update and sync startup.s/system.c files.
  470. /*----------------------------------------------------------------------------------------------------------*/
  471. /* HT32F1xxxx_FWLib_v005_2207 */
  472. /*----------------------------------------------------------------------------------------------------------*/
  473. Release Date: 2020-08-11
  474. Main Changes
  475. + Add the following files to use e-Link32 Pro with SEGGER Embedded Studio. Refer to the
  476. "readme e-Link32 Pro.txt" for how to use it.
  477. "emStudiov4/readme e-Link32 Pro.txt"
  478. "emStudiov4/Project_xxxxx.bat"
  479. "emStudiov4/_MassErase.bat"
  480. + Fix the "I2S_FIFOTrigLevelConfig()" error which did not clear the field of I2S FCR correctly.
  481. + Fix "RPRE_MASK" define error for "RTC_SetPrescaler()" function.
  482. + Add "SPI_FLASH_WaitForWriteEnd()" function in the end of the write status operation
  483. ("SPI_FLASH_WriteStatus()").
  484. + Modify "SPI_FLASH_WaitForWriteEnd()" function to return value of status register.
  485. + Add below notice of examples to inform the user to check the local structure variable without a
  486. default value.
  487. "Notice that the local variable (structure) did not have an initial value.
  488. Please confirm that there are no missing members in the parameter settings below this function."
  489. + Add "LIBCFG_MAX_SPEED" in the file "ht32fxxxxx_libcfg.h" which indicate the maximum core speed.
  490. + Add the following definition for convenience.
  491. PDMACH0_IRQn ~ PDMACH5_IRQn
  492. AFIO_FUN_MCTM0
  493. AFIO_FUN_GPTM0 ~ AFIO_FUN_GPTM3
  494. AFIO_FUN_PWM0
  495. AFIO_FUN_SCTM0 ~ AFIO_FUN_SCTM2
  496. + Add new examples.
  497. "TM/PWM"
  498. "TM/UpdateEvent"
  499. + Add "s64/u64" definition.
  500. Others
  501. + Update comment, format, typing error, and coding style.
  502. + Add below notice in the "FMC/FLASH_Security" example.
  503. "The Option Byte will be write protected (cannot be changed again) after the
  504. Security Protection is enabled. Refer to the user manual for details."
  505. + Remove HSI disable setting of Configuration Wizard and add notice in the "system_xxxxx_nn.c".
  506. + Update the following examples to remove compiler warning of the GNU compiler.
  507. "USBD/Mass_Storage"
  508. "USART/PDMA"
  509. "USART/Interrupt"
  510. + Add "-Waddress-of-packed-member" #pragma of below examples to remove compiler warning of the
  511. GNU compiler.
  512. "USBD/Mass_Storage"
  513. "USBD/Mass_Storage_IAP"
  514. "USBD/Mass_Storage_SDIO"
  515. "USBD/HID_Keyboard"
  516. "USBD/HID_Keyboard_Joystick"
  517. "USBD/HID_Keyboard_Mass_Storage"
  518. "USBD/HID_Keyboard_Virtual_COM"
  519. "USBD/HID_Mouse"
  520. /*----------------------------------------------------------------------------------------------------------*/
  521. /* HT32F1xxxx_FWLib_v004_2103 */
  522. /*----------------------------------------------------------------------------------------------------------*/
  523. Release Date: 2020-04-25
  524. Main Changes
  525. + Remove the "I2C_Cmd()" in the "I2C_Init()" function since it shall be called after the I2C related
  526. settings. User shall call the "I2C_Cmd()" by themself after the "I2C_Init()".
  527. + Update "system_ht32f1xxxx_02.c", modify the LDO related setting.
  528. + Add "USART_GetIntStatus()" function to get the enabled interrupt source.
  529. + Add "RETARGET_HSI_ATM" setting to turn on/off the auto-trim function of HSI ("ht32f1xxxx_conf.h").
  530. + Add "USBDClass_Reset()" into the "USBD/*" example to reset related flag for the self-power application.
  531. + Modify "ht32f5xxxx_aes.c", fix "AES_SetKeyTable()" and "_AES_CryptData()" functions who did not clear
  532. related fields before set it.
  533. + Rename examples as below.
  534. IP Old Name New Name
  535. -------- -------- --------
  536. ADC EXTITrigger_DiscontinuousMode Discontinuous_EXTITrigger
  537. ADC PDMA_ADCResult OneShot_TMTrigger_PDMA
  538. ADC Potentiometer_ContinuousMode Continuous_Potentiometer
  539. ADC TM_Trigger OneShot_PWMTrigger
  540. ADC TM_Trigger_with_Delay OneShot_PWMTrigger_with_Delay
  541. USART HyperTerminal_TxRx Retarget
  542. USART HyperTerminal_TxRx_Interrupt Interrupt
  543. USART HyperTerminal_TxRx_Interrupt_FIFO Interrupt_FIFO
  544. + Update the following example to improve readability.
  545. "ADC/AnalogWatchdog"
  546. "ADC/Continuous_Potentiometer"
  547. "ADC/Discontinuous_EXTITrigger"
  548. "ADC/InternalReferenceVoltage"
  549. "ADC/OneShot_PWMTrigger"
  550. "ADC/OneShot_PWMTrigger_with_Delay"
  551. "ADC/OneShot_TMTrigger_PDMA"
  552. "ADC/Two_Group_MaxCH"
  553. "USART/Interrupt"
  554. "USART/Interrupt_FIFO"
  555. "USART/PDMA"
  556. "USART/Polling"
  557. "USART/Retarget"
  558. "USBD/HID_Demo"
  559. "USBD/HID_DemoVendorReport"
  560. + Update UxART related example, turn on internal pull up to prevent unknown state.
  561. + Add new examples.
  562. "BFTM/OneShot"
  563. "BFTM/TimeMeasure"
  564. + Remove unnecessary RTC compare match restart setting of the RTC example
  565. (which cause the time not correct after entering the low power mode).
  566. + ADC to ADC0 related modification (to compatible with M0+ and ADC1).
  567. Modify "HT_ADC" and "ADC_IRQn" to "HT_ADC0" and "ADC0_IRQn".
  568. Modify "AFIO_FUN_ADC" as "AFIO_FUN_ADC0".
  569. Modify "CKCU_SetADCPrescaler()" to "CKCU_SetADCnPrescaler()".
  570. Add "CKCU_ADCPRE_ADCn_TypeDef".
  571. Modify "ADC_Freq" to "ADC0_Freq" of "CKCU_ClocksTypeDef".
  572. Modify "ADC" to "ADC0" of "RSTCU_PeripReset_TypeDef".
  573. Add "HT_ADC", "ADC_IRQn", "AFIO_FUN_ADC" define for backward compatibility.
  574. + Fix "HT_GPIOF" define error of HT32F12364.
  575. Others
  576. + Update "SPI/FIFO_SEL_Hardware" example, change the code location of the IP enable ("SPI_Cmd()").
  577. + Update "system_ht32fxxxxx_nn.c" (coding style).
  578. + Update "ht32_series.c/h" and "ht32_retarget_usbdconf.h" to improve the compatibly of the
  579. terminal software.
  580. + Update comment, format, typing error, and coding style.
  581. + Fix interrupt mode of UxART retarget, remove unnecessary FIFO/interrupt configuration of the
  582. retarget function.
  583. + Update format of "CKCU_PeripClockConfig_TypeDef" and "RSTCU_PeripReset_TypeDef".
  584. + Update and modify naming rule of the "HTCFG_xxxx" configuration define in the "ht32_board_config.h".
  585. + Update settings of project files.
  586. /*----------------------------------------------------------------------------------------------------------*/
  587. /* HT32F1xxxx_FWLib_v004_1946 */
  588. /*----------------------------------------------------------------------------------------------------------*/
  589. Release Date: 2019-11-28
  590. Main Changes
  591. + Move the "common/*.h" include from the begin to the end (after the pin define) in the file
  592. "HT32_Board/ht32fxxxx_sk/dvb.h". The original include way leads to the pin define lost when you
  593. use the EBI_LCD->EBI_LCD_RAM outside the "ebi_lcd.c".
  594. + Fix error of "_CreateProjectScript.bat" which cause the stack size and RW base can not be set by the
  595. "_ProjectConfig.bat" of the emStudiov4 project.
  596. + Add "GPIO_GetID()" function to convert HT_GPIOx to GPIO_Px.
  597. + Update "HID_Demo_UI.exe" to support HID Report ID.
  598. + Add "USBD/HID_DemoVendorReport" example.
  599. + Modify "SPI_Init()" function, fix SPIx Clock Prescaler setting of HT32F12364.
  600. + Modify "system_ht32f1xxxx_03.c", fix PLLCFGR initiation error which cause the "PLL_CLK_SRC_DIV" setting
  601. is not work.
  602. + Add "RETARGET_UxART_BAUDRATE" setting to change the retarget UART baudrate in "ht32f1xxxx_conf.h".
  603. + Add "RETARGET_HSI_ATM" setting to turn on/off the auto-trim function of HSI.
  604. + Add "RETARGET_DEFINE_HANDLER" setting to remove the UxARTn_IRQHandler() define of the retarget.
  605. This setting is used for the model who grouping two UART Interrupt into one vector.
  606. + Add non-block mode of USB Virtual-COM retarget function ((Drop data if USB or terminal software is
  607. not ready).
  608. + Modify "PWRCU_SetLDOFTRM()" function, fix the error which cause the LDO output voltage fine trim is
  609. not work.
  610. + Update "PWRCU_DeepSleep2()" to restore the LDO output voltage fine trim after system wakeup.
  611. + Add SWCLK toggle of "GPIO_DisableDebugPort()" function.
  612. Others
  613. + Add "utilities/common/lcd.h" to put the lcd related register together.
  614. + Update format and coding style.
  615. + Add PLL Output frequency comment of "system_ht32f1xxxx_nn.c".
  616. + Update project files.
  617. .c and .h files order.
  618. Project format.
  619. Include path order.
  620. + Add "USAGE_PAGE_L" define of "USB/HID_Demo" example.
  621. + Fix typing error of "ht32f1xxxx_conf.h".
  622. /*----------------------------------------------------------------------------------------------------------*/
  623. /* HT32F1xxxx_FWLib_v004_1812 */
  624. /*----------------------------------------------------------------------------------------------------------*/
  625. Release Date: 2019-09-11
  626. Main Changes
  627. + Add new device support.
  628. HT32F12364
  629. + Update "ebi_lcd.c/h", fix LCD_SPI_BL_GPIO_XXX define error (shall be LCD_EBI_BL_GPIO_XXX).
  630. + Update USB example, use USB PLL by default (if USB PLL exist).
  631. + Fix function name typing error
  632. SPI_GUADTCmd() -> SPI_GUARDTCmd()
  633. SPI_GUADTConfig -> SPI_GUARDTConfig()
  634. + Update "ADC_RegularGroupConfig()" and "ADC_HPGroupConfig()", prevent to enable the ADC directly after
  635. the above function call. User shall use the "ADC_Cmd(HT_ADC, ENABLE);" to enable the ADC.
  636. + Rename following files.
  637. "IAR/startup_ht32f1xxxx_01.s" to "IARstartup_ht32f1xxxx_iar_01.s"
  638. "IAR/startup_ht32f1xxxx_03.s" to "IARstartup_ht32f1xxxx_iar_03.s"
  639. Others
  640. + Update comment and coding style.
  641. + Update "USART/HyperTerminal_TxRx_Interrupt" example, remove unnecessary configuration of LED.
  642. + Update readme file of "EBI/LCD" example.
  643. + Add "PWRCU/PowerDown_RTC" example.
  644. + Add "PWRCU/PWRCU_PowerDown_WAKEUPPin" example.
  645. + Add "RTC/Time" example.
  646. + Update and sync "ht32f1xxxx_conf.h".
  647. + Update and sync "HT32F1xxxx_01_DebugSupport.ini".
  648. + Update "ht32f1xxxx_tm.c", remove unnecessary variable initialization.
  649. + Update "ht32_op.c" and "ht32_op.s", edit comment of WDT Enable function.
  650. /*----------------------------------------------------------------------------------------------------------*/
  651. /* HT32F1xxxx_FWLib_v003_1679 */
  652. /*----------------------------------------------------------------------------------------------------------*/
  653. Release Date: 2019-04-19
  654. Main Changes
  655. + Fix error of "CKCU_HSIAutoTrimClkConfig()" function which cause the HSI auto-trim not work.
  656. + Modify following define of ADC.
  657. ADC_CH_GNDREF -> ADC_CH_GND_VREF
  658. ADC_CH_VREF -> ADC_CH_VDD_VREF
  659. Others
  660. + None.
  661. /*----------------------------------------------------------------------------------------------------------*/
  662. /* HT32F1xxxx_FWLib_v003_1673 */
  663. /*----------------------------------------------------------------------------------------------------------*/
  664. Release Date: 2019-04-09
  665. Main Changes
  666. + Add SEGGER Embedded Studio IDE support (beta version).
  667. + Update "ht32f1xxxx_usbd.c" and "ht32_usbd_core.c", add Force USB Reset Control function (apply to specific
  668. model only).
  669. + Update Create Project script, add Script folder in project_template.
  670. + Add "TM/TriggerCounter" example.
  671. + Add "USBD/HID_Keyboard_Mass_Storage" example.
  672. Others
  673. + Update comment of example code.
  674. + Update define of "USBD/Mass_Storage" example.
  675. + Update "EXTI/WakeUp_DeepSleepMode1" Example, add LED3 (for some SK have only LED2 and LED3 on board).
  676. + Update/sync startup.s/system.c files.
  677. + Update/sync "HT32F1xxxx_01_DebugSupport.ini".
  678. + Update/sync "ht32_op.s" and "ht32_op.c".
  679. + Update "BootProcess" function.
  680. + Update/sync "FlashMacro.mac".
  681. /*----------------------------------------------------------------------------------------------------------*/
  682. /* HT32F1xxxx_FWLib_v002_1496 */
  683. /*----------------------------------------------------------------------------------------------------------*/
  684. Release Date: 2018-12-17
  685. Main Changes
  686. + Modify Control IN/OUT method of USB Core, to fix USB transfer problem when CPU in the lower speed or late
  687. USB interrupt case.
  688. + Add workaround for PDMA CH3 issue (Interrupt Enable bit of CH3 is not work).
  689. Others
  690. + Add "USBD_DisableDefaultPull()" function to disable pull resistance when the USB is not use.
  691. + Rename RTC example as below.
  692. "Calendar" -> "Time_BackupDomain"
  693. + Add new example.
  694. "RTC/Calendar_BackupDomain"
  695. "FMC/EnableProtectionByFW"
  696. + Update "EXTI/WakeUp_DeepSleepMode1" example.
  697. + Update coding style.
  698. /*----------------------------------------------------------------------------------------------------------*/
  699. /* HT32F1xxxx_FWLib_v002_1406 */
  700. /*----------------------------------------------------------------------------------------------------------*/
  701. Release Date: 2018-09-30
  702. Main Changes
  703. + Update HardFault_Handler of "ht32f1xxxx_01_it.c",add the debug instruction and system reset.
  704. + Add "RAND/Random_Number" example and update "ht32_rand.c".
  705. + Add "__HT_check_sp" and "__HT_check_heap" symbol into startup.s and watchpoint command into
  706. "HT32F1xxxx_01_DebugSupport.ini" for debug stack/heap underflow, overflow, and overwrite.
  707. + Update "USBD/HID_Keyboard_Joystick" and "USBD/HID_Mouse" example, change the set flag sequence
  708. (before USBDCore_EPTWriteINData).
  709. + Add GNU Make support of GNU Arm compiler.
  710. Others
  711. + Add "objcooy.txt" which shows how to use obj tools of GNU Arm compiler.
  712. + Update format and coding style.
  713. /*----------------------------------------------------------------------------------------------------------*/
  714. /* HT32F1xxxx_FWLib_v002_1367 */
  715. /*----------------------------------------------------------------------------------------------------------*/
  716. Release Date: 2018-08-02
  717. Main Changes
  718. + Add GNU Arm compiler support.
  719. - Add project_template related files
  720. - "startup_ht32f5xxxx_gcc_nn.s"
  721. - "linker.ld" (link script)
  722. + Update "ht32f5xxxx_tm.c/.h", add following functions which have TM_CH_n parameter.
  723. void TM_ForcedOREF(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, TM_OM_Enum ForcedAction)
  724. void TM_SetCaptureCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, u16 Cmp)
  725. void TM_SetAsymmetricCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, u16 Cmp)
  726. u32 TM_GetCaptureCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n)
  727. Others
  728. + Add "USBD/HID_Keyboard_Virtual_COM" example.
  729. + Fix compile error when turn on Library debug mode (HT32_LIB_DEBUG = 1).
  730. + Modify "example/NVIC/Vector_Table_Offset" example code to support GUN compiler.
  731. + Simplify "example/USART/HyperTerminal_TxRx_Interrupt" example.
  732. /*----------------------------------------------------------------------------------------------------------*/
  733. /* HT32F1xxxx_FWLib_v001_1302 */
  734. /*----------------------------------------------------------------------------------------------------------*/
  735. Release Date: 2018-06-11
  736. Main Changes
  737. + Add SourceryG++Lite compiler support.
  738. - Add project_template related files
  739. - "startup_ht32f1xxxx_cs3_nn.s"
  740. - "linker.ld" (link script)
  741. + Add DMA support of "utilities/common/spi_flash.c".
  742. + Add "EXTI_GetEdgeFlag()" function.
  743. + Add LIBCFG_AES_SWAP function to process endian issue of AES.
  744. Others
  745. + Update "ht32f1xxxx_conf.h" for AUTO_RETURN (\r) option.
  746. + Update format of IAR "startup_ht32f1xxxx_01.s".
  747. + Fix "LIBCFC_CKCU_USB_PLL" typing error of ht32fxxxx_libcfg.h and example code (shall be LIBCFG_CKCU_USB_PLL).
  748. + Fix IAP_PPBIT define error of "IAP/IAP_UI" example.
  749. + Update "ht32f1xxxx_ckcu.c" to remove unnecessary register write of PLL.
  750. /*----------------------------------------------------------------------------------------------------------*/
  751. /* HT32F1xxxx_FWLib_v001_1153 */
  752. /*----------------------------------------------------------------------------------------------------------*/
  753. Release Date: 2018-02-28
  754. Main Changes
  755. + Add "USBD/USB_UAC_Sound_RateControl" Example.
  756. + Add "I2C_SpeedOffset" parameter of I2C_InitTypeDef to reach real I2C speed.
  757. Note: Related examples are also updated.
  758. + Change EBI timing of "ebi_lcd.c" to fix LCD display problem on HT32F12345 with ESK32-A2A31.
  759. + Add "CKCU/HSI_AutoTrim_By_USB" Example.
  760. + Update "CKCU_HSIAutoTrimIsReady" function of "ht32f5xxxx_ckcu.c".
  761. Others
  762. + Update format and coding style.
  763. /*----------------------------------------------------------------------------------------------------------*/
  764. /* HT32F1xxxx_FWLib_v001_1023 */
  765. /*----------------------------------------------------------------------------------------------------------*/
  766. Release Date: 2017-12-30
  767. Main Changes
  768. + Update boot related functions of "startup_ht32f1xxxx_nn.s" and "system_ht32f1xxxx_nn.c".
  769. + Update "ht32_op.c" and "ht32_op.s" to support enable WDT function by Flash Option byte (Apply to specific
  770. model only).
  771. + Add "GPIO_DisableDebugPort()"" function to disable SWD function.
  772. Others
  773. + Fix IAR Project setting error of IAP Example.
  774. + Add "RTC_LSILoadTrimData()" function.
  775. + Add "LIBCFG_RTC_LSI_LOAD_TRIM" define of HT32F165x.
  776. + Remove useless "RTC_LSICmd()"" function.
  777. + Update following examples, remove LSI enable code (LSI default on).
  778. "PWRCU/DeepSleepMode1"
  779. "PWRCU/BackupData"
  780. "PWRCU/DeepSleepMode2"
  781. "PWRCU/PowerDownMode"
  782. "RTC/Calendar"
  783. + Update I2S and USB UAC related examples (Coding style and remove unuse define).
  784. + Update USB Example, remove invalid remote wakeup configuration by define (Only HID class support Remote
  785. Wakeup).
  786. /*----------------------------------------------------------------------------------------------------------*/
  787. /* HT32F1xxxx_FWLib_v001_933 */
  788. /*----------------------------------------------------------------------------------------------------------*/
  789. Release Date: 2017-11-17
  790. Main Changes
  791. + Fix AES typing error of "ht32f1xxxx_aes.c/.h" (EBC to ECB).
  792. + Fix TM define error of "ht32f1xxxx_tm.c/.h".
  793. Others
  794. + Update "ht32_virtual_com.inf" file, add Digital Signature.
  795. + Update typing error of example code.
  796. /*----------------------------------------------------------------------------------------------------------*/
  797. /* HT32F1xxxx_FWLib_v001_899 */
  798. /*----------------------------------------------------------------------------------------------------------*/
  799. Release Date: 2017-10-19
  800. Main Changes
  801. + Update "SDIO/SDCard" Example code. Fix read Card SCR problem which causes SDIO working on 1-bit mode
  802. abnormally.
  803. Others
  804. + Update project setting.
  805. + Remove some project files. Use "CreateProject.bat" to copy project files automatically.
  806. + Add "LIBCFG_CHIPNAME" define.
  807. /*----------------------------------------------------------------------------------------------------------*/
  808. /* HT32F1xxxx_FWLib_v001_785 */
  809. /*----------------------------------------------------------------------------------------------------------*/
  810. Release Date: 2017-08-31
  811. Main Changes
  812. + Fix "ht32f1xxxx_conf.h" typing error ("_ADC" to "_AES").
  813. + Fix AES typing error (EBC to ECB).
  814. Others
  815. + Update "ht32_usbd_core.c" to support vendor function.
  816. + Add "USE_MEM_HT32F1xxxx" define into project.
  817. + Add "USE_MEM_HT32F1xxxx" default define into "ht32f1xxxx_xx_libcfg.h".
  818. + Rename "system_ht32f1xxxx.h" to "system_ht32f1xxxx_01.h" for PACK requirement.
  819. + Update IAP examples.
  820. /*----------------------------------------------------------------------------------------------------------*/
  821. /* HT32F1xxxx_FWLib_v001_671 */
  822. /*----------------------------------------------------------------------------------------------------------*/
  823. Release Date: 2017-07-27
  824. Main Changes
  825. + None
  826. Others
  827. + Update "ht32_op.c", add CK_CODE/CK_DATA/CK_CODEOP in Option Bytes (same format with e-Writer32).
  828. + Modify USB/Mass_Storage example for WIN10 compatibility issue.
  829. + Add "USE_MEM_HT32F1xxxx" support for memory size define (LIBCFG_FLASH_SIZE/LIBCFG_RAM_SIZE).
  830. + Add IAR EWARMv8 project template (create by IAR EWARM v8.11).
  831. + Upgrade the version of IAR EWARM project template from v6.20 to v6.50.
  832. Note:
  833. 1. Supported CMSIS-DAP: IAR EWARM v6.50 and above.
  834. 2. RDI/e-Link32 is not supported anymore from the v8.xx of IAR EWARM.
  835. Known Issue:
  836. + IAP example is not ready, will be update in next release.
  837. /*----------------------------------------------------------------------------------------------------------*/
  838. /* HT32F1xxxx_FWLib_v001_552 */
  839. /*----------------------------------------------------------------------------------------------------------*/
  840. Release Date: 2017-07-17
  841. Main Changes
  842. + Add example code.
  843. + Update TM for PDMA support.
  844. + Fix "USART_RXTL_01/04/08/14" define error.
  845. + Fix "HT32F_DVB_BuzzerFun()" define error of "ht32f1xxxx_board_01.c".
  846. + Fix pin assignment error of "ht32f12366_sk.h"
  847. Others
  848. + Add BUTTON_MODE_WAKE_UP support for "ht32f1xxxx_sk.c/.h".
  849. + Update typing error and coding style.
  850. + Remove warning on old MDK-ARM version.
  851. + Update project setting.
  852. + Add DEINIT_ENABLE setting of "ht32f1xxxx_system_nn.c".
  853. /*----------------------------------------------------------------------------------------------------------*/
  854. /* HT32F1xxxx_FWLib_v001_167 */
  855. /*----------------------------------------------------------------------------------------------------------*/
  856. Release Date: 2017-06-14
  857. Main Changes
  858. + Initial version.
  859. Others
  860. +