Release_Notes.txt 97 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939
  1. /*********************************************************************************************************//**
  2. * @file Release_Notes.txt
  3. * @version V1.14.3
  4. * @date 2024-11-29
  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. // HT32F50020, HT32F50030
  30. // HT32F50220, HT32F50230
  31. // HT32F50231, HT32F50241
  32. // HT32F50343
  33. // HT32F50431, HT32F50441
  34. // HT32F50442, HT32F50452
  35. // HT32F52220, HT32F52230
  36. // HT32F52231, HT32F52241
  37. // HT32F52234, HT32F52244
  38. // HT32F52243, HT32F52253
  39. // HT32F52331, HT32F52341
  40. // HT32F52342, HT32F52352
  41. // HT32F52344, HT32F52354
  42. // HT32F52357, HT32F52367
  43. // HT32F53231, HT32F53241
  44. // HT32F53242, HT32F53252
  45. // HT32F54231, HT32F54241
  46. // HT32F54243, HT32F54253
  47. // HT32F57331, HT32F57341
  48. // HT32F57342, HT32F57352
  49. // HT32F59041, HT32F59741
  50. // HT32F59045
  51. // HT32F59746
  52. // HT32F5826, HT32F5828
  53. // HT32F0006
  54. // HT32F0008
  55. // HT32F52142
  56. // HT32F61030, HT32F61041
  57. // HT32F61052
  58. // HT32F61141
  59. // HT32F61244, HT32F61245
  60. // HT32F61352
  61. // HT32F61355, HT32F61356, HT32F61357
  62. // HT32F61630, HT32F61641
  63. // HT32F61730, HT32F61741
  64. // HT32F62030, HT32F62040, HT32F62050
  65. // HT32F65230, HT32F65240
  66. // HT32F65232
  67. // HT32F66242, HT32F66246
  68. // HT32F67041, HT32F67051
  69. // HT32F67232
  70. // HT32F67233
  71. // HT32F67741
  72. // HT32F67742
  73. // HT50F32002, HT50F32003
  74. // HT50F3200S, HT50F3200T
  75. // HF5032
  76. // MXTX6306
  77. // MXTX52231, MXTX52352
  78. // NW32F61242
  79. /*----------------------------------------------------------------------------------------------------------*/
  80. /* HT32_STD_5xxxx_FWLib_V1.14.3_8294 */
  81. /*----------------------------------------------------------------------------------------------------------*/
  82. Release Date: 2024-11-29
  83. Main Changes
  84. + Add new device support.
  85. - HT32F61052
  86. Others
  87. + Update comment, format, typing error, and coding style.
  88. /*----------------------------------------------------------------------------------------------------------*/
  89. /* HT32_STD_5xxxx_FWLib_V1.14.2_8286 */
  90. /*----------------------------------------------------------------------------------------------------------*/
  91. Release Date: 2024-11-26
  92. Main Changes
  93. + Add example support of HT32F65232.
  94. + Fix "ADC/OneShot_SWTrigger/ht32f5xxxx_01_it.h" parameter error.
  95. - Rename "ADC_IRQHandler" to "HTCFG_ADC_IRQHandler"
  96. + Add the "DISABLE_BOOTPIN_OUTPUT" definition in "CKCU/Clock_Configuration/ht32_board_config.h" to prevent
  97. circuit conflicts on certain development boards.
  98. - HT32F65232_DVB
  99. - HT32F66242_DVB
  100. - HT32F66246_DVB
  101. + Modify the "OPA/OPA_Enable" example to use a single OPA and add "ht32_board_config.h".
  102. + Add the "LED_HIGH_ACTIVE" definition to the following files and Fix "ht32f5xxxx_board_01.c" to align with
  103. the LED circuit on the development board:
  104. - bm18b367a_dvb.h
  105. - bm53b367a_dvb.h
  106. - ht32f65232_dvb.h
  107. - ht32f65240_dvb.h
  108. - ht32f66242_dvb.h
  109. - ht32f66246_dvb.h
  110. Others
  111. + Update comment, format, typing error, and coding style.
  112. /*----------------------------------------------------------------------------------------------------------*/
  113. /* HT32_STD_5xxxx_FWLib_V1.14.1_8273 */
  114. /*----------------------------------------------------------------------------------------------------------*/
  115. Release Date: 2024-11-08
  116. Main Changes
  117. + Add new device support.
  118. - HT32F66242, HT32F66246
  119. + Add new IP drivers.
  120. - Programmable Gain Amplifier, "ht32f65xxx_66xxx_pga.c/h"
  121. - Coordinate Rotation Digital Computer, "ht32f66xxx_cordic.c/h"
  122. - Proportion Integration Differentiation driver, "ht32f66xxx_pid.c/h"
  123. + Add new examples:
  124. - "CORDIC/CosSin_Interrupt"
  125. - "CORDIC/CosSin_Polling"
  126. - "PGA/Comparator"
  127. - "PGA/Inverting"
  128. - "PGA/InvertingAdder"
  129. - "PGA/NonInverting"
  130. - "PGA/NonInvertingAdder"
  131. - "PGA/VoltageFollower"
  132. - "PID/ChangePara_inSameMode"
  133. - "PID/Interrupt"
  134. - "PID/MultiMode"
  135. - "PID/Polling"
  136. + Add the "LIBCFG_CKCU_NO_LPCR" definition in "ht32f65230_40_libcfg.h" and "ht32f65232_libcfg.h" to
  137. fix the "CKCU_BKISOCmd" the redundant flow of the HT32F65230/65240 and HT32F65232 (related to the Low Power Control).
  138. + Add the "LIBCFG_PWRCU_NO_DS2_MODE" definition in "ht32f65230_40_libcfg.h" and "ht32f65232_libcfg.h" to
  139. fix the "PWRCU_DeepSleep2()" and "PWRCU_GetDMOSStatus()" the redundant flow
  140. of the HT32F65230/65240 and HT32F65232 (related to the Deep-Sleep2 Mode).
  141. + Remove the "LIBCFG_PWRCU_NO_PORF" definition in "ht32f65232_libcfg.h" to fix the "PWRCU_DeInit()"
  142. missing flow of the HT32F65232 (related to the Power-On Reset Flag).
  143. + Change the HTCFG_TIMER_PRESCALER value according to HTCFG_PULSE_SYS_CLK is less
  144. than or greater than 60 MHz to ensure that the Counter-Reload value is less than 0xFFFF.
  145. - "TM/UpdateEvent"
  146. - "TM/SinglePulseMode"
  147. - "TM/TriggerCounter"
  148. Others
  149. + Update comment, format, typing error, and coding style.
  150. + Change define "LIBCFG_CMP_65x_VER" to "LIBCFG_CMP_65x_66x_VER" for the HT32F65xxx and HT32F66xxx series ICs.
  151. + Add "IS_ADC_TRIG_CMP2()" macro, for use to confirm the adc trigger is CMP2 in ht32f65xxx_66xxx_adc.h
  152. + Fix the bit position error in the "IS_ADC_INT" macro.
  153. + Change define "LIBCFG_TM_652XX_V1" to "LIBCFG_TM_65X_66X_V1"
  154. + Change define "LIBCFG_TM_65232" to "LIBCFG_TM_65X_66X_BK_FROM_CMP" and "LIBCFG_TM_65X_66X_RECCDI"
  155. /*----------------------------------------------------------------------------------------------------------*/
  156. /* HT32_STD_5xxxx_FWLib_V1.13.2_8218 */
  157. /*----------------------------------------------------------------------------------------------------------*/
  158. Release Date: 2024-10-23
  159. Main Changes
  160. + Fix "CAN_Legacy/TxRxLoopback" example compiling error.
  161. Others
  162. + Update comment, format, typing error, and coding style.
  163. /*----------------------------------------------------------------------------------------------------------*/
  164. /* HT32_STD_5xxxx_FWLib_V1.13.1_8190 */
  165. /*----------------------------------------------------------------------------------------------------------*/
  166. Release Date: 2024-09-24
  167. Main Changes
  168. + Add new device support.
  169. - NW32F61242
  170. + Change the CAN IP Driver, switch to the latest designed API.
  171. + Add new examples.
  172. "CAN/Recv_DATA"
  173. "CAN/Recv_Interrupt"
  174. "CAN/Recv_Mask_Filter"
  175. "CAN/Recv_REMOTE"
  176. "CAN/Send_DATA"
  177. "CAN/Send_Recv_DATA"
  178. "CAN/Send_REMOTE"
  179. + Fix "AES_SetKeyTable()" and "AES_SetVectorTable()" Key and Vector index errors, which cause incorrect AES
  180. encryption and decryption.
  181. + Modify "I2C/7_bit_mode" example, fix pin assignment error of HT32F50343.
  182. Others
  183. + Update comment, format, typing error, and coding style.
  184. + Update AES examples.
  185. - Change the key, IV, and plain text from hex array to string, making the result easier to compare with
  186. online tools.
  187. - Add expected cipher text and compare it with the MCU's H/W AES result as an error-proofing mechanism.
  188. + Remove device support.
  189. - HT32F57541, HT32F57552
  190. /*----------------------------------------------------------------------------------------------------------*/
  191. /* HT32_STD_5xxxx_FWLib_V1.12.1_7949 */
  192. /*----------------------------------------------------------------------------------------------------------*/
  193. Release Date: 2024-08-08
  194. Main Changes
  195. + Add new device support.
  196. - HT32F57541
  197. - HT32F57552
  198. + Update "uart_module.c" to fix the UART0 ~ UART3 not work issue of BM53A367A.
  199. Others
  200. + Update comment, format, typing error, and coding style.
  201. + Change path of the "Holtek.HT32_DFP.latest.pack".
  202. + Minor changes were made to the USBD "HID_Keyboard_Virtual_COM" and "Virtual_COM" examples.
  203. /*----------------------------------------------------------------------------------------------------------*/
  204. /* HT32_STD_5xxxx_FWLib_V1.11.1_7908 */
  205. /*----------------------------------------------------------------------------------------------------------*/
  206. Release Date: 2024-07-26
  207. Main Changes
  208. + Add new device support.
  209. - HT32F59045
  210. - MXTX52231, MXTX52352
  211. + Remove device support.
  212. - HT32F59046
  213. + Rename WDT parameters.
  214. - Old Name | New Name
  215. - --------------------------------- | ----------------------------
  216. - "MODE0_WDTSHLT_BOTH" | "WDT_SLEEP_HALT_NONE"
  217. - "MODE0_WDTSHLT_SLEEP" | "WDT_SLEEP_HALT_DEEPSLEEP"
  218. - "MODE0_WDTSHLT_SLEEP" | "WDT_SLEEP_HALT_ALL"
  219. + Update below files to support the BMduino shield/module Keil Driver.
  220. - Modify :"utilities/bmduino_board.h".
  221. - Add :"utilities/bmduino_check.h".
  222. + Modify "void StackUsageAnalysisInit(void)". Added parameter "u32 addr" and reimplemented as
  223. "void StackUsageAnalysisInit(u32 addr);"
  224. + Fix the below examples ADC_IRQHandler define error of HT32F65232 and HT32F65240.
  225. - "ADC/AnalogWatchdog"
  226. - "ADC/Continuous_Potentiometer"
  227. - "ADC/Discontinuous_EXTITrigger"
  228. - "ADC/OneShot_PWMTrigger"
  229. - "ADC/OneShot_PWMTrigger_with_Delay"
  230. - "ADC/OneShot_SWTrigger"
  231. + Modify example IO define of HT32F65232.
  232. - "ADC/AnalogWatchdog"
  233. - "ADC/Continuous_Potentiometer"
  234. - "ADC/Discontinuous_EXTITrigger"
  235. - "ADC/OneShot_PWMTrigger"
  236. - "ADC/OneShot_PWMTrigger_with_Delay"
  237. - "ADC/OneShot_SWTrigger"
  238. - "ADC/OneShot_TMTrigger_PDMA"
  239. Others
  240. + Update comment, format, typing error, and coding style.
  241. + Update ht32f5xxxx_01.h.
  242. - Modify the preprocessor define of "__ALIGN4", "__PACKED_H", "__PACKED_F" for old Arm Compiler V6.
  243. + Modify "void FLASH_SetRemappingMode(FLASH_Vector FLASH_BOOT_x);". Changed parameter name from
  244. "RemapMode" to "FLASH_BOOT_x".
  245. + Modify comments to remind users about "Stack Usage Analysis" notification.
  246. + Remove redefined "PWRRST_SET" setting in "ht32f5xxxx_pwrcu.c".
  247. + Update CKCU API. Enhanced program stability with robustness settings for parameter "PCLKPrescaler"
  248. in "CKCU_SetPeripPrescaler(..., CKCU_APBCLKPRE_TypeDef PCLKPrescaler)".
  249. + Update I2C Master middleware, improve setting way and fix minor errors.
  250. + Update the following middleware to support the BMduino Keil Driver.
  251. "utilities/middleware/i2c_master.c"
  252. "utilities/middleware/i2c_master.h"
  253. "utilities/middleware/spi_module.c"
  254. "utilities/middleware/spi_module.h"
  255. "utilities/middleware/uart_module.c"
  256. "utilities/middleware/uart_module.h"
  257. + Update xxTM IP Driver
  258. - Remove redundant "TM_ClearOREFConfig()" function.
  259. + Update "DAC_Cmd()" of "ht32f5xxxx_dac.c", remove compiler warning of the GNU compiler.
  260. /*----------------------------------------------------------------------------------------------------------*/
  261. /* HT32_STD_5xxxx_FWLib_V1.10.1_7761 */
  262. /*----------------------------------------------------------------------------------------------------------*/
  263. Release Date: 2024-06-11
  264. Main Changes
  265. + Add new device support.
  266. - HT32F61730, HT32F61741
  267. + Add new examples.
  268. "ADC/BandgapVoltage"
  269. "GPIO/SinkCurrentEnhanced"
  270. + Update related files of HT32F59046.
  271. + Fix the "USE_HT32_CHIP" ID error of HT32F52244 (change from 33 to 35).
  272. + Remove "LIBCFG_GPIO_SINK_CURRENT_ENHANCED" setting error for the following part number.
  273. HT32F50431/50441
  274. HT32F50442/50452
  275. HT32F53231/53241
  276. HT32F53242/53252
  277. HT32F54231/54241
  278. HT32F54243/54253
  279. + Change the ADC API, "ADC_VREFOutputCmd()" as "ADC_VREFOutputADVREFPCmd()".
  280. + Change the CKCU API, "CKCU_Set_HSIReadyCounter" as "CKCU_SetHSIReadyCounter()".
  281. + Add "LIBCFG_GPIO_SINK_CURRENT_ENHANCED" setting of HT32F50020/50030.
  282. + Improve the thread-safe capability of "utilities/common/ring_buffer.c".
  283. Others
  284. + Update comment, format, typing error, and coding style.
  285. + Update the project file of HT32F61141, change the "ht32f5xxxx_01_usbdconf.h" as ht32f5xxxx_02_usbdconf.h".
  286. + Update "SPI_DUALCmd()", "QSPI_QuadCmd()", and "QSPI_DirectionConfig()", make sure the SPI Bus is not busy
  287. before changing the settings.
  288. /*----------------------------------------------------------------------------------------------------------*/
  289. /* HT32_STD_5xxxx_FWLib_V1.9.2_7624 */
  290. /*----------------------------------------------------------------------------------------------------------*/
  291. Release Date: 2024-02-29
  292. Main Changes
  293. + Add new examples.
  294. "Tips/Checksum_CRC16"
  295. "Tips/StackOnTop"
  296. "USART/LIN_Master"
  297. "USART/LIN_Slave"
  298. "CAN/TxRxLoopback"
  299. + Add "LIBCFG_CMP_IVREF_CN_IN" define of the following parts, to fix the comparator function/feature
  300. missing (select VREF as inverted input).
  301. - HT32F50442/50452/53242/53252.
  302. + Add HT32 Stack Usage Analysis feature.
  303. - Modify "ht32f5xxxx_conf.h", add "HTCFG_STACK_USAGE_ANALYSIS" setting for enabling HT32 Stack Usage
  304. Analysis.
  305. - Update project templates and "ht32_cm0plus_misc.c/.h", add "StackUsageAnalysisInit()" function to
  306. initialize stack.
  307. - Update project files, add HT32 Stack Usage Analysis component viewer.
  308. + Update and sync "startup_ht32f5xxxx_nn.s" for the "Stack On Top" and "Stack Usage Analysis" feature.
  309. + Add "USE_LIBCFG_RAM_SIZE" define in Keil project files for the "Stack On Top" feature.
  310. + Modify "ht32f5xxxx_01.h", fix the MCTM alias mismatch.
  311. - "MCTMn_IRQHandler" alias from "MCTM0_G_IRQHandler" to "MCTM0_UP_IRQHandler"
  312. + Update related middleware (eeprom_emulation and spi_module).
  313. Others
  314. + Update comment, format, typing error, and coding style.
  315. + Update e-Link32 Pro/Lite Command line tool as "V1.20" ("utilities/elink32pro/eLink32pro.exe").
  316. + Update "TM/PWM_Buzzer/buzzer_pwm.c" to remove redefine alias (they are also defined in "ht32f5xxxx_01.h.).
  317. + Update Keil after build setting, add double quotes (") in the command to prevent space in the path issues.
  318. + Remove "ht32_board_config.h" from the "PDMA/SoftwareTrigger" example.
  319. /*----------------------------------------------------------------------------------------------------------*/
  320. /* HT32_STD_5xxxx_FWLib_V1.9.1_7446 */
  321. /*----------------------------------------------------------------------------------------------------------*/
  322. Release Date: 2023-12-22
  323. Main Changes
  324. + Add example support of BM18B367A DVB.
  325. + Add "system_ht32f5xxxx_18.c" for BM18B367A DVB.
  326. + Update "ht32f5xxxx_aes.c/h", changed API parameter 4 bytes to remove type conversion at driver layer.
  327. + Update example, add "__ALIGN4" to variables and enforced type conversion for 4 bytes read/write API calls.
  328. - "AES/CBC"
  329. - "AES/CTR"
  330. - "AES/ECB"
  331. + Update USB example, add the process of detecting USB bus status before USBDCore_LowPower().
  332. - "CKCU/HSI_AutoTrim_By_USB"
  333. - "USBD/*"
  334. + Update USART example for BM18B367A DVB, add the HSI auto trim by LSE related flow.
  335. - "USART/Interrupt"
  336. - "USART/Interrupt_FIFO"
  337. - "USART/PDMA"
  338. - "USART/Polling"
  339. - "USART/Retarget"
  340. - "USART/RS485_NMM_Slave"
  341. Others
  342. + Update comment, format, typing error, and coding style.
  343. /*----------------------------------------------------------------------------------------------------------*/
  344. /* HT32_STD_5xxxx_FWLib_V1.8.1_7371 */
  345. /*----------------------------------------------------------------------------------------------------------*/
  346. Release Date: 2023-12-06
  347. Main Changes
  348. + Update "ht32f5xxxx_usbd.c", fix the USB buffer unaligned handling mechanism.
  349. + Update "ht32f5xxxx_rtc.c", modify the RTC_LSECmd() related flow.
  350. + Fix example IO define error of BM53A367A DVB.
  351. - "I2C/PDMA"
  352. + Update example IO define for the latest version of BM53A367A DVB.
  353. - "TM/MatchOutputToggle"
  354. - "TM/PWM"
  355. + Update "ht32f5xxxx_adc.c" and "ht32f65xxx_66xxx_adc.c" to modify the ADC enable related flow.
  356. Others
  357. + Update comment, format, typing error, and coding style.
  358. /*----------------------------------------------------------------------------------------------------------*/
  359. /* HT32_STD_5xxxx_FWLib_V1.7.1_7327 */
  360. /*----------------------------------------------------------------------------------------------------------*/
  361. Release Date: 2023-11-01
  362. Main Changes
  363. + Fix example IO define conflict with LED1 of HT32F57352 Starter Kit.
  364. - "CMP/ComparatorInterrupt"
  365. + Fix example IO define error of HT32F50441.
  366. - "MCTM/ComplementaryOutput"
  367. + Update "ht32f5xxxx_ckcu.c", modify the HSI Auto Trim initial function related flow.
  368. + Update "ht32f5xxxx_adc.c" and "ht32f65xxx_66xxx_adc.c", modify the ADC enable related flow.
  369. + Update "ht32_op.c" and "ht32_op.s" to support new version of bootloader waiting time setting address.
  370. (The setting address is changed from 0x1FF0002C to 0x1FF0004C)
  371. + Add "ht32_op_V107.c" and "ht32_op_V107.s" to support the use of older versions of bootloader.
  372. Others
  373. + Update comment, format, typing error, and coding style.
  374. + Modify and check the example supportability of each IC.
  375. + Add the below file, for the BMduino shield.
  376. - "ht32_undef_IP.h"
  377. /*----------------------------------------------------------------------------------------------------------*/
  378. /* HT32_STD_5xxxx_FWLib_V1.6.2_7271 */
  379. /*----------------------------------------------------------------------------------------------------------*/
  380. Release Date: 2023-10-03
  381. Main Changes
  382. + Add example support.
  383. - HT32F53231/41, HT32F53242/52
  384. - HT32F50431/41, HT32F50442/52
  385. - HT32F52234/44
  386. + Fix example IO define error of HT32F52367.
  387. - "USBD/Mass_Storage"
  388. + Modify the example below, add volatile qualifier on some variables (in the for loop usage)
  389. to fix the Arm Compiler Version 6 optimization issue.
  390. ("u32" to "vu32", unsigned int to volatile unsigned int).
  391. - "FMC/FLASH_Security"
  392. + Modify the example below, change the timer used from GPTM to BFTM to increase support.
  393. - "PDMA/SoftwareTrigger"
  394. + Add the below folder, For the BMduino shield/module Keil Driver.
  395. - "BestModules"
  396. Others
  397. + Update comment, format, typing error, and coding style.
  398. + Adjust "LIBCFG_xxxxx" definition below.
  399. New:
  400. "LIBCFG_ADC_IVREF_DEFAULT_08V"
  401. /*----------------------------------------------------------------------------------------------------------*/
  402. /* HT32_STD_5xxxx_FWLib_V1.6.1_7190 */
  403. /*----------------------------------------------------------------------------------------------------------*/
  404. Release Date: 2023-08-31
  405. Main Changes
  406. + Add new device support.
  407. - HT32F61030, HT32F61041
  408. - HT32F50431, HT32F50441, HT32F50442, HT32F50452
  409. - HT32F53231, HT32F53241, HT32F53242, HT32F53252
  410. + Add Controller Area Network driver, "ht32f5xxxx_can.c/h".
  411. + Add new "CAN/FIFO" example.
  412. Others
  413. + Update comment, format, typing error, and coding style.
  414. + Update "project_template/Script" for adding project C++ source files and setting the chip model mechanism.
  415. - The updated files are as follows:
  416. "Script/_ProjectSource.bat"
  417. "Script/_ProjectSource.ini"
  418. + Update "project_template/Script" for improving script mechanism.
  419. - The updated files are as follows:
  420. "Script/_CreateProjectConfScript.bat"
  421. "Script/_CreateProjectScript.bat"
  422. "Script/_ht32_ic_name.ini"
  423. /*----------------------------------------------------------------------------------------------------------*/
  424. /* HT32_STD_5xxxx_FWLib_V1.5.1_7084 */
  425. /*----------------------------------------------------------------------------------------------------------*/
  426. Release Date: 2023-08-01
  427. Main Changes
  428. + Add new device support.
  429. - HT32F52234, HT32F52244
  430. + Modify DAC related define (The left side old one is still kept for backward compatible).
  431. - HT_DAC -> HT_DAC0
  432. - AFIO_FUN_DAC -> AFIO_FUN_DAC0
  433. - CKCU_PCLK_DAC -> CKCU_PCLK_DAC0
  434. + Modify API as below, add parameter "HT_DAC_TypeDef* HT_DACn" to select DAC engine from the DAC peripherals.
  435. Old API
  436. - DAC_DeInit(void)
  437. - DAC_ModeConfig(u8 ModeSel)
  438. - DAC_ReferenceConfig(u8 DAC_Ch, u32 RefSel)
  439. - DAC_ResolutionConfig(u8 DAC_Ch, u32 ResoSel)
  440. - DAC_OutBufCmd(u8 DAC_Ch, ControlStatus NewState)
  441. - DAC_Cmd(u8 DAC_Ch, ControlStatus NewState)
  442. - DAC_SetData(u8 DAC_Ch, u32 Data)
  443. - DAC_GetOutData(u8 DAC_Ch)
  444. New API
  445. - DAC_DeInit(HT_DAC_TypeDef* HT_DACn)
  446. - DAC_ModeConfig(HT_DAC_TypeDef* HT_DACn, u8 ModeSel)
  447. - DAC_ReferenceConfig(HT_DAC_TypeDef* HT_DACn, u8 DAC_Ch, u32 RefSel)
  448. - DAC_ResolutionConfig(HT_DAC_TypeDef* HT_DACn, u8 DAC_Ch, u32 ResoSel)
  449. - DAC_OutBufCmd(HT_DAC_TypeDef* HT_DACn, u8 DAC_Ch, ControlStatus NewState)
  450. - DAC_Cmd(HT_DAC_TypeDef* HT_DACn, u8 DAC_Ch, ControlStatus NewState)
  451. - DAC_SetData(HT_DAC_TypeDef* HT_DACn, u8 DAC_Ch, u32 Data)
  452. - DAC_GetOutData(HT_DAC_TypeDef* HT_DACn, u8 DAC_Ch)
  453. + Add API as below.
  454. - "USART_LIN_SendBreak()" API for the USART/UART LIN mode send break to Tx.
  455. - "USART_LIN_LengthSelect()" API for the USART/UART LIN mode configure the break detection length.
  456. - "CKCU_Set_HSIReadyCounter" API for set HSI ready counter value.
  457. Others
  458. + Update comment, format, typing error, and coding style.
  459. + Rename "LIBCFG_xxxxx" definition below.
  460. - "LIBCFG_DAC" to "LIBCFG_DAC0"
  461. + Add HT32F61630/HT32F61641 related files for Create Project.
  462. /*----------------------------------------------------------------------------------------------------------*/
  463. /* HT32_STD_5xxxx_FWLib_V1.4.3_7026 */
  464. /*----------------------------------------------------------------------------------------------------------*/
  465. Release Date: 2023-07-17
  466. Main Changes
  467. + Add new device support.
  468. - HT32F59046, HT32F59746
  469. Others
  470. + Update comment, format, typing error, and coding style.
  471. + Update and sync startup.s/system.c files.
  472. /*----------------------------------------------------------------------------------------------------------*/
  473. /* HT32_STD_5xxxx_FWLib_V1.4.2_6992 */
  474. /*----------------------------------------------------------------------------------------------------------*/
  475. Release Date: 2023-06-20
  476. Main Changes
  477. + Add new device support.
  478. - HT32F61630, HT32F61641
  479. - HT32F62030, HT32F62040, HT32F62050
  480. - HT32F67742
  481. + Modify "RETARGET_Configuration()", add the operation of UxARTn peripheral clock enable.
  482. + Update and sync "ht32f5xxxx_conf.h", modify related define of UxARTn retarget port.
  483. Others
  484. + Update comment, format, typing error, and coding style.
  485. /*----------------------------------------------------------------------------------------------------------*/
  486. /* HT32_STD_5xxxx_FWLib_V1.4.1_6948 */
  487. /*----------------------------------------------------------------------------------------------------------*/
  488. Release Date: 2023-05-19
  489. Main Changes
  490. + Add new device support.
  491. - HT50F3200S, HT50F3200T
  492. + Add example support of HT32F67233.
  493. + Add new "GPIO/PinLock" example.
  494. + Add "Project or Target File Clearing" functions ("_ClearProject.bat" and "_ClearTarget.bat").
  495. + Rename "ht32f652xx_opa.c/h" to "ht32f65xxx_66xxx_opa.c/h".
  496. + Rename "ht32f652xx_adc.c/h" to "ht32f65xxx_66xxx_adc.c/h".
  497. + Add "ht32f652xx_opa.c/h" and "ht32f652xx_adc.c/h" for backward compatible.
  498. + Modify "ht32_time.h", "ht32f5xxxx_conf.h" and "ht32_time_conf.h" for "LIBCFG_CKCU_NO_APB_PRESCALER" series.
  499. - To ensure the correct configuration of the timer clock, the "HTCFG_TIME_PCLK_DIV" is redefined as 0.
  500. + Modify "syscall.c" to prevent redundant initialization of the heap index.
  501. + Modify the examples below, use separate "if" statements instead of "if-else" to avoid double-entry ISR.
  502. - "PWRCU/DeepSleepMode1"
  503. - "PWRCU/DeepSleepMode2"
  504. + Modify "ht32f5xxxx_01.h" below, ensure the defined register naming to be consistent with the document.
  505. Old New
  506. ----- -----
  507. - HT_OPA_TypeDef
  508. "OFR" to "VOS"
  509. "VALR" to "DAC"
  510. - HT_CMP_TypeDef
  511. "ICR" to "CI"
  512. "OCR" to "CO"
  513. Others
  514. + Update comment, format, typing error, and coding style.
  515. + Update e-Link32 Pro/Lite Command line tool as "V1.19" ("utilities/elink32pro/eLink32pro.exe").
  516. + Update the LVDS setting method of "example\PWRCU\BOD_LVD" example ht32_board_config.h file.
  517. + Update "system_ht32f5xxxx_nn.c" and "startup_ht32f5xxxx_nn.s" files.
  518. + Modify "_ProjectConfigScript.bat" to prevent the creation of project that copy unused system/startup files.
  519. + Modify the Sourcery G++ Lite toolchain project.
  520. - Set C99 mode to fix issues after updating CMSIS v5.9.0 ("for" loop initial declarations).
  521. + Modify and check the startup_ht32fxxxxx_nn files, fix _HT32FWID more than one digit problem.
  522. + Adjust "LIBCFG_xxxxx" definition below.
  523. New:
  524. "LIBCFG_ADC_NO_OFFSET_REG"
  525. Rename:
  526. "LIBCFG_CMP_OCR" to "LIBCFG_CMP_CO"
  527. /*----------------------------------------------------------------------------------------------------------*/
  528. /* HT32_STD_5xxxx_FWLib_V1.3.4_6737 */
  529. /*----------------------------------------------------------------------------------------------------------*/
  530. Release Date: 2023-02-17
  531. Main Changes
  532. + Add example support of HT32F61244, HT32F61245.
  533. + Modify the example below, add volatile qualifier on some variables (in the for loop usage)
  534. to fix the Arm Compiler Version 6 optimization issue.
  535. ("u32" to "vu32", unsigned int to volatile unsigned int).
  536. - "PWRCU/PowerDown_WAKEUPPin"
  537. - "PWRCU/PowerDown_RTC"
  538. - "TM/PWM"
  539. Others
  540. + Update comment, format, typing error, and coding style.
  541. + Change the default RTC clock as LSI for the "PWRCU/PowerDownMode" example.
  542. + Add the pin group of QSPI in "ht32f61245_sk.h".
  543. + Add "ht32_board_config.h" for the "SYSTICK/DelayMicrosecond" example.
  544. /*----------------------------------------------------------------------------------------------------------*/
  545. /* HT32_STD_5xxxx_FWLib_V1.3.3_6685 */
  546. /*----------------------------------------------------------------------------------------------------------*/
  547. Release Date: 2023-01-18
  548. Main Changes
  549. + Add new device support.
  550. - HT32F61244, HT32F61245, HT32F67233
  551. + Add new examples:
  552. - "SRAM_Overwrite/Watchpoint_Heap"
  553. - "SRAM_Overwrite/Watchpoint_Stack"
  554. + Update "ht32f5xxxx_conf.h" for user layer HSE_VALUE setting.
  555. + Update "ht32f5xxxx_midi.c/.h" for HT32F0006/61355/61356/61357/61244/61245.
  556. + Add "PDMA_MIDI_IN", "PDMA_MIDI_OUT" define.
  557. + Fix "MAX_EP_NUM" define error of HT32F61141.
  558. + Update "SPI/PDMA" example, fix the function call order as below. The "SPI_SELOutputCmd()" shall be called
  559. before the "SPI_Cmd()", to prevent SPI Master Mode Fault (MF) error if Chip Select pin did not have
  560. an external pull-up.
  561. "SPI_SELOutputCmd(HTCFG_SPIS_PORT, ENABLE);"
  562. "SPI_Cmd(HTCFG_SPIS_PORT, ENABLE);"
  563. Others
  564. + Update comment, format, typing error, and coding style.
  565. + Update and sync startup.s/system.c files.
  566. + Modify "system_ht32fxxxxx_nn.c", add HSE_VALUE notice and update PLL Out formula.
  567. + Update EEPROM Emulation middleware, improve efficacy and reduce resource usage.
  568. "utilities/middleware/eeprom_emulation.c"
  569. "utilities/middleware/ht32_eeprom_config_templet.h"
  570. + Update I2C Master middleware, improve setting way and fix minor errors.
  571. "utilities/middleware/i2c_master.c/.h"
  572. "utilities/middleware/i2c_master_config_templet.h"
  573. /*----------------------------------------------------------------------------------------------------------*/
  574. /* HT32_STD_5xxxx_FWLib_V1.3.2_6448 */
  575. /*----------------------------------------------------------------------------------------------------------*/
  576. Release Date: 2022-11-15
  577. Main Changes
  578. + Add new examples:
  579. - "ADC/ADC_InternalReferenceVoltage_SWTriggerr"
  580. + Add "LIBCFG_ADC_TRIG_DELAY" define to support "ADC_TrigDelayConfig" function for HT32F65230/65240.
  581. + Update "ADC_24bit/Convert_Interrupt" example, fix "I2CMaster_Typedef" structure variable error (correct
  582. "uTimeout_ms" to "uTimeout_us") of "ADC24_WriteRegNonBlock()" and "ADC24_ReadRegNonBlock()".
  583. + Update "ht32_time.h", fix a formula error of "TIME_TICK2US()" and "TIME_TICK2MS()" macro.
  584. + Modify "ht32_retarget.c", fix retarget can't work when the MicroLIB is not used in Keil's V6 compiler.
  585. Others
  586. + Upgrade CMSIS to v5.9.0.
  587. + Update "ht32_op.s/c", allow "Bootloader Waiting Time" function for all series.
  588. + Modify "HT32F5xxxx_01_DebugSupport.ini" content.
  589. /*----------------------------------------------------------------------------------------------------------*/
  590. /* HT32_STD_5xxxx_FWLib_V1.3.1_6405 */
  591. /*----------------------------------------------------------------------------------------------------------*/
  592. Release Date: 2022-10-28
  593. Main Changes
  594. + Add new device support.
  595. - HT32F50020, HT32F50030
  596. + GPIO
  597. - Add new define "GPIO_PIN_NUM_n" for GPIO pin number (n = 0 ~ 15).
  598. + EXTI
  599. - Add "gEXTIn_IRQn[]" and "EXTI_GetIRQn()"" macro to map GPIO pin number (0 ~ 15) to "EXTIn_IRQn".
  600. - Add "GPIO2EXTI()"" macro to map GPIO pin to EXTI Channel.
  601. - Change "AFIO_EXTISourceConfig()"" API, remove "AFIO_EXTI_CH_Enum" and "AFIO_ESS_Enum".
  602. Old: void AFIO_EXTISourceConfig(AFIO_EXTI_CH_Enum AFIO_EXTI_CH_n, AFIO_ESS_Enum AFIO_ESS_Px)
  603. New: void AFIO_EXTISourceConfig(u32 GPIO_PIN_NUM_n, u32 GPIO_Px)
  604. + LEDC
  605. - Fix typing error of the following define.
  606. Old New
  607. ------------- ----------------
  608. LEDC_FLAG_FEAME LEDC_FLAG_FRAME
  609. LEDC_INT_FEAME LEDC_INT_FRAME
  610. + Fix the error that "TM_DeInit(HT_PWM2)" not works.
  611. + Add new examples:
  612. - "ADC/OneShot_SWTrigger"
  613. + Rename examples as below.
  614. IP Old Name New Name
  615. -------- -------- --------
  616. ADC InternalReferenceVoltage InternalReferenceVoltage_PWMTrigger
  617. + Modify "EXTI/WakeUp_SleepMode" example, fix "EXTIn_IRQHandler()" ISR naming error of "ht32f5xxxx_01_it.c"
  618. (HT32F652xx).
  619. Others
  620. + Update comment, format, typing error, and coding style.
  621. + Update and sync startup.s/system.c files.
  622. + Modify API parameter check macro of Library Debug Mode, fix parameter check error.
  623. + Modify variable declaration of "PDMACH_InitTypeDef" to reduce memory size.
  624. + Add a setting, "HT32_LIB_ENABLE_GET_CK_ADC" to control "ADC0_Freq/ADC1_Freq" calculation of the
  625. "CKCU_GetClocksFrequency()" function (default off for code size consideration).
  626. /*----------------------------------------------------------------------------------------------------------*/
  627. /* HT32_STD_5xxxx_FWLib_V1.2.1_6192 */
  628. /*----------------------------------------------------------------------------------------------------------*/
  629. Release Date: 2022-09-30
  630. Main Changes
  631. + Add new device support.
  632. - HT32F67232
  633. - HT32F67041, HT32F67051
  634. + Add the following API for PDMA.
  635. - "PDMA_DeInit()"
  636. - "PDMA_AddrConfig()"
  637. - "PDMA_SrcAddrConfig()"
  638. - "PDMA_DstAddrConfig()"
  639. - "PDMA_GetRemainBlkCnt()"
  640. + Add the following API for ADC (HT32F652xx only).
  641. - "ADC_ChannelDataAlign()"
  642. - "ADC_ChannelOffsetValue()"
  643. - "ADC_ChannelOffsetCmd()"
  644. + Add the following API for OPA (HT32F652xx only).
  645. - "OPA_SetUnProtectKey()"
  646. - "OPA_ProtectConfig()"
  647. + Update "OPA/OPA_Enable" example, add the un-protect key related functions.
  648. + Update "FLASH_SetWaitState()" function, disable Pre-fetch and Branch Cache function before change
  649. wait state.
  650. + Fix "HT_ADC->OFR" define error of HT32F65232.
  651. + Update "ht32_retarget.c", modify the retarget related functions for SEGGER Embedded Studio.
  652. + Update following middleware.
  653. "utilities/middleware/i2c_master.c/h"
  654. "utilities/middleware/uart_module.c"
  655. Others
  656. + Update comment, format, typing error, and coding style.
  657. + Update and sync startup.s/system.c files.
  658. + Change "HT_PWRCU->BAKPSR" to "HT_PWRCU->LDOSR" of HT32F57352.
  659. + Fix "HT_AES->KEYR" define error (from KEYR[8] to KEYR[4] for AES128).
  660. + Update "BFTM/OneShot" example, fix the register access sequence and time calculation formula.
  661. + Update "TM/PWM/main.c", add "HTCFG_PWM_TM_RELOAD" check.
  662. + Update "SLED/*" example, for fix error and coding style.
  663. + Update "HT32F_DVB_PBInit()" of "ht32f5xxxx_board_01.c", add "LIBCFG_EXTI_4_7_GROUP" support.
  664. + Update e-Link32 Pro/Lite Command line tool as "V1.18" ("utilities/elink32pro/eLink32pro.exe").
  665. + Change the project recommended minimum version of SEGGER Embedded Studio from V4.12 to V6.20.
  666. /*----------------------------------------------------------------------------------------------------------*/
  667. /* HT32_STD_5xxxx_FWLib_V1.1.1_5938 */
  668. /*----------------------------------------------------------------------------------------------------------*/
  669. Release Date: 2022-06-08
  670. Main Changes
  671. + Add new "TM/TriggerCounter_FrequencyMeasure" example.
  672. + Add following middleware.
  673. "utilities/middleware/spi_module.c"
  674. "utilities/middleware/spi_module.h"
  675. "utilities/middleware/spi_module_config_templet.h"
  676. + Fixed FW library compatibility with ARM compiler version 6 of MDK-ARM V5.37.
  677. - Add MDK-ARMv537 project template for MDK-ARM V5.37.
  678. - Update "project_template/Script". Those MDK-ARMv537 project templates will be added for use if choose
  679. the target IDE is "Keil MDK-ARMv5". The fixed files are as follows:
  680. "Script/_CreateProjectScript.bat"
  681. "Script/_ProjectConfig.bat"
  682. "Script/_ProjectSource.bat"
  683. - Update "core_cm0plus.h", fix compiler error.
  684. - Update "SLED/ARGB_GetLEDNum", fix compiler warning.
  685. - Update "FMC/FLASH_OperationNoHalt", fix the compiler issue of Arm Compiler Version V6.18 and the
  686. compiler warning of linker script file. The fixed files are as follows:
  687. "FLASH_OperationNoHalt/main.c"
  688. "FLASH_OperationNoHalt/linker.lin"
  689. - Update following middleware, remove STRCAT3 usage to fix compiler error.
  690. "utilities/middleware/uart_module.c"
  691. "utilities/middleware/i2c_master.c"
  692. "utilities/middleware/spi_module.c"
  693. + Update "ht32_retarget.c". Implement __write function to fix compiler error in IAR EWARM Version 9.20
  694. or later.
  695. + Update GNU Arm makefile in the project_template, fix the compatibility issue that the makefile of GNU Arm
  696. Version 11 cannot be compiled.
  697. + Update EWARM in the project_template, fix the compiler error that header file path doesn't exist in
  698. the file list of Workspace of IAR EWARM Version 7.
  699. + Fix SPI initial PDMA parameter in the "utilities/common/spi_flash.c".
  700. Others
  701. + Update comment, format, typing error, and coding style.
  702. + Update e-Link32 Pro/Lite Command line tool as "V1.16" ("utilities/elink32pro/eLink32pro.exe").
  703. + Update the following examples to remove compiler warning of the IAR EWARM.
  704. "BFTM/TimeMeasure"
  705. "TM/PWMOut_PDMA_4CH"
  706. "USBD/HID_Keyboard_Virtual_COM"
  707. "USBD/USB_UAC_Sound"
  708. "USBD/USB_Video"
  709. "USBD/Virtual_COM"
  710. + Update "TM/PWM" example, add the PWM channel initial function to "pwm.c".
  711. + Update "WDT/Period_Reload" example, add WDT_ResetCmd function.
  712. + Update and sync create project related files ("_ProjectConfig.bat", "_ProjectConfig.ini").
  713. + Update content of "project_template/IP/Example/readme.txt", add MDK-ARM V5.37 related information.
  714. /*----------------------------------------------------------------------------------------------------------*/
  715. /* HT32_STD_5xxxx_FWLib_V1.0.25_5831 */
  716. /*----------------------------------------------------------------------------------------------------------*/
  717. Release Date: 2022-04-19
  718. Main Changes
  719. + Add example support of BM53A367A.
  720. + Add "LIBCFG_ADC_MVDDA" define, fix the issue that "ADC_MVDDACmd()" function is missing of HT32F50343.
  721. + Update EEPROM Basic and EEPROM Emulation middleware, fix the include and define sequence.
  722. "utilities/middleware/eeprom_basic.h"
  723. "utilities/middleware/eeprom_emulation.h"
  724. + Update UART Module middleware, add the "UARTM_IsTxFinished()" API.
  725. "utilities/middleware/uart_module.c"
  726. "utilities/middleware/uart_module.h"
  727. Others
  728. + Update comment, format, typing error, and coding style.
  729. + Update e-Link32 Pro/Lite Command line tool as "V1.0.15" ("utilities/elink32pro/eLink32pro.exe").
  730. /*----------------------------------------------------------------------------------------------------------*/
  731. /* HT32_STD_5xxxx_FWLib_V1.0.24_5762 */
  732. /*----------------------------------------------------------------------------------------------------------*/
  733. Release Date: 2022-03-08
  734. Main Changes
  735. + Change to the new Holtek version format (Vm.n.r).
  736. + Add following middleware.
  737. "utilities/middleware/uart_module.c"
  738. "utilities/middleware/uart_module.h"
  739. + Add new "FMC/FLASH_OperationNoHalt" example.
  740. + Modify "utilities/common/ring_buffer.c", fix the thread-safe issue of "Buffer_GetLength()".
  741. Others
  742. + Update comment, format, typing error, and coding style.
  743. + Update "startup_ht32fxxxxx_nn.s", support "USE_HT32_CHIP" define exist at startup.s and project Asm
  744. setting in the same time (project's Asm Define has the higher priority).
  745. /*----------------------------------------------------------------------------------------------------------*/
  746. /* HT32_STD_5xxxx_FWLib_v023_5734 */
  747. /*----------------------------------------------------------------------------------------------------------*/
  748. Release Date: 2022-02-10
  749. Main Changes
  750. + Add new device support.
  751. - MXTX6306
  752. + Rename previously "EXTI/GPIO_Interrupt" example to "EXTI/EXTI_Key_LED".
  753. + Add new "EXTI/GPIO_Interrupt" example.
  754. + Update the internal VREF level driver, add the missing voltage level setting/define for the HT32F542xx
  755. series.
  756. ADC_VREF_2V5
  757. ADC_VREF_3V0
  758. ADC_VREF_4V0
  759. ADC_VREF_4V5
  760. Others
  761. + Update comment, format, typing error, and coding style.
  762. + Modify "bool, TRUE, FALSE" define way for C++/.cpp applications.
  763. + Add warning message for the HT32F54241 SK ("ht32f54241_sk.h" and "ht32_board_config.h" of the related
  764. examples).
  765. + Simplify the following examples to use less IO/LED/KEY.
  766. - "GPIO/InputOutput"
  767. - "EXTI/EXTI_Key_LED"
  768. + Update "utilities/common/spi_flash.c and spi_lcd.c", change the SPI Clock prescaler from 2 to 4 when the
  769. Core clock is large than 48 MHz.
  770. + Update "eLink32pro.exe" from v1.1.2 to v1.1.3.
  771. + Update related middleware (eeprom_basic and eeprom_emulation).
  772. + Update "ADC/InternalReferenceVoltage" example, add the voltage level setting of the internal VREF for
  773. the 5V MCU.
  774. /*----------------------------------------------------------------------------------------------------------*/
  775. /* HT32_STD_5xxxx_FWLib_v022_5673 */
  776. /*----------------------------------------------------------------------------------------------------------*/
  777. Release Date: 2021-12-09
  778. Main Changes
  779. + Add new device support.
  780. HT32F61141
  781. + Add new board support.
  782. HT32F54241 DVB
  783. HT32F54253 DVB
  784. + Add new examples:
  785. - "SYSTICK/DelayMicrosecond"
  786. + Update "ht32fxxxxx_sk.h", "spi_lcd.c/.h", fix the GPIO Chip SEL define mistake which cause the H/W SPI SEL
  787. not work of the following SK model.
  788. HT32F50230, HT32F50241, HT32F52241, HT32F52253, HT32F52341, HT32F54241, HT32F65232, HT32F65240
  789. + Update "ht32f54241_sk.h" and "ht32f54253_sh.h", fix the COM port UART/Pin and SPI LCD BL typing error.
  790. + Update "GNU_ARM/linker.ld", fix the heap/stack area overlap problem.
  791. + Fix the following library configuration error of HT32F54241/54253.
  792. Add: "LIBCFG_CKCU_PLLSRCDIV", "LIBCFG_PWRCU_PORF".
  793. Remove: "LIBCFG_CMP" (HT32F54241 only, not support).
  794. + Update "example/I2C/TouchKey/ht32_board_config.h", fix the typing error of I2C Port.
  795. Others
  796. + Rename "LIBCFG_NO_PWRCU_PORF" to "LIBCFG_NO_PWRCU_VDDPORF".
  797. + Update comment, format, typing error, and coding style.
  798. + Update "example/LEDC/7-SegmentDigitalDisplay/main.c", change the frame rate from 40 Hz to 50 Hz.
  799. /*----------------------------------------------------------------------------------------------------------*/
  800. /* HT32_STD_5xxxx_FWLib_v021_5582 */
  801. /*----------------------------------------------------------------------------------------------------------*/
  802. Release Date: 2021-08-19
  803. Main Changes
  804. + Add example support of HT32F54241/54253.
  805. + Update "SPI/Slave" example of HT32F52253, modify the SPI port and pin assignment from SPI1 to SPI0.
  806. + Update "SPI/SEL_Software" example of HT32F52253, fix the typing error of SEL GPIO clock.
  807. + Update "SPI/Master" example of HT32F52253.
  808. - Fix the configuration typing error of "ht32_board_config.h".
  809. - Modify the SPI port and pin assignment from SPI1 to SPI0.
  810. Others
  811. + Update comment, format, typing error, and coding style.
  812. + Update "_ProjectConfig*.bat" files.
  813. + Update "RSTCU/Peripheral_Reset_Function" example, modify "HTCFG_LED0_RST" to "HTCFG_LED1_RST".
  814. + Update "SPI/Slave" example, move the IRQHandler define from "ht32f5xxxx_01_it.c" to "ht32_board_config.h"
  815. to reduce maintenance time.
  816. + Add "LCD_SPI_RST_UNUSE" define for "ht32fxxxxx_sk.h" and "spi_lcd.c", to decide the "spi_lcd.c" controls
  817. the LCD_RST pin or not.
  818. + Update e-Link32 Pro Commander to V1.10.
  819. /*----------------------------------------------------------------------------------------------------------*/
  820. /* HT32_STD_5xxxx_FWLib_v020_5545 */
  821. /*----------------------------------------------------------------------------------------------------------*/
  822. Release Date: 2021-07-23
  823. Main Changes
  824. + Add new device support.
  825. HT32F54231, HT32F54241
  826. HT32F54243, HT32F54253
  827. HT32F67741
  828. + Add "ht32_time.c/.h" to support following new functions for delay, time measure, and timeout.
  829. "Time_Init()"
  830. "Time_Delay()"
  831. "Time_GetTick()"
  832. + Add new examples:
  833. - "GPIO/Input"
  834. - "GPIO/Output"
  835. - "Time/TimeFun"
  836. - "Time/TimeFun_UserConf"
  837. - "TM/PWMOut_PDMA_4CH"
  838. - "USART/RS485_NMM_Slave"
  839. + Add new definition, "FLASH_WAITSTATE_MAX".
  840. + Fix the problem that "FLASH_BranchCacheCmd()" is not exist of HT32F0006, HT32F61352, and HT32F6135x.
  841. + Fix the problem that "PWRCU_WakeupMultiPinCmd()", "PWRCU_WAKEUP_PIN_1" are not exist of HT32F50343.
  842. + Fix typing error which cause the "I2C2_IRQn" missing (from "USE_HT32F2243_53" to "USE_HT32F52243_53").
  843. + Modify the following definition (CH4 to CH7 usually have the compare function only but the "TM_FLAG_CHnC"
  844. definition is not compatible with the "TM_FLAG_CHnCC").
  845. "TM_FLAG_CH4C" to "TM_FLAG_CH4CC"
  846. "TM_FLAG_CH5C" to "TM_FLAG_CH5CC"
  847. "TM_FLAG_CH6C" to "TM_FLAG_CH6CC"
  848. "TM_FLAG_CH7C" to "TM_FLAG_CH7CC"
  849. + Modify "TM_GetCaptureCompare()" to support TM_CH4 ~ TM_CH7 for 8 channel PWM timer.
  850. + Add "TM_GetCaptureCompare4()" ~ "TM_GetCaptureCompare7()" functions.
  851. + Add "USART_PARITY_MARK" and "USART_PARITY_SPACE" for the UART parity mode.
  852. + Update "example/I2C/Interrupt/main.c", fix the configuration error of I2C slave.
  853. + Update following example, modify the default value of "gIsINEmpty" from TRUE to FALSE. The default value
  854. TRUE may cause the F/W to not send CSW after the first Inquiry CBW Command in a specific condition.
  855. "example/USBD/HID_Keyboard_Mass_Storage"
  856. "example/USBD/Mass_Storage"
  857. "example/USBD/Mass_Storage_IAP"
  858. Others
  859. + Update comment, format, typing error, and coding style.
  860. + Adjust and fix error of "LIBCFG_xxxxx" definition.
  861. New:
  862. "LIBCFG_FMC_PREFETCH",
  863. Rename:
  864. "LIBCFG_SINK_CURRENT_ENHANCED" to "LIBCFG_GPIO_SINK_CURRENT_ENHANCED"
  865. "LIBCFG_WAKEUP_V01" to "LIBCFG_PWRCU_WAKEUP_V01"
  866. "LIBCFG_CACHE" to "LIBCFG_FMC_BRANCHCACHE"
  867. Remove:
  868. "LIBCFG_ADC_INTERNAL_CH_V02", "LIBCFG_NO_FMC_PRE_FETCH", "LIBCFG_NO_FMC_WAIT_STATUS",
  869. "LIBCFG_ADC_INTERNAL_CH_V03", "LIBCFG_ADC_INTERNAL_CH_DAC"
  870. + Remove unnecessary functions, "PWRCU_WakeupPinIntConfig()" and "PWRCU_WakeupMultiPinIntConfig()".
  871. + Remove unuse global variable "DelayTime" of "ebi_lcd.c" and "spi_lcd.c".
  872. + Change the member order of the "I2C_InitTypeDef".
  873. + Modify the "USART_StickParityCmd()" function to set the PBE bit by default when the command is ENABLE.
  874. + Remove compiler warning of GNU by adding the dummy "if" usage of the unused parameter.
  875. + Fix the case error of "HT32_Board" include path.
  876. /*----------------------------------------------------------------------------------------------------------*/
  877. /* HT32_STD_5xxxx_FWLib_v019_5358 */
  878. /*----------------------------------------------------------------------------------------------------------*/
  879. Release Date: 2021-05-11
  880. Main Changes
  881. + Add new examples:
  882. - "ADC/OneShot_SWTrigger_ByTM"
  883. - "CKCU/HSI_AutoTrim_By_LSE"
  884. + Update startup/system files supported of specific MCU projects.
  885. Old New
  886. ------------------------- -------------------------
  887. - HT32F0006/HT32F61352
  888. system_ht32f0006.c to system_ht32f5xxxx_07.c
  889. startup_ht32f5xxxx_xxx_01.s to startup_ht32f5xxxx_xxx_07.s
  890. - HT32F52344/HT32F52354
  891. startup_ht32f5xxxx_01.s to startup_ht32f5xxxx_03.s
  892. + Fix the problem of Flash API of HT32F50343 that the AHB clock of the GPIO port was not enable ,but the
  893. drive current of SPI_MOSI is adjusted. The fixed item is as follows:
  894. - The function "SPI_FLASH_Init()", It is in the "utilities/common/spi_flash.c".
  895. - Add new define "#define FLASH_SPI_MOSI_CLK(CK) (CK.Bit.PB)", It is in the
  896. "utilities/HT32_Board/ht32f50343_sk.h".
  897. + Fixed the system was stuck in CKCU_HSIAutoTrimCmd() because of the misjudgment of CKCU_HSIAutoTrimIsReady().
  898. + Fixed the problem that the example CKCU/HSI_AUTO_Trim_BY_USB uses HSE(CKCU_PLLSRC_HSE) as the USB PLL
  899. clock source. Change the USB PLL Clock source to HSI(CKCU_PLLSRC_HSI).
  900. + Fix the CHIP ID error in all HT32F6135x projects. Fixed "USE_HT32_CHIP=10" to "USE_HT32_CHIP=17".
  901. + Remove the interrupt capability of the DAC. Modify the file as follows:
  902. - "example/DAC/Async_2CH/ht32f5xxxx_01_it.c""
  903. - "example/DAC/Async_2CH/main.c"
  904. - "example/DAC/Sync_12bit_2CH/ht32f5xxxx_01_it.c"
  905. - "example/DAC/Sync_12bit_2CH/main.c"
  906. - "trunk/library/Device/Holtek/HT32F5xxxx/Include/ht32f5xxxx_01.h"
  907. - "library/HT32F5xxxx_Driver/inc/ht32f5xxxx_dac.h"
  908. - "library/HT32F5xxxx_Driver/src/ht32f5xxxx_dac.c"
  909. Others
  910. + Update comment, format, typing error, and coding style.
  911. + Update LIBCFG of SCTM.
  912. - Add the new definition of LIBCFG for a specific MCU:
  913. "#define LIBCFG_SCTM0 (1)"
  914. "#define LIBCFG_SCTM1 (1)"
  915. - Remove the definition of LIBCFG for a specific MCU:
  916. "#define LIBCFG_NO_SCTM (1)"
  917. - Update ht325xxxx_tm.c to depend on the new definitions LIBCFG_SCTM0 and LIBCFG_SCTM1.
  918. + Update the version of eLink32pro.exe to 1.0.1.1.
  919. + Update the following project setting:
  920. - IAR EWARM v6/v7: Modify "_ht32_project_source.c" to "_ht32_project_source.h".
  921. - SEGGER Embedded Studio: Add the new definition "arm_compiler_variant="SEGGER"".
  922. + Remove redundant SCTM definition of 57331/57341.
  923. /*----------------------------------------------------------------------------------------------------------*/
  924. /* HT32_STD_5xxxx_FWLib_v018_5303 */
  925. /*----------------------------------------------------------------------------------------------------------*/
  926. Release Date: 2021-02-26
  927. Main Changes
  928. + Add "Create Project Configuration Menu" to choose the target IDE and Device when the first time to do the
  929. create project operation of the example. The configuration file, "_CreateProjectConfig.bat" is saved to
  930. the root path of the HT32 Firmware Library. You can reset the create project IDE/IC configuration anytime
  931. by deleting the configuration file.
  932. Target IDE/Compiler:
  933. - Keil MDK-ARM v5
  934. - Keil MDK-ARM v4
  935. - IAR EWARM v8
  936. - IAR EWARM v6/v7
  937. - SEGGER Embedded Studio
  938. - GNU [with Keil and GNU make]
  939. - SourceryG++Lite [with Keil]
  940. Target Device:
  941. - xxxxx: Single Device
  942. - xxx*: Series
  943. + Add new examples:
  944. - "ADC_24bit/Convert_Interrupt"
  945. - "NVIC/Disable_Interrupt"
  946. - "TM/InternalTrigger"
  947. - "WDT/Auto_Enable"
  948. + Add Flash programming function of GNU Maker (via e-Link32 Pro/Lite Commander).
  949. "make IC=xxxxx eraseall"
  950. "make IC=xxxxx program"
  951. "make IC=xxxxx run"
  952. + Update "CKCU_HSIAutoTrimCmd()" and "CKCU_HSIAutoTrimIsReady()" function to improve clock stability.
  953. + Fix the cache address problem of "SDDISK_Read()" function.
  954. "USBD/Mass_Storage/sd_disk.c"
  955. + Update GNU project (*.uvprojx), fix the compile error when use new GNU Arm version
  956. ("gcc-arm-none-eabi-10-2020-q2-preview-win32" or above).
  957. + Fix Keil compiling error when disable both retarget and MicroLib.
  958. + Update "ht32f5xxxx_01.h", fix the compatibility issue when user include "stdbool.h".
  959. + Modify GNU compiler settings, output text file (disassembly) after building the code.
  960. + Change the startup/system supporting files of specify MCU device.
  961. Old New
  962. ------------------------- -------------------------
  963. - HT32F0006/HT32F61352
  964. system_ht32f0006.c to system_ht32f5xxxx_07.c
  965. startup_ht32f5xxxx_xxx_01.s to startup_ht32f5xxxx_xxx_07.s
  966. - HT32F52344/HT32F52354
  967. startup_ht32f5xxxx_01.s to startup_ht32f5xxxx_03.s
  968. + Add "HT32_FWLIB_VER" and "HT32_FWLIB_SVN" in "ht32f5xxxx_lib.h" for the version information of
  969. HT32 Firmware Library.
  970. Example:
  971. "#define HT32_FWLIB_VER (018)"
  972. "#define HT32_FWLIB_VER (5303)"
  973. + Add new AFIO define in "ht32f5xxxx_gpio.h".
  974. - "AFIO_FUN_MCTM0", "AFIO_FUN_MCTM1"
  975. - "AFIO_FUN_GPTM0", "AFIO_FUN_GPTM1", "AFIO_FUN_GPTM2", "AFIO_FUN_GPTM3"
  976. - "AFIO_FUN_PWM0", "AFIO_FUN_PWM1", "AFIO_FUN_PWM2", "AFIO_FUN_PWM3"
  977. + Add following alias of MCTM IRQ handler
  978. "#define MCTM0_IRQn MCTM0UP_IRQn"
  979. "#define MCTM0_IRQHandler MCTM0UP_IRQHandler"
  980. "#define MCTM1_IRQn MCTM1UP_IRQn"
  981. "#define MCTM1_IRQHandler MCTM1UP_IRQHandler"
  982. Others
  983. + Update comment, format, typing error, and coding style.
  984. + Update "TM/PWM_Buzzer" example, move the buzzer function to "buzzer_pwm.c/.h".
  985. + Update "_ProjectConfig*.bat" files.
  986. + Add "Project Source File Setting" functions ("_ProjectSource.ini" and "_ProjectSource.bat").
  987. + Rename "_CreateProjectUSB.bat" as "_CreateProject.bat".
  988. + Add dummy xxTM C files, to notify the user that SCTM/PWM/GPTM/MCTM timer use the "ht32f5xxxx_tm.c" driver.
  989. "ht32f5xxxx_gptm.c", "ht32f5xxxx_pwm.c", "ht32f5xxxx_sctm.c"
  990. + Add "IS_IPN_MCTM()" and "IS_IPN_GPTM" macro, for use to confirm the xxTMn is GPTM or MCTM.
  991. + Update comment and board/pin configuration of "ADC/OneShot_TMTrigger_PDMA" example.
  992. + Update and sync startup.s/system.c files.
  993. /*----------------------------------------------------------------------------------------------------------*/
  994. /* HT32_STD_5xxxx_FWLib_v017_5137 */
  995. /*----------------------------------------------------------------------------------------------------------*/
  996. Release Date: 2020-12-31
  997. Main Changes
  998. + Update IAR linker.icf, modify the ROM/RAM size.
  999. + Add "LCDENS" related notice of "ht32f5xxxx_lcd.c/.h".
  1000. + Fix Keil compiling error when disable both retarget and MicroLib.
  1001. + Update "ht32f5xxxx_flash.c", fix the flash erase/program related flow.
  1002. Others
  1003. + Update comment, format, typing error, and coding style.
  1004. + Update SPI chip select define and SPI configuration of "utilities/common/spi_lcd.c & spi_lcd.h".
  1005. + Add "BOARD_DISABLE_EEPROM" define of "utilities/common/i2c_eeprom.c".
  1006. + Add notice of VREF stable time and output function.
  1007. + Update create project script.
  1008. /*----------------------------------------------------------------------------------------------------------*/
  1009. /* HT32_STD_5xxxx_FWLib_v017_5074 */
  1010. /*----------------------------------------------------------------------------------------------------------*/
  1011. Release Date: 2020-11-08
  1012. Main Changes
  1013. + Add new device and example support.
  1014. HT32F65232, HT32F5828
  1015. + Add "ADC_DualModeConfig()" API for the dual ADC mode of HT32F65230/65240.
  1016. + Add "ADC/OneShot_PWMTrigger_Dual_ADC" example.
  1017. + Update "startup_ht32f5xxxx_*_05.s" to support HT32F5828.
  1018. + Add "system_ht32f5xxxx_08.c" and "startup_ht32f5xxxx_*_08.s" for HT32F652xx series.
  1019. + Fix the FIFF/TIFN(Fsampling/Event) setting error of the following function and typedef of the
  1020. HT32F65230/65240.
  1021. "TM_CaptureInit()"
  1022. "TM_PwmInputInit()"
  1023. "TM_CHFDIV_Enum"
  1024. + Modify the function "MCTM_UpdateDisable()" to "MCTM_UpdateEventDisable" and add "MCTM_UEV1UD/MCTM_UEV1OD"
  1025. enum for HT32F65230/65240.
  1026. + Add OCR support and update CMP_INPUT_x define for HT32F65232.
  1027. + Rename "startup_ht32f65230_40.s" to "startup_ht32fxxxx_08.s" for HT32F652xx series.
  1028. + Rename "ht32f65230_40_opa.c/h" to "ht32f652xx_opa.c/h".
  1029. + Rename "ht32f65230_40_adc.c/h" to "ht32f652xx_adc.c/h".
  1030. + Add missing define of ADC_TRIG_XXXX and modify "ht32f652xx_adc.c/h" for support HT32F652xx series.
  1031. + Modify "ht32f5xxxx_rtc.c/h", use LIBCFG_LSE to disable "RTC_SRC_LSE", "RTC_LSECmd()", and
  1032. "RTC_LSESMConfig()".
  1033. + Remove un-support functions of HT32F5xxxx series.
  1034. "TM_EtiExternalClockConfig()"
  1035. "TM_EtiConfig()"
  1036. + Add missing enum, "TM_CKDIV_8" for HT32F652xx series.
  1037. + Add "MCTM_CHBRKCTRConfig2()" MCTM to support Break2 of HT32F652xx series.
  1038. + Add missing MCTM interrupt define of HT32F652xx series.
  1039. "MCTM_INT_CH0CD"
  1040. "MCTM_INT_CH1CD"
  1041. "MCTM_INT_CH2CD"
  1042. "MCTM_INT_CH3CD"
  1043. "MCTM_INT_OVER"
  1044. "MCTM_INT_UNDER"
  1045. Others
  1046. + Update "system_ht32f5xxxx_04.c", remove unnecessary define.
  1047. + Update comment, format, typing error, and coding style.
  1048. + Add below notice of examples to inform the user to check the local structure variable without a
  1049. default value.
  1050. "Notice that the local variable (structure) did not have an initial value.
  1051. Please confirm that there are no missing members in the parameter settings below this function."
  1052. + Add "LIBCFG_EXTI_4_9_GROUP" define for the chip who supported extra EXTI interrupt channel.
  1053. + Update "MCTM_CHBRKCTRConfig()" function to keep "CHMOE" value.
  1054. /*----------------------------------------------------------------------------------------------------------*/
  1055. /* HT32_STD_5xxxx_FWLib_v016_4983 */
  1056. /*----------------------------------------------------------------------------------------------------------*/
  1057. Release Date: 2020-10-16
  1058. Main Changes
  1059. + Add new device and example support.
  1060. HT32F61355, HT32F61356, HT32F61357
  1061. + Add new board support.
  1062. HT32F65240 Starter Kit
  1063. + Add more example support for HT32F65240 DVB.
  1064. + Add a new example.
  1065. "OPA/OPA_Enable"
  1066. + Change the default USB LDO setting from the enable mode to bypass mode.
  1067. + Update "SPI/FIFO_SEL_Hardware" example. Use timeout interrupt and RX_FIFO length to read the
  1068. corresponding data (Previously, it was fixed to read 4 bytes which may cause the data loss problem in
  1069. specific conditions).
  1070. + Update "CKCU/Clock_Configuration_LSI" example. Add wait for LSI clock ready before the system clock
  1071. source switches to LSI (Otherwise, the switching may fail).
  1072. + Update "SPI/Slave" example to fix missing EXTI interrupt service routine of HT32F52354.
  1073. + Modify "TM/PWM" example to output the complete PWM signal before stopping it.
  1074. + Update CMP driver, "ht32f5xxxx_cmp.c/h" and "ht32f65230_40_libcfg.h". Support new CMP function of
  1075. HT32F65230/65240.
  1076. + Update CMP example "CMP/ComparatorInterrupt" to support HT32F65230/65240 and improve readability.
  1077. + Remove "OFVCR" parameter of "HT_OPA_TypeDef" struct in the "ht32f5xxx_01.h". This register is not
  1078. supported by the HT32F65230/65240.
  1079. + Remove the following unnecessary API in the "ht32f65230_40_opa.c" and "ht32f65230_40_opa.h".
  1080. "void OPA_Config(HT_OPA_TypeDef* HT_OPAn, u32 mode, u32 cancellation)"
  1081. "void OPA_CancellationModeConfig(HT_OPA_TypeDef* HT_OPAn, u16 OPA_REF_INPUT)"
  1082. "void OPA_SetCancellationVaule(HT_OPA_TypeDef* HT_OPAn, u32 cancellation)"
  1083. "u32 OPA_GetCancellationVaule(HT_OPA_TypeDef* HT_OPAn)"
  1084. Others
  1085. + Update comment, format, typing error, and coding style.
  1086. + Update "I2C/Interrupt/main.c" to improve readability.
  1087. + Add below notice into USB examples to inform the user turn on the HSI Auto Trim function when the PLL
  1088. clock source is HSI (PLL for USB 48 MHz clock).
  1089. "Msut turn on if the USB clock source is from HSI (PLL clock Source)"
  1090. + Remove the following unnecessary files.
  1091. "WDT/Period_Reload/ht32_board_config.h"
  1092. "FMC/FLASH_Write_Protection/ht32_board_config.h"
  1093. + Remove the remote wake-up function in the "USB_Video/main.c".
  1094. /*----------------------------------------------------------------------------------------------------------*/
  1095. /* HT32_STD_5xxxx_FWLib_v015_4909 */
  1096. /*----------------------------------------------------------------------------------------------------------*/
  1097. Release Date: 2020-08-11
  1098. Main Changes
  1099. + Add the following files to use e-Link32 Pro with SEGGER Embedded Studio. Refer to the
  1100. "readme e-Link32 Pro.txt" for how to use it.
  1101. "emStudiov4/readme e-Link32 Pro.txt"
  1102. "emStudiov4/Project_xxxxx.bat"
  1103. "emStudiov4/_MassErase.bat"
  1104. + Add QSPI support.
  1105. "ht32f5xxxx_spi.c".
  1106. "QSPI_QuadCmd()"
  1107. "QSPI_DirectionConfig()"
  1108. "utilities/common/spi_flash.c"
  1109. "SPI_FLASH_WriteStatus2()"
  1110. "QSPI_FLASH_BufferQuadRead()"
  1111. "QSPI_FLASH_BufferQuadReadByDMA()"
  1112. "QSPI_FLASH_BufferWrite()"
  1113. "QSPI_FLASH_BufferWriteByDMA()"
  1114. "utilities/HT32_Board"
  1115. "ht32f52367_sk.h"
  1116. "ht32f0006_dvb.h"
  1117. + Add new examples.
  1118. "TM/PWM"
  1119. "TM/UpdateEvent"
  1120. "QSPI/Flash_Quad_Mode_PDMA"
  1121. + Change the USB LDO default state from ON (PWRCU_VREG_ENABLE) to OFF (PWRCU_VREG_BYPASS) and
  1122. add below notice description.
  1123. "USB LDO Should be enabled (PWRCU_VREG_ENABLE) if the MCU VDD > 3.6 V."
  1124. + Change the driving current as 8 mA of LCD/SPI Flash utilities driver SPI pins for HT32F50343 (since the
  1125. default operation voltage of Starter Kit is 3.3 V).
  1126. + Add "SPI_FLASH_WaitForWriteEnd()" function in the end of the write status operation
  1127. ("SPI_FLASH_WriteStatus()").
  1128. + Fix typing error of the define, "LIBCFG_MAX_SPEED" for HT32F52220/52230/52231/52241/52243/52253.
  1129. There are a few examples that refer to this value to set the IP-related frequency.
  1130. + Fix the I2S clock setting error of the following example.
  1131. "I2S/CodecLoopback_PDMA"
  1132. "USBD/USB_UAC_Sound"
  1133. "USBD/USB_UAC_Sound_RateControl"
  1134. + Add below notice of examples to inform the user to check the local structure variable without a
  1135. default value.
  1136. "Notice that the local variable (structure) did not have an initial value.
  1137. Please confirm that there are no missing members in the parameter settings below this function."
  1138. + Fix defined problem of "utilities/common/ebi_lcd.c". Change "EBI_FUN_BYTELAND" / "EBI_FUN_ASYNCREADY" to
  1139. "LIBCFG_EBI_BYTELAND_ASYNCREADY".
  1140. + Fix the "I2S_FIFOTrigLevelConfig()" error which did not clear the field of I2S FCR correctly.
  1141. + Fix "RPRE_MASK" define error for "RTC_SetPrescaler()" function.
  1142. + Add utilities drivers into HT32F0006/HT32F61352 project.
  1143. "i2c_eeprom.c"
  1144. "spi_flash.c"
  1145. "spi_lcd.c"
  1146. Others
  1147. + Update comment, format, typing error, and coding style.
  1148. + Add below notice in the "FMC/FLASH_Security" example.
  1149. "The Option Byte will be write protected (cannot be changed again) after the
  1150. Security Protection is enabled. Refer to the user manual for details."
  1151. + Update and modify naming rule of the "HTCFG_xxxx" configuration define in the "ht32_board_config.h".
  1152. "I2S/CodecLoopback_PDMA"
  1153. + Update the following examples to remove compiler warning of the GNU compiler.
  1154. "SLED/ARGB_GetLEDNum"
  1155. "USART/PDMA"
  1156. + Add "-Waddress-of-packed-member" #pragma of below examples to remove compiler warning of the
  1157. GNU compiler.
  1158. "USBD/Mass_Storage"
  1159. "USBD/HID_Keyboard_Mass_Storage"
  1160. + Add the following notice in the Program/Erase related function.
  1161. "HSI must keep turn on when doing the Flash operation (Erase/Program)."
  1162. + Remove HSI disable setting of Configuration Wizard and add notice in the "system_xxxxx_nn.c".
  1163. /*----------------------------------------------------------------------------------------------------------*/
  1164. /* HT32_STD_5xxxx_FWLib_v014_4736 */
  1165. /*----------------------------------------------------------------------------------------------------------*/
  1166. Release Date: 2020-04-08
  1167. Main Changes - Modification & Improvement
  1168. + Add "USBDClass_Reset()" into the "USBD/*" example to reset related flag for the self-power application.
  1169. + Modify "ht32f5xxxx_aes.c", fix "AES_SetKeyTable()" and "_AES_CryptData()" functions who did not clear
  1170. related fields before set it.
  1171. + Update UxART related example, turn on internal pull up to prevent unknown state.
  1172. + Remove unnecessary RTC compare match restart setting of the "RTC/Calendar_BackupDomain" example.
  1173. (which cause the time not correct after entering the low power mode).
  1174. + Make up the init structure member when the XXXXX_InitTypeDef is a local variable (which without the
  1175. default value). For example, add the following code.
  1176. "MCTM_OutputInitStructure.AsymmetricCompare = 0;"
  1177. "OutInit.ControlN = TM_CHCTL_DISABLE;"
  1178. + Update "TM/InputCapture" example, fix the Pulse Width Count formula (shall be plus with 1).
  1179. + Fix RAM size from 8K to 16K of HT32F0006 (LIBCFG_RAM_SIZE).
  1180. + Update the following example to improve readability.
  1181. "ADC/AnalogWatchdog"
  1182. "ADC/Continuous_Potentiometer"
  1183. "ADC/Discontinuous_EXTITrigger"
  1184. "ADC/InternalReferenceVoltage"
  1185. "ADC/OneShot_PWMTrigger"
  1186. "ADC/OneShot_PWMTrigger_with_Delay"
  1187. "ADC/OneShot_TMTrigger_PDMA"
  1188. "ADC/Two_Group_MaxCH"
  1189. "EXTI/GPIO_Interrupt"
  1190. "HWDIV/DIV32"
  1191. "TM/InputCapture"
  1192. "TM/MatchOutputActive"
  1193. "TM/MatchOutputToggle"
  1194. "TM/PWM_Buzzer"
  1195. "TM/PWMInput"
  1196. "TM/PWMOut_PDMA"
  1197. "TM/SinglePulseMode"
  1198. "TM/TriggerCounter"
  1199. "USART/Interrupt"
  1200. "USART/Interrupt_FIFO"
  1201. "USART/PDMA"
  1202. "USART/Polling"
  1203. "USART/Retarget"
  1204. "USBD/HID_Demo"
  1205. "USBD/HID_DemoVendorReport"
  1206. Main Changes - API Function & Compatibility
  1207. + Add "USART_GetIntStatus()" function to get the both enabled and occurred interrupt source.
  1208. + Remove the "I2C_Cmd()" in the "I2C_Init()" function since it shall be called after the I2C related
  1209. settings. User shall call the "I2C_Cmd()" by themself after the "I2C_Init()".
  1210. + Add "DR_8BIT", "DR_16BIT", and "DR_32BIT" define for the "HT_SLEDn" structure.
  1211. + Modify "ADC_RegularChannelConfig()", add the last variable-length argument for the code compatibility
  1212. between the general HT32 model and the specific model (with the independent sample & hold function of each
  1213. ADC channel).
  1214. "ADC_RegularChannelConfig(HT_ADC_TypeDef* HT_ADCn, u8 ADC_CH_n, u8 Rank, ...)"
  1215. + Modify the following MCTM IRQ define for compatibility.
  1216. Old New
  1217. ------------- ----------------
  1218. MCTM_BRK_IRQn MCTM0_BRK_IRQn
  1219. MCTM_UP_IRQn MCTM0_UP_IRQn
  1220. MCTM_TR_UP2_IRQn MCTM0_TR_UP2_IRQn
  1221. MCTM_CC_IRQn MCTM0_CC_IRQn
  1222. GPTM_G_IRQn GPTM0_G_IRQn
  1223. GPTM_VCLK_IRQn GPTM0_VCLK_IRQn
  1224. + Modify "AFIO_FUN_ADC" as AFIO_FUN_ADC0.
  1225. + Add the following functions of "ht32f5xxxx_div.c".
  1226. "DIV_IsDivByZero()": Return the division by zero flag.
  1227. "DIV_uDiv32()": Do the 32-bit unsigned division.
  1228. "DIV_uGetLastRemainder()": Get remainder of last 32-bit unsigned division.
  1229. + Add "u64" definition.
  1230. + Add the following definition for convenience.
  1231. PDMACH0_IRQn ~ PDMACH5_IRQn
  1232. AFIO_FUN_MCTM0
  1233. AFIO_FUN_GPTM0 ~ AFIO_FUN_GPTM3
  1234. AFIO_FUN_PWM0 ~ AFIO_FUN_PWM3
  1235. AFIO_FUN_SCTM0 ~ AFIO_FUN_SCTM3
  1236. + Add "LIBCFG_MAX_SPEED" in the file "ht32fxxxxx_libcfg.h" which indicate the maximum core speed.
  1237. Main Changes - New Example & Supporting
  1238. + Add new examples.
  1239. "BFTM/OneShot"
  1240. "BFTM/TimeMeasure"
  1241. "Mono_LCD/LCD_module" (for ESK32-A3A31 mono LCD module)
  1242. "SLED/ARGB_GetLEDNum"
  1243. "USBD/HID_DemoVendorReport"
  1244. + Add example support of HT32F65230/65240
  1245. ADC, BFTM, CRC, EXTI, FMC, GPIO, HWDIV, NVIC, PDMA, PWRCU, RSTCU, RTC, SWDIV, SYSTICK, TM, WDT
  1246. + Rename examples as below.
  1247. IP Old Name New Name
  1248. -------- -------- --------
  1249. ADC EXTITrigger_DiscontinuousMode Discontinuous_EXTITrigger
  1250. ADC PDMA_ADCResult OneShot_TMTrigger_PDMA
  1251. ADC Potentiometer_ContinuousMode Continuous_Potentiometer
  1252. ADC TM_Trigger OneShot_PWMTrigger
  1253. ADC TM_Trigger_with_Delay OneShot_PWMTrigger_with_Delay
  1254. QSPI Flash Flash_Quad_Mode
  1255. TM PWMOutput PWM_Buzzer
  1256. USART HyperTerminal_TxRx Retarget
  1257. USART HyperTerminal_TxRx_Interrupt Interrupt
  1258. USART HyperTerminal_TxRx_Interrupt_FIFO Interrupt_FIFO
  1259. Mono_LCD 8CHAR_14SEG_Demo Demo
  1260. Others
  1261. + Update comment, format, typing error, and coding style.
  1262. + Update and modify naming rule of the "HTCFG_xxxx" configuration define in the "ht32_board_config.h".
  1263. + Update "ht32_series.c/h" and "ht32_retarget_usbdconf.h" to improve the compatibly of the
  1264. terminal software.
  1265. + Add ring buffer support of the "Virtual_COM" and "HID_Keyboard_Virtual_COM" examples.
  1266. + Fix interrupt mode of UxART retarget, remove unnecessary FIFO/interrupt configuration of the
  1267. retarget function.
  1268. + Update "system_ht32fxxxxx_nn.c" (coding style only).
  1269. /*----------------------------------------------------------------------------------------------------------*/
  1270. /* HT32_STD_5xxxx_FWLib_v013_4429 */
  1271. /*----------------------------------------------------------------------------------------------------------*/
  1272. Release Date: 2019-12-05
  1273. Main Changes
  1274. + Update "USBD/Virtual_COM" example, add ZLP process for BULK transfer.
  1275. + Fix memory size error of HT32F65230.
  1276. + Modify "ht32f65230_40_libcfg.h", fix the "USE_MEM_HT32F65230" define problem of HT32F65230.
  1277. Others
  1278. + Fix typing error of ""USBD/HID_Keyboard_Virtual_COM" example.
  1279. /*----------------------------------------------------------------------------------------------------------*/
  1280. /* HT32_STD_5xxxx_FWLib_v013_4425 */
  1281. /*----------------------------------------------------------------------------------------------------------*/
  1282. Release Date: 2019-11-29
  1283. Main Changes
  1284. + Add new device support.
  1285. HT32F65230
  1286. + Changes for HT32F65230 and HT32F65240
  1287. Change USE_HT32F65240 to USE_HT32F65230_40.
  1288. Rename "startup_ht3265240_xxx.s" to "startup_ht3265230_40_xxx.s".
  1289. + Update "HID_Demo_UI.exe" to support HID Report ID.
  1290. + Add "USBD/HID_DemoVendorReport" example.
  1291. + Add UART0_IRQn ~ UART3_IRQn define for HT32F52357/52367 (map to UART0_UART2_IRQn and UART1_UART3_IRQn).
  1292. + Add "RETARGET_UxART_BAUDRATE" setting to change the retarget UART baudrate in "ht32f5xxxx_conf.h".
  1293. + Add "RETARGET_HSI_ATM" setting to turn on/off the auto-trim function of HSI.
  1294. + Add "RETARGET_DEFINE_HANDLER" setting to remove the UxARTn_IRQHandler() define of the retarget.
  1295. This setting is used for the model who grouping two UART Interrupt into one vector.
  1296. + Add non-block mode of USB Virtual-COM retarget function ((Drop data if USB or terminal software is
  1297. not ready).
  1298. + Fix EXTI4_IRQn ~ EXTI15_IRQn define error of HT32F65230/65240.
  1299. + Add SWCLK toggle of "GPIO_DisableDebugPort()" function.
  1300. Others
  1301. + Add "USAGE_PAGE_L" define of "USB/HID_Demo" example.
  1302. + Add "UART0_UART2_IRQHandler()" and "UART1_UART3_IRQHandler" example in the file "ht32f5xxxx_01_it.c" for
  1303. HT32F52357/52367.
  1304. + Update format and coding style.
  1305. /*----------------------------------------------------------------------------------------------------------*/
  1306. /* HT32_STD_5xxxx_FWLib_v012_4285 */
  1307. /*----------------------------------------------------------------------------------------------------------*/
  1308. Release Date: 2019-10-18
  1309. Main Changes
  1310. + Add new device support.
  1311. HT32F50343, HT32F59041, HT32F59741, HF5032
  1312. + Fix HT32F65240 IRQ number error of "USART0_IRQn" and "UART0_IRQn".
  1313. + Fix "ADC_CH_GND_VREF" and "ADC_CH_VDD_VREF" define error of HT32F65240.
  1314. + Add "GPIO_GetID()" function to convert the HT_GPIOx to GPIO_Px.
  1315. + Add "LIBCFG_PWRCU_NO_PORF" define of HT32F65240 to fix the "PWRCU_DeInit()" function not work.
  1316. + Update "system_ht32fxxxxx.c" and "startup_ht32fxxxxx_xx_nn.s".
  1317. + Rename "startup_ht32f5xxxx_01/02.s" of IAR as "startup_ht32f5xxxx_iar_01/02.s".
  1318. + Move the "common/*.h" include from the begin to the end (after the pin define) in the file
  1319. "HT32_Board/ht32fxxxx_sk/dvb.h". The original include way leads to the pin define lost when you
  1320. use the EBI_LCD->EBI_LCD_RAM outside the "ebi_lcd.c".
  1321. + Update "ebi_lcd.c", fix LCD_SPI_BL_GPIO_XXX define error (shall be LCD_EBI_BL_GPIO_XXX).
  1322. + Fix error of "_CreateProjectScript.bat" which cause the stack size and RW base can not be set by the
  1323. "_ProjectConfig.bat" of the emStudiov4 project.
  1324. Others
  1325. + Remove the wrong define, "LIBCFG_CKCU_USB_PLL_96M" of HT32F52367.
  1326. + Add calculation method of PLL clock in the file, "system_ht32f5xxxx_nn.c".
  1327. + Add "utilities/common/lcd.h" to put the lcd related register together.
  1328. + Update example to improve readability.
  1329. /*----------------------------------------------------------------------------------------------------------*/
  1330. /* HT32_STD_5xxxx_FWLib_v011_4188 */
  1331. /*----------------------------------------------------------------------------------------------------------*/
  1332. Release Date: 2019-08-05
  1333. Main Changes
  1334. + Add new device support.
  1335. HT32F57331, HT32F57341, HT32F57342, HT32F57352, HT32F52357, HT32F52367, HT32F52142,
  1336. HT32F65240, HT32F61352, HT50F32002, HT50F32003
  1337. + Fix define error of "ht32fxxxxx_libcfg.h".
  1338. + Update "system_ht32fxxxxx.c" and "startup_ht32fxxxxx_xx_nn.s".
  1339. + Rename "startup_ht32f5xxxx_nn.s" of IAR as "startup_ht32f5xxxx_iar_nn.s".
  1340. + Modify ADC related define (The left side old one is still kept for backward compatible).
  1341. HT_ADC -> HT_ADC0
  1342. ADC -> ADC0
  1343. ADC_IRQn -> ADC0_IRQn
  1344. + Fix typing error of the function name below.
  1345. SPI_GUARDTCmd(), SPI_GUARDTConfig()
  1346. Others
  1347. + Update content of "readme.txt".
  1348. + Add s64 ("typedef signed long long s64;").
  1349. + Update comment and coding style.
  1350. + Update and sync "ht32f5xxxx_conf.h".
  1351. + Update and sync create project related files ("_ProjectConfig.bat", "_CreateProjectScript.bat").
  1352. + Update "HT32F5xxxx_01_DebugSupport.ini".
  1353. + Update "ht32_op.s" and "ht32_op.c".
  1354. /*----------------------------------------------------------------------------------------------------------*/
  1355. /* HT32_STD_5xxxx_FWLib_v010_3748 */
  1356. /*----------------------------------------------------------------------------------------------------------*/
  1357. Release Date: 2019-04-09
  1358. Main Changes
  1359. + Update functions of "ht32f5xxxx_dac_dual16.c".
  1360. + Update Create Project script, add Script folder in project_template.
  1361. + Fix VREFCR/VREFVALR register address error of HT_ADC_TypeDef.
  1362. + Fix "ADC_VREFConfig()" error (ADC_VREF_x shift error).
  1363. + Add "ADC_MVDDACmd()" function.
  1364. + Add "PWRCU_DeepSleep2Ex()" function for the case which wakeup by EXTI in the short time or the wakeup
  1365. source keeps active.
  1366. Notice: PWRCU_DeepSleep2Ex() function will affect the accuracy of RTC for the date/time application.
  1367. + Add "TM/TriggerCounter" example.
  1368. + Add "ADC/InternalReferenceVoltage" example.
  1369. + Update "ADC/Potentiometer_ContinuousMode" example, remove division in the ISR of ADC.
  1370. Others
  1371. + Update "ht32f5xxxx_usbd.c" and "ht32_usbd_core.c", add Force USB Reset Control function (apply to specific
  1372. model only).
  1373. + Update/sync startup.s/system.c files, fix PLL range and content errors.
  1374. + Update "BootProcess" function.
  1375. + Update/sync "ht32_op.s" and "ht32_op.c".
  1376. + Update "PWRCU/DeepSleepMode1" examples, fix compile error when set "DISABLE_DEBUG_PIN" = 1.
  1377. + Update "PWRCU/PowerDownMode" examples
  1378. - Update EXTI ISR to reduce maintenance time.
  1379. - Add "DISABLE_DEBUG_PIN" function.
  1380. + Update/sync "FlashMacro.mac".
  1381. + Update Keil after build setting
  1382. - Add double quotes (") in the command.
  1383. - Change filename keyword from "#L" to "!L" (relative path specification to the current folder).
  1384. - Update "fromelf.txt" and "objcopy.txt"
  1385. /*----------------------------------------------------------------------------------------------------------*/
  1386. /* HT32_STD_5xxxx_FWLib_v009_3383 */
  1387. /*----------------------------------------------------------------------------------------------------------*/
  1388. Release Date: 2019-02-12
  1389. Main Changes
  1390. + Add SEGGER Embedded Studio IDE support (beta version).
  1391. + Update "EXTI/WakeUp_DeepSleepMode1" Example, fix channel error of EXTI clear wakeup flag and add LED3
  1392. (for some SK have only LED2 and LED3 on board).
  1393. Others
  1394. + Update comment and coding style.
  1395. + Add "USBD/USB_UAC_Sound_RateControl" Example.
  1396. + Add "USBD/HID_Keyboard_Mass_Storage" Example.
  1397. + Update utilities/common/spi_flash.c/h", change the way of HT_PDMA define.
  1398. + Update HT32F0006 MDK-ARM project related files (uvproj*). fix SRAM size.
  1399. + Update "LIBCFG_DAC" as "LIBCFG_DACDUAL16" for HT32F0006.
  1400. + Add "LIBCFG_DACDUAL16" define for "ht32f5xxxx_dac_dual16.h" of "ht32f5xxxx_lib.h".
  1401. + Fix missed "I2C2_IRQHandler" and "AES_IRQHandler" in "startup_ht32f5xxxx_01.s" files (both MDK-ARM and
  1402. EWARM).
  1403. /*----------------------------------------------------------------------------------------------------------*/
  1404. /* HT32_STD_5xxxx_FWLib_v008_3322 */
  1405. /*----------------------------------------------------------------------------------------------------------*/
  1406. Release Date: 2018-12-17
  1407. Main Changes
  1408. + Fix filename error of IAR EWARM and GNU make file ("ht32f5xxxx_dac_dual16.c").
  1409. Others
  1410. + Update "startup_ht32f5xxxx_xxxx.s".
  1411. /*----------------------------------------------------------------------------------------------------------*/
  1412. /* HT32_STD_5xxxx_FWLib_v008_3314 */
  1413. /*----------------------------------------------------------------------------------------------------------*/
  1414. Release Date: 2018-12-12
  1415. Main Changes
  1416. + Add new device support.
  1417. HT32F0006
  1418. + Modify Control IN/OUT method of USB Core, to fix USB transfer problem when CPU in the lower speed or late
  1419. USB interrupt case.
  1420. + Add workaround for PDMA CH3 issue (Interrupt Enable bit of CH3 is not work).
  1421. + Modify "CKCU_ATC_EXT_PIN" as "CKCU_ATC_CKIN".
  1422. Others
  1423. + Fix typing error of MCTM.
  1424. + Add "LIBCFG_ipname" define to the IP channel of "ht32f5xxxx_pdma.h".
  1425. + Add "USBD_DisableDefaultPull()" function to disable pull resistance when the USB is not use.
  1426. + Update comment and coding style.
  1427. + Rename RTC example as below.
  1428. "Calendar" -> "Time"
  1429. "Calendar_backup_Domain" -> "Time_BackupDomain"
  1430. + Add new example, "RTC/Calendar_BackupDomain".
  1431. + Update "EXTI/WakeUp_DeepSleepMode1" example.
  1432. /*----------------------------------------------------------------------------------------------------------*/
  1433. /* HT32_STD_5xxxx_FWLib_v007_3076 */
  1434. /*----------------------------------------------------------------------------------------------------------*/
  1435. Release Date: 2018-09-30
  1436. Main Changes
  1437. + Update HardFault_Handler of "ht32f5xxxx_01_it.c",add the debug instruction and system reset.
  1438. + Update AES examples, add zero init of local Struct (AES_InitTypeDef AES_InitStruct).
  1439. + Add "__HT_check_sp" and "__HT_check_heap" symbol into startup.s and watchpoint command into
  1440. "HT32F5xxxx_01_DebugSupport.ini" for debug stack/heap underflow, overflow, and overwrite.
  1441. + Add GNU Make support of GNU Arm compiler.
  1442. + Add 52354 IAR project files into "project_template/IP/Template_USB".
  1443. + Add "LIBCFG_ADC_INTERNAL_CH_V02" define to fix the "ADC_CH_GNDREF/ADC_CH_VREF" mismatch of HT32F502xx
  1444. Series (The ADC input channel number of analog ground/power is different between HT32F502xx and other
  1445. series).
  1446. + Update "USBD/HID_Keyboard_Joystick" and "USBD/HID_Mouse" example, change the set flag sequence
  1447. (before USBDCore_EPTWriteINData).
  1448. Others
  1449. + Add "objcooy.txt" which shows how to use obj tools of GNU Arm compiler.
  1450. + Update format and coding style.
  1451. /*----------------------------------------------------------------------------------------------------------*/
  1452. /* HT32_STD_5xxxx_FWLib_v007_2962 */
  1453. /*----------------------------------------------------------------------------------------------------------*/
  1454. Release Date: 2018-08-02
  1455. Main Changes
  1456. + Add GNU Arm compiler support.
  1457. - Add project_template related files
  1458. - "startup_ht32f5xxxx_gcc_nn.s"
  1459. - "linker.ld" (link script)
  1460. + Fix typing error of "ht32f52230_sk.h" file.
  1461. "COM1_IRQHandler" shall be "UART0_IRQHandler".
  1462. + Fix startup.s error of IAP example which cause UART not work.
  1463. + Rename "CreatProject.bat" to "_CreateProject.bat" and update its content.
  1464. + Update "ht32f5xxxx_tm.c/.h", add following functions which have TM_CH_n parameter.
  1465. void TM_ForcedOREF(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, TM_OM_Enum ForcedAction)
  1466. void TM_SetCaptureCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, u16 Cmp)
  1467. void TM_SetAsymmetricCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n, u16 Cmp)
  1468. u32 TM_GetCaptureCompare(HT_TM_TypeDef* TMx, TM_CH_Enum TM_CH_n)
  1469. Others
  1470. + Fix compile error when turn on Library debug mode (HT32_LIB_DEBUG = 1).
  1471. + Fix compile warning/error of GNU Arm compiler.
  1472. /*----------------------------------------------------------------------------------------------------------*/
  1473. /* HT32_STD_5xxxx_FWLib_v006_2891 */
  1474. /*----------------------------------------------------------------------------------------------------------*/
  1475. Release Date: 2018-07-14
  1476. Main Changes
  1477. + None
  1478. Others
  1479. + Add "USBD/HID_Keyboard_Virtual_COM" example.
  1480. + Add "ADC/Two_Group_MaxCH" example.
  1481. /*----------------------------------------------------------------------------------------------------------*/
  1482. /* HT32_STD_5xxxx_FWLib_v006_2863 */
  1483. /*----------------------------------------------------------------------------------------------------------*/
  1484. Release Date: 2018-06-11
  1485. Main Changes
  1486. + Add new device support.
  1487. HT32F52344, HT32F52354
  1488. + Add DMA support of "utilities/common/spi_flash.c".
  1489. + Add missed function prototype declaration of "GPIO_SinkConfig()" in "ht32f5xxxx_gpio.h".
  1490. + Add "EXTI_GetEdgeFlag()" function.
  1491. + Add LIBCFG_AES_SWAP function to process endian issue of AES.
  1492. Others
  1493. + Update project and "ht32f5826_libcfg.h" typing error of HT32F5826.
  1494. + Fix "LIBCFC_CKCU_USB_PLL" typing error of ht32fxxxx_libcfg.h and example code (shall be LIBCFG_CKCU_USB_PLL).
  1495. + Add LED3 toggle of "//project_template/IP/Example" since HT32F52253 Starter Kit using LED2 and LED3.
  1496. + Fix compiler error of "USBD/USB_UAC_Sound" Example.
  1497. + Remove unnecessary define "LIBCFG_CKCU_INTERRUPT_FLAG_V01".
  1498. + Update ht32_op.s and ht32_op.c (improve readability).
  1499. + FIx memory size typing error of HT32F0008 project.
  1500. + Add LIBCFG_FMC_CMD_READY_WAIT define to insert NOP after ISP command for specific model.
  1501. + Update USB's example, driver, an setting related to the LIBCFG_CKCU_USB_PLL_96M.
  1502. + Update comment and coding style.
  1503. + Add MDK_ARMv5 project of IAP example.
  1504. + Fix HT32F52352 IAP_PPBIT define error of "IAP/IAP_UI" example.
  1505. + Change buffer size of "IAP/IAP_UI" example for the MCU runs on the slower speed.
  1506. + Update "USBD/Mass_Storage" example.
  1507. + Update "ht32f5xxxx_ckcu.c" to remove unnecessary register write of PLL.
  1508. + Update "EXTI/GPIO_Interrupt" example to reduce maintenance effort.
  1509. + Update "ht32f52352_sk.h", "ht32f52354_sk.h", and "ebi_lcd.h" to support EBI 8-bit mode with SPI dual output.
  1510. /*----------------------------------------------------------------------------------------------------------*/
  1511. /* HT32_STD_5xxxx_FWLib_v006_2687 */
  1512. /*----------------------------------------------------------------------------------------------------------*/
  1513. Release Date: 2018-04-12
  1514. Main Changes
  1515. + Add SourceryG++Lite compiler support.
  1516. - Add project_template related files
  1517. - "startup_ht32f5xxxx_cs3_nn.s"
  1518. - "linker.ld" (link script)
  1519. + Fix typing error of "Project_50241.uvproj" files.
  1520. Others
  1521. + Update "ht32f5xxxx_conf.h" for AUTO_RETURN (\r) option.
  1522. + Update "ht32f5xxxx_div.h" to remove compiler error of SourceryG++Lite compiler.
  1523. /*----------------------------------------------------------------------------------------------------------*/
  1524. /* HT32_STD_5xxxx_FWLib_v005_2639 */
  1525. /*----------------------------------------------------------------------------------------------------------*/
  1526. Release Date: 2018-02-28
  1527. Main Changes
  1528. + Add "I2C_SpeedOffset" parameter of "I2C_InitTypeDef" struct to reach real I2C speed.
  1529. + Add "CKCU/HSI_AutoTrim_By_USB" Example.
  1530. + Add "USBD/HID_Keyboard_Joystick" Example.
  1531. + Update "CKCU_HSIAutoTrimIsReady" function of "ht32f5xxxx_ckcu.c".
  1532. Others
  1533. + Update SPI/PDMA example to support HT32F52243/52253.
  1534. + Add "I2C_SpeedOffset" parameter of I2C related examples.
  1535. + Update "i2c_eeprom.c" to remove warning on specify compiler.
  1536. + Modify EXTI related code of "USBD/HID_Keyboard" Example to reduce maintenance effort.
  1537. /*----------------------------------------------------------------------------------------------------------*/
  1538. /* HT32_STD_5xxxx_FWLib_v005_2481 */
  1539. /*----------------------------------------------------------------------------------------------------------*/
  1540. Release Date: 2017-12-30
  1541. Main Changes
  1542. + None
  1543. Others
  1544. + Update I2S and USB UAC related examples (Coding style and remove unuse define).
  1545. + Fix I2S setting of "USB_UAC_Sound" example.
  1546. + Fix define error of "PWRCU/DeepSleepMode1" example.
  1547. /*----------------------------------------------------------------------------------------------------------*/
  1548. /* HT32_STD_5xxxx_FWLib_v005_2470 */
  1549. /*----------------------------------------------------------------------------------------------------------*/
  1550. Release Date: 2017-12-29
  1551. Main Changes
  1552. + Add new device support.
  1553. HT32F50231, HT32F50241
  1554. Note: The examples of HT32F50220, HT32F50230, HT32F50231, HT32F50241 are under test. Please contact us if
  1555. any question. Thanks.
  1556. + Update boot related functions of "startup_ht32f5xxxx_nn.s" and "system_ht32f5xxxx_nn.c".
  1557. + Fix USB example code which forget to turn on USB PLL of HT32F0008.
  1558. + Update IAP example to support HT32F0008.
  1559. + Add "GPIO_DisableDebugPort()"" function to disable SWD function.
  1560. + Add "GPIO_SinkConfig()" function for sink current configuration (Apply to specific model only).
  1561. + Update "ht32_op.c" and "ht32_op.s" to support enable WDT function by Flash Option byte (Apply to specific
  1562. model only).
  1563. + Add "Clock_Configuration_LSI" example to show how to configure the system clock between High Speed
  1564. (PLL, HSI, or HSE) and LSI.
  1565. Others
  1566. + Fix errors of following examples (related to the MCU we added recently).
  1567. "EXTI/GPIO_Interrupt"
  1568. "PWRCU/BOD_LVD"
  1569. "PWRCU/PowerDownMode"
  1570. "RAND/Random_Number"
  1571. "SPI/Slave"
  1572. "TM/MatchOutputToggle"
  1573. "TM/PWMOut_PDMA"
  1574. "TM/PWMOutput"
  1575. "TM/SinglePulseMode"
  1576. "USART/HyperTerminal_TxRx_Interrupt_FIFO"
  1577. "USART/PDMA"
  1578. + Fix "LIBCFG_CHIPNAME" typing error of HT32F50220/50230.
  1579. + Remove useless "RTC_LSICmd()"" function.
  1580. + Update "RTC_LSILoadTrimData()" to prevent hardfault if RTC clock is not enabled when calling this function.
  1581. + Update typing error and coding style of "ht32f5xxxx_ckcu.h".
  1582. + Change pin assignment of HT32F0008's example.
  1583. /*----------------------------------------------------------------------------------------------------------*/
  1584. /* HT32_STD_5xxxx_FWLib_v005_2267 */
  1585. /*----------------------------------------------------------------------------------------------------------*/
  1586. Release Date: 2017-11-30
  1587. Main Changes
  1588. + Add new device support.
  1589. HT32F0008
  1590. HT32F50220, HT32F50230
  1591. Others
  1592. + Update "ht32_virtual_com.inf" file, add Digital Signature.
  1593. + Update "ht32_usbd_core.c/.h", add vendor request call back capability.
  1594. + Fix compiler warning when turn on library debug mode.
  1595. + Fix IAR project setting of IAP related examples (Output format).
  1596. /*----------------------------------------------------------------------------------------------------------*/
  1597. /* HT32_STD_5xxxx_FWLib_v004_1996 */
  1598. /*----------------------------------------------------------------------------------------------------------*/
  1599. Release Date: 2017-10-19
  1600. Main Changes
  1601. + Update "system_ht32F5xxxx_03.c", modify PLL related setting.
  1602. + Change "LIBCFG_WP_2PAGE_PER_BIT" to "LIBCFG_FLASH_2PAGE_PER_WPBIT".
  1603. Others
  1604. + Update "PWRCU/DeepSleepMode2" example, fix compiler error when DISABLE_DEBUG_PIN = 1.
  1605. + Update "WDT/Period_Reload" example, fix comment typing error.
  1606. + Add "LIBCFG_CHIPNAME" define.
  1607. + Update project setting.
  1608. + Update "NVIC/External_Interrupt" example, remove unuse define.
  1609. /*----------------------------------------------------------------------------------------------------------*/
  1610. /* HT32_STD_5xxxx_FWLib_v004_1790 */
  1611. /*----------------------------------------------------------------------------------------------------------*/
  1612. Release Date: 2017-09-05
  1613. Main Changes
  1614. + Fix vector table error ("startup_ht32f5xxxx_01.s").
  1615. Others
  1616. + Update "system_ht32f5xxxx_xx.c".
  1617. + Update Keil project setting, enable "User->After Build Run #1" as default value to output Binary file.
  1618. /*----------------------------------------------------------------------------------------------------------*/
  1619. /* HT32_STD_5xxxx_FWLib_v004_1753 */
  1620. /*----------------------------------------------------------------------------------------------------------*/
  1621. Release Date: 2017-08-31
  1622. Main Changes
  1623. + Rename "HT32F520xx_FWLib" to "HT32_STD_5xxxx_FWLib" and "520xx" to "5xxxx".
  1624. The following files are also renamed.
  1625. Old New
  1626. ====================================== ======================================
  1627. startup_ht32f520xx_01.s startup_ht32f5xxxx_01.s
  1628. system_ht32f520xx_01.c system_ht32f5xxxx_01.c
  1629. system_ht32f5xxxx_02.c system_ht32f5xxxx_02.c
  1630. ht32f520xx_01_it.c ht32f5xxxx_01_it.c
  1631. ht32f523xx_01_usbdconf.h ht32f5xxxx_01_usbdconf.h
  1632. ht32f520xx_01_conf.h ht32f5xxxx_conf.h
  1633. HT32F520xx_01_DebugSupport.ini HT32F5xxxx_01_DebugSupport.ini
  1634. ht32f520xx_sk.c ht32f5xxxx_board_01.c
  1635. ht32f520xx_01.h ht32f5xxxx_01.h
  1636. Others
  1637. + Update "ht32_usbd_core.c" to support vendor function.
  1638. + Add "USE_MEM_HT32F5xxxx" define into project.
  1639. + Add "USE_MEM_HT32F5xxxx" default define into "ht32f5xxxx_xx_libcfg.h".
  1640. + Update the IAP Example. Change IAP loader size from 3 KBytes to 4 KBytes (Since the code size of IAP
  1641. example for IAR EWARM is large than 3 KB).
  1642. + Add new device support
  1643. HT32F5826
  1644. /*----------------------------------------------------------------------------------------------------------*/
  1645. /* HT32F520xx_FWLib_v003_1661 */
  1646. /*----------------------------------------------------------------------------------------------------------*/
  1647. Release Date: 2017-07-27
  1648. Main Changes
  1649. + Add hardware divider driver, "ht32f520xx_div.c/h"
  1650. + Update following example to support HT32F52243 and HT32F52253.
  1651. DIV, IAP, SPI, TM
  1652. Note: The code size of IAP example for IAR EWARM is large than 3 KB. It over Reserved size of the IAP
  1653. area. We will update it in the next version.
  1654. Others
  1655. + Update project related file and setting.
  1656. + Modify USB/Mass_Storage example for WIN10 compatibility issue.
  1657. + Update "ht32_op.c" and "ht32_op.s", add CK_CODE/CK_DATA/CK_CODEOP in Option Bytes (same format with e-Writer32).
  1658. /*----------------------------------------------------------------------------------------------------------*/
  1659. /* HT32F520xx_FWLib_v003_1566 */
  1660. /*----------------------------------------------------------------------------------------------------------*/
  1661. Release Date: 2017-07-17
  1662. Main Changes
  1663. + Fix COM1 & BUZZER setting error of "ht32f52253_sk.h".
  1664. + Update following example to support HT32F52243 and HT32F52253.
  1665. ADC, I2C
  1666. Others
  1667. + Update ht32_op.s and ht32_op.c
  1668. /*----------------------------------------------------------------------------------------------------------*/
  1669. /* HT32F520xx_FWLib_v003_1534 */
  1670. /*----------------------------------------------------------------------------------------------------------*/
  1671. Release Date: 2017-07-03
  1672. Main Changes
  1673. + Add new device support
  1674. HT32F52243, HT32F52253
  1675. Note: The following example is not supported yet for the HT32F52243 and HT32F52253.
  1676. ADC, DIV, I2C, IAP, SPI, TM
  1677. + Add IAR EWARMv8 project template (create by IAR EWARM v8.11).
  1678. + Update "system_ht32f520xx_01.c" and "system_ht32f520xx_02.c" to support different setting between
  1679. IAP and AP.
  1680. + Fix "ht32_retarget.c" error (UxART Rx interrupt is no need to turn on).
  1681. + Update UxART driver to sync with HT32_STD_1xxxx FW Library.
  1682. + Modify following variable name of "MCTM_CHBRKCTRInitTypeDef".
  1683. Break -> Break0
  1684. BreakPolarity -> Break0Polarity
  1685. Others
  1686. + Update project related file and setting.
  1687. + Upgrade the version of IAR EWARM project template from v6.20 to v6.50.
  1688. Note:
  1689. 1. Supported CMSIS-DAP: IAR EWARM v6.50 and above.
  1690. 2. RDI/e-Link32 is not supported anymore from the v8.xx of IAR EWARM.
  1691. 3. For the Cortex-M0+, you must use IAR EWARM v6.40 and above.
  1692. + Update file format and coding style.
  1693. + Modify "EXTI_DebounceCnt" of "EXTI_InitTypeDef" from u32 to u16, to prevent count setting over range.
  1694. /*----------------------------------------------------------------------------------------------------------*/
  1695. /* HT32F520xx_FWLib_v002_1320 */
  1696. /*----------------------------------------------------------------------------------------------------------*/
  1697. Release Date: 2017-05-04
  1698. Main Changes
  1699. + Fix IAR compiler failed issue of "ht32_cm0plus_misc.c" (Tool Internal Error with Access violation error).
  1700. Others
  1701. + Fix config error of ADC example, "PWMTrigger_OneShotMode".
  1702. + Rename ADC example "PWMTrigger_OneShotMode" as "TM_Trigger".
  1703. + Add ADC example, "TM_Trigger_with_Delay".
  1704. + Fix I2C register naming (ADDBR to ADDSR).
  1705. + Fix build error when Library Debug mode enable.
  1706. + Fix IAP example, add "USART_ClearFlag(HTCFG_UART_PORT, USART_FLAG_TOUT)" in the UART ISR.
  1707. + Fix SPI Flash dual read, enable dual read function (SPI_DUALCmd()) before send dummy bytes.
  1708. /*----------------------------------------------------------------------------------------------------------*/
  1709. /* HT32F520xx_FWLib_v002_1143 */
  1710. /*----------------------------------------------------------------------------------------------------------*/
  1711. Release Date: 2016-10-11
  1712. Main Changes
  1713. + Fix FLASH_WP_ALLPAGE_SET macro error.
  1714. + Add memory footprint information (ht32fxxxxx_xx_libcfg.h).
  1715. Others
  1716. + Update typing error and naming rule.
  1717. + Update "ht32f520xx_02.h" variable data type define to prevent data type confusion (such as const s32 not
  1718. equal to sc32).
  1719. + Modify Re-target to USB Tx buffer size from 63 to 1. Add notice message for SERIAL_Flush() when Tx buffer
  1720. size is lager than 1.
  1721. + Update MDK_ARMv5 project setting.
  1722. /*----------------------------------------------------------------------------------------------------------*/
  1723. /* HT32F520xx_FWLib_v002_966 */
  1724. /*----------------------------------------------------------------------------------------------------------*/
  1725. Release Date: 2016-08-17
  1726. Main Changes
  1727. + Add "CKCU_HSIAutoTrimIsReady()" functions.
  1728. + Fix Re-target USB virtual bug (Bulk out 64 Bytes without zero length OUT is not allow).
  1729. + Add example code.
  1730. + Update IAR EWARM project of example codes.
  1731. + Add random number function/example.
  1732. Others
  1733. + Rename and update "HT32_Virtual_COM.inf". Add VID/PID for e-Link32Pro USB to UART function.
  1734. + Update pin assignment of HT32F52341 SPI/Master example.
  1735. + Fix "CKCU_GetClocksFrequency()" and "CKCU_GetPLLFrequency()" error.
  1736. + Update typing error and naming rule.
  1737. + Fix USB descriptor error of "ht32_retarget_desc.h".
  1738. + Fix CKCU/Clock_Configuration example error (CKOUT pin).
  1739. /*----------------------------------------------------------------------------------------------------------*/
  1740. /* HT32F520xx_FWLib_v002_820 */
  1741. /*----------------------------------------------------------------------------------------------------------*/
  1742. Release Date: 2016-06-20
  1743. Main Changes
  1744. + Fix IAP_Text_RAM example setting error.
  1745. + Fix "_USBD_CopyMemory()" error.
  1746. + Fix EXTI init sequence of HT32F_DVB_PBInit() which may cause unexpect EXTI interrupt.
  1747. + Fix LIBCFG_WP_2PAGE_PER_BIT define error of HT32F52331/41.
  1748. + Add project files of MDK_ARMv5 (*.uvprojx), select CMSIS-DAP debug adapter as default setting.
  1749. Others
  1750. + Fix IAR scanf not work issue
  1751. + Add UART interrupt mode for Re-target.
  1752. + Improve efficiency of USB re-target (USB IN).
  1753. + Modify uIsTerminalOpened check method.
  1754. + Fix Re-target to USB bug (OUT data overrun the Rx buffer).
  1755. + Remove unnecessary divide/mod operation ("ring_buffer.c", "ht32_serial.c").
  1756. + Remove unnecessary code of "ht32f520xx_tm.c".
  1757. + Fix Buffer_GetLength error of "ring_buffer.c".
  1758. + Modify __RBIT as RBIT of "ht32_cm0plus_misc.c" (__RBIT is keyword of IAR).