ES32 SDK Release NoteV1.31 2025-11-14ES32F0283V1.30 2025-11-04ES32F0283ES32M0502ES32F361x_362xES32F36xx/ES32F336xES32F065xES32H040x/FS040V1.29 2025-07-15ES32F361x_362xES32M0502ES32F010xES32F0283ES32H040xFS040LQV1.28 2025-03-20ES32F065xES32F361x_362xES32M0502ES32F010xV1.27 2025-01-09ES32F361x_362xES32F36xx/ES32F336xES32F0283ES32F010xBook2_ExampleV1.26 2024-11-11ES32F361x_362xES32H0403ES32F36xx/ES32F336xES32F065x/ES32F033xES32F010xBook2_ExampleV1.25 2024-09-10ES32F361x_362xES32H0403ES32F010xES32F0283ES32F0271ES32F0943ES32F0930ES32M0502Book1_ExampleBook2_ExampleV1.24 2024-02-04ES32F36xxES32H040xES32F0283ES32F0943ES32F0930ES32M0502Book1_ExampleBook2_ExampleV1.23 2023-12-11ES32F010xES32F040xES32F0283ES32F0943ES32F0930ES32M0502Middlewares:V1.22 2023-10-31ES32F36xx/ES32F336xES32H040xES32F0283ES32F0943ES32F0930ES32M0502ES32F010xV1.21 2023-07-07ES32F36xx/ES32F336xES32F065x/ES32F033xES32H040xES32F010xES32F0283ES32F0943ES32F0930Book1_ExampleBook2_ExampleV1.20 2023-03-07中间件ES32F010xES32F040xES32F36xxES32F028xES32F094xBook1_ExampleBook2_ExampleV1.19 2022-10-14ES32F3xxxES32F065xES32F040xES32F010xES32F028xBook2_ExampleV1.18 2022-08-11ES32F3xxxES32F065xES32H040xES32F028xMiddlewaresBook1_ExampleBook2_ExampleV1.17 2022-05-12ES32F336xES32F36xx/ES32F33xxES32F028xV1.16 2022-04-28ES32F010xES32F040xES32F028xES32F36xx/ES32F33xxBook1_ExampleBook2 ExampleV1.15 2022-02-08ES32H040xES32F010xES32F028xES32F36xxES32F065x/ES32F033xBook1 ExampleBook2 ExampleV1.14 2021-12-20ES32F36xx/ES32F33xx:ES32F010x其他V1.13 2021-10-08V1.12 2021-05-27ES32F065x/ES32F033x:ES32F36xx/ES32F33xx:V1.11 2021-03-15ES32F065x/ES32F033x:ES32F36xx/ES32F33xx:ES32F065x:ES32F36xx:V1.10 2021-02-07ES32F065x:ES32F36xx:V1.09 2020-11-26ES32F065x:ES32F36xx:ES32F0271:ES32F0541:ES32F0930:V1.08 2020-10-16ES32F065x:ES32F033x:ES32F36xx:ES32F0271:ES32F0541:V1.07 2020-5-11ES32F065x:ES32F033xES32F36xx附录:V1.06a 2020-5-8V1.06 2020-4-28V1.05a 2019-12-30V1.05 2019-12-24V1.04 2019-11-13V1.03 2019-10-9V1.02 2019-7-9V1.01 2019-3-22V1.00 2019-1-4
上电初始化时钟函数 md_rcu_sys_init 新增对HRC48M阶梯升频的支持。
修复adc offset例程的零点漂移bug;
新增msc_spiflash_fatfs_pdf例程;
优化md_rcu.c,提高系统时钟的稳定性。
修订CAN例程中的波特率注释错误。
ES32F361x_362x增加UART_BOOT/LiteOS例程;
ES32F361x_362x解决串口全双工通信收发冲突问题;
ES32F36xx/ES32F336X解决串口全双工通信收发冲突问题;
ES32F065x解决串口全双工通信收发冲突问题;
ES32H0403/FS040中修正IO中断清除标志的操作错误;
ES32H0403/FS040中解决串口全双工通信收发冲突问题;
ES32F361x_362x的MD MSC例程中增加数据FLASH的操作例程;
ES32F361x_F362x的ald_adc.c中校准函数修订;
新增两个CMP例程:负端参考为VRES1,VINN为内部参考电压VRESINT;
新增LIN主机/从机demo;
Timer通道输出demo增加输出比较预载使能;
demo里的模拟引脚改为浮空;
补充coremark例程;
修订md_dma.h里的枚举错误,MD_DMA_MSIGSEL_UART2_TX = 1U。
I2C结构体初始化函数md_i2c_struct_init补充参数dual_addr和own_addr2的初始化配置;
Timer通道输出demo增加输出比较预载使能;
demo里的模拟引脚改为浮空;
md_adc.h增加单次模式重新使能和连续模式重新使能内联函数。
新增ADC零点偏移校准例程。
ADC ald库增加当前系统供电电压计算函数
GPIO ald库修改管脚电平输出寄存器操作方式
新增料号FS040LQ
ES32F065x的ald_uart.c中ald_uart_irq_handler函数中接收先清标志;
ES32F361x_362x/Startup中的gcc启动文件作修订;
ES32F361x_F362x/Include/ald_adc.h 文件中高速模式和低速模式的修改;
ES32F361x_362x的Projects下增加Templates_ALD;
ES32F361x_362x中ALD的SPI例程中增加SPI显示例程;
重构MD库和所有例程。
优化es32f010x.h,补全遗漏的“extern "C" {”。
优化函数md_pmu_sleep_enter,该函数禁止深睡眠模式。
SPI的ALD例程中增加外部FLASH四线查询模式例程;
ADC的ALD例程中增加ADC的温感例程;
UART的ALD例程中增加超时接收不定长数据例程;
优化了ADC的修调及温感转换函数。
ADC的md_adc.c中修订md_dma_disable()函数;
修正md_utils.h/md_utils.c里UID相关接口的错误。
修正md_timer.c里ic4_config函数寄存器错误;
将内联函数md_gpio_toggle_pin_output里的读、修改、写寄存器操作改为直接写寄存器操作;
md_pmu_sleep_enter和md_pmu_stop_enter函数增加操作:休眠前暂停SysTick计数,退出休眠后再恢复SysTick计数状态;
使能ADC_CON1_DMA的函数,函数名由md_adc_set_overflow_detection_state_ovrdis改为md_adc_dma_enable;
所有USART例程,将清除IDLE标志位的操作由中断服务函数中移至主循环中。
修复ES32F0283 FreeRTOS例程编译错误的问题。
优化UART的中断函数中接收数据和发送数据的处理;
修订ADC时钟分频的显示错误;
增加UART接收不定长数据例程;
增加ADC的补偿接口;
更新UART/LPUART的各个例程;
修订utils文件中UID的错误。
优化UART的中断函数中接收数据和发送数据的处理。
优化UART的中断函数中接收数据和发送数据的处理。
优化UART的中断函数中接收数据和发送数据的处理。
修正md_timer_get_break_valid_interrupt_flag_brkim操作的寄存器为TIMER_IFM_BRKIM;
AD16C4T\03_capture例程优化:主循环中增加DMA状态6处理机制,防止发生状态6死锁问题;
优化md_syscfg.h部分内联函数名称。
修复FreeRTOS例程的中断在FreeRTOS初始化前调用的问题。
初版发布
增加例程:uart_boot,配合UART_BOOT上位机使用;
增加例程:TK_example,在原触控例程基础上优化结构,添加增强滤波算法。
优化I2C从机例程:收到stop信号后,判断RXNE标志位,再读取接收数据;
将GPIO的FUNC配置提到MODE配置之前;
优化模拟EEPROM例程03_flash_emulate_eeprom:简化页状态的判断。
增加例程:温度补偿HRC4M时钟;
assert_param(ALD_IS_TIMER_CC2_INSTANCE(TIMx))增加判断C4定时器;
删除ALD库及其例程(USB相关库和例程除外)。
删除ALD库及其例程(USB相关库和例程除外)。
删除ALD库及其例程。
删除ALD库及其例程。
删除ALD库及其例程。
将所有DMA中断服务程序里的标志位嵌套判断改为独立判断;
将DMA相关例程改成只在初始化时清零一次g_dma0_ctrl_base结构体;
优化模拟EEPROM例程03_flash_emulate_eeprom:简化页状态的判断。
将MicroBoot的APP demo通信协议改为单发单收协议;
新增例程adpcm_i2s,通过i2s播放adpcm解码的音频;
升级pwm_dac_adc例程,添加播放adpcm编码的音频的功能。
ES32F36xx的ald_cmu.c文件中增加HRC自校准参数装载函数;
ES32F36xx的md_adc.h函数中md_adc_set_normal_11st_conv_ns11函数修订。
ES32H040x ald_gpio.c文件中ald_gpio_exti_clear_flag_status函数修订;
修订ES32H040x md_gpio.h的md_gpio_clear_flag函数。
Driver :
retarget.c: 優化,keil勾選或不勾選"Use MicroLIB" printf皆可使用;
md_rcu.c、ald_rcu.c:加入系統階梯式升降程序,調整時鐘開關順序。
Application:
新增例程(Application): coremark/dhrystone
Project:
Driver :
retarget.c: 優化,keil勾選或不勾選"Use MicroLIB" printf皆可使用
startup_es32f0943.s: Stack_Size修正
Application: coremark/dhrystone
Project:
Driver :
retarget.c: 優化,keil勾選或不勾選"Use MicroLIB" printf皆可使用
修改註解: md_syscfg.h
Application:
Project:
MD MMC例程:ADC_Constant_current_measurement/ADC_Example/ADC_Example_By_IT/ADC_Tempture,刪除多餘設定
Driver :
#define修改enum並統一命名方式: md_timer.h / md_opamp.h / md_pi.h / md_sva.h / md_vres.h / md_wwdt.h / md_dma.h / md_adc.h / md_can.h / md_i2c.h / md_iir.h / md_spi.h
md_xxx.h修改同步修改: md_can.c / md_dma.c / md_i2c.c / md_iir.c
md_uart.h:新增中斷缺少的function
md_dma.h/md_dmamux.h: 合併兩個檔案,並刪除md_dmdmux.h
md_adc.h: 修改md_adc_watchdog_channel enum數值
md_fc.h :修改錯誤function
md_sva.h :修改錯誤function
優化所有檔案格式: 創建MD User Manual使用 / 創建ALD User Manual使用
ald_timer.h / ald_timer.c : 修正缺少設定
retarget.c: 優化,keil勾選或不勾選"Use MicroLIB" printf皆可使用
Application:
新增例程(Application): coremark / dhrystone
Project:
SVA_export_timer_pwm_by_dma: 同步md_sva.h修改
Driver合併同步更新所有例程: md_dma.h/md_dmamux.h合併,project中刪除md_dmamux.h
ADC_Conversion_TriggerTimer_DMA/ADC_SingleConversion_TriggerSW_DMA: 更新driver,同步更新例程
新增通过PIS连接UART TX/RX到IO的例程;
新增通过PIS连接IO到IO的例程。
新增 uart 1k xmodem模式的bootloader,并支持两个版本:backup_boot(单备份app)和no_backup_boot(无备份app);
将原有的micro_boot的bootloader程序放入no_backup_boot;
添加M3内核定点DSP库并在Book2中新增对应例程。
Driver :
修订ES32F010x中GPIO的ALD/MD清外部中断标志位函数;
Driver :
修订ES32H040x中GPIO的ALD/MD清外部中断标志位函数;
Driver :
ald_cmp.h: 修改定義字名稱
md_cmp.h: 修改定義字名稱
md_syscfg.h: 修改定義字名稱
md_dma.c: 增加設定,確保主要交替轉換模式
Application:
新增例程(Application): 04_mscbldr(通过MSC设备连接电脑USB口方式更新APP)
Project:
新增例程(MD): EXTI_lvd,lvd發生產生exti中斷
更新例程(MD): CMP_Example_interrupt,IAR工程名稱修正
新增例程(MD): CMP_Example_interrupt(VRES),CMP使用內部VRES比較
更新例程(MD): DMA_mem_to_mem_Scatter-aggregate,優化設定
新增例程(MD): DMA_I2S_Scatter-aggregate,I2S使用DMA分散聚集模式
新增例程(MD): ADC_Temperature,溫度量測
Driver :
移除 IA_VCMS 以及 ADC_VCMS 暫存器描述以及 register map
reg_adc.h
reg_anpwr.h
更新keil和iar啟動文件(startup_es32f0943.s):增加配置字反碼邏輯檢查
md_adc.c/md_adc.h
md_anpwr.h
Application:
Project:
新增例程(MD): EXTI_lvd,lvd發生產生exti中斷
移除 IA_VCMS 以及 ADC_VCMS 暫存器描述以及 register map,並同步修改ADC例程
新增(MD): ADC_Example_VDDA
Driver :
更新keil和iar啟動文件(startup_es32f0930.s):增加配置字反碼邏輯檢查
修改註解: md_syscfg.h
Application:
Project:
新增例程(MD): EXTI_lvd,lvd發生產生exti中斷
Driver :
新增: ald.can.c/ald.can.h
新增修改: md.can.c/md.can.h
reg_adc.h,修正暫存器錯誤
更新keil和iar啟動文件(startup_es32m0502.s):增加配置字反碼邏輯檢查
. md_adc.c/md_adc.h
md_can.c/md_can.h
md_i2c.c/md_i2c.h
md_rcu.c/md_rcu.h
md_gpio.h
md_uart.h
md_calc.h/md_can.h/md_cmp.h/md_i2c.h/md_iir.h/md_spi.h/md_iwdt.h/md_syscfg.h/md_can.c/md_i2c.c: #define修改enum
Application:
更新_IEC60730_ClassB_v1.0例程
Project:
新增例程(MD): EXTI_lvd,lvd發生產生exti中斷
MD/ALD: CAN_rx/CAN_tx/CAN_tx_loopback/CAN_tx_loopback_rx_by_it/CAN_tx_loopback_rx_filter_fifo0_fifo1
新增(MD): ADC_AutoInject_DMA/ADC_ContinueConversion_GroupsRegularInject_DMA/ADC_Dual_InjectSimultaneous/ADC_Dual_RegularSimultaneous/ADC_Example_AWD/ADC_GainCompensation/ADC_OffsetCompensation/ADC_Oversample_DisTriggerMode/ADC_SingleConversion_TriggerTimer_IT/ADC_TemperatureSensor
更新(MD): CMP_Example,腳位錯誤修正
更新(MD): CMP_Example_interrupt,腳位錯誤修正
更新(MD): Sleep_Wakeup_from_Button,設定錯誤修正
优化micro_boot中间件及其例程
CherryUSB协议从v0.7.0更新到v0.10.1,并适配相关例程
ES32F36xx/ES32F336x的ald_cmu.c文件中增加3V3/5V时HRC的校准值接口函数;
ES32F36xx/ES32F336x增加及修改iwdt/wwdt的no reset函数 ;
ES32F36xx/ES32F336x的3.3V HRC 校准值写入有效寄存器函数更新;
ES32F36xx/ES32F336x的MD CRC接口中修复相关错误;
ES32H040x 增加及修改iwdt/wwdt的no reset函数 ;
ES32H040x ald_rmu.h文件中增加复位枚举 ;
ES32H040x 的MD CRC接口中修复相关错误;
Driver :
更新retarget.c for iar 9.4 printf
md_i2c.h : 根據型態新增增加暫存器function / 修正md_i2c_handler_transfer function
md_i2c.c : 優化function
md_fc.c / ald_fc.c : 新增設定,確保操作區域正確
Application:
bootloader readme說明更新
根据最新的0283的启动文件的修改,更新FreeRTOS例程中相应的部分
例程:
MD: CMP_Example_interrupt,cmp使用中斷
Driver :
ald_adc.h: 修改定義名稱Driver MD(優化)
ald_anpwr.h : 移除 VBG_TSFLTEN 相關設定 / 移除VBG 溫度感測腳位 RC 濾波器開關函數設定
更新retarget.c for iar 9.4 printf
md_adc.h: 修改定義名稱
md_i2c.h : 根據型態新增增加暫存器function / 修正md_i2c_handler_transfer function
md_i2c.c : 優化function
md_opamp.h: 修改定義字名稱
md_fc.c/md_fc.h: 新增讀取optionbyte溫度function
md_fc.c / md_fc.h : 修改定義字名稱//新增設定,確保操作區域正確
ald_fc.c / ald_fc.h : 修改定義字名稱//新增設定,確保操作區域正確
Application:
新增HRC_trimming_by_losc例程
bootloader readme說明更新
Project:
新增例程 : ADC_Constant_current_measurement
更新例程 : ADC_BIQ_Example/ADC_Example/ADC_IA_Example/ADC_NoiseFreeBit,刪除多餘腳位設定
新增例程: ADC_Tempture
新增例程: CMP_Example_interrupt,cmp使用中斷
Driver :
更新retarget.c for iar 9.4 printf
md_mmc.h修改定義字
md_fc.c : md_fc_read_adc_temperature_voltage,電壓改為3V
ald_fc.c : 新增設定,確保操作區域正確
reg_mmc.h : 暫存器欄位名稱修改
md_fc.c : 新增設定,確保操作區域正確
md_mmc.h : 暫存器欄位名稱修改,同步修正
md_rcu.c:刪除多餘function
Project:
新增MMC例程函數: VCM引腳初始化,MMC MD例程同步更新
新增: TIMER_MasterSlave_frequency_sample
優化: TIMER_output,刪除多於設定
修改MMC例程函數: VCMInit改成ACMInit(引腳名稱為ACM)
例程更新,MMC例程更新設定
MD:RCU_ClockConfig,刪除多於程序
Application:
bootloader readme說明更新
初版上傳
Driver
修复“ES32F010x同时编译DMA和PIS模块单元报错”的bug
修复md_crc_set_mode 不能设置CR寄存器中的mode值
修复md_crc_get_mode 不能正确获取CR寄存器中的mode值
修复md_crc_set_data_bits 不能设置CR寄存器中的bits值
修复md_crc_get_data_bits 不能正确获取CR寄存器中的bits值
修复md_crc_set_check_order 不能设置CR寄存器中的order值
修复md_crc_get_check_order 不能正确获取CR寄存器中的order值
Application中的boot例程增加CRC校验;
CRYPT的中断interrupt_config函数中,先清中断标志,再使能中断;
UART使用流控时,uart_init函数关闭FIFO功能;
CRYPT的中断interrupt_config函数中,先清中断标志,再使能中断;
修改函数ald_acmp_init中INPUTSEL寄存器赋值方式
增加TK应用例程(TK中断方式)
修改PWM输出例程的空闲电平状态
修正ALD库USART例程04_recv_frame无法接收问题
修正MD库UART例程send_recv_by_interrupt时钟未初始化等问题
ES32F010x PMU例程新增“休眠下WWDT秒唤醒例程(HRC校准LRC)demo”;
ES32F010x ADC例程新增“采样内部LDO 1.66V反推ADC参考电压demo”;
删除Drivers/MD/ES32F010x/Include/type.h 中 BITBAND的相关定义。
优化md_cmu.c中的时钟切换逻辑过程;
BootLoader例程增加App校验和合法性判断;
MSC例程新增“私有代码保护”例程和“内部Flash模拟E2RPOM”例程。
Driver ALD:
ald_dma.c : 修復被優化後無法正常寫入特定暫存器問題(使用volatile)
ald_dma.c : 修復當使用者傳入n_minus_1=0時會影響到其他bit時的問題,使用mask及判斷式進行設定時修復,目前如果ald_dma_config_base函數中n_minus_1變數輸入為0時會寫入0到DMA的n_minus_1的暫存器內
ald_i2c.c/ald_i2c.h : 新增ald_i2c_clear_txbuff函數,用在使用DMA傳輸時遇到NACK時,資料會卡在TXDATA內時可以透過該函數流程清除TXDATA內的資料。
ald_adc.c : function錯誤修正
ald_fc.c : function錯誤修改
ald_dma.c:p->size判斷修正
ald_rcu.h : 暫存器錯誤修正
ald_i2c.c: ald_i2c_mem_write_by_it / ald_i2c_mem_read_by_it,function流程錯誤修改
新增ald_usb.c/ald_usb.h
Driver CMSIS:
reg_dma.h :定義字錯誤修改
reg_adc.h: 新增暫存器欄位
reg_rcu.h: 開放RCU->CKTRM HRC、HRC48相關欄位
Driver MD:
md_dma.c : 修復當使用者傳入nbytes-1=0時會影響到其他bit時的問題,使用判斷式進行設定時修復,目前如果md_dma_init函數中nbytes-1變數輸入為0時會寫入0到DMA的nbyte-1的暫存器內
md_i2c.c/md_i2c.h : 新增md_i2c_clear_txbuff函數,用在使用DMA傳輸時遇到NACK時,資料會卡在TXDATA內時可以透過該函數流程清除TXDATA內的資料 / 修改錯誤。
md_iwdt.h : 刪除多餘設定
md_adc.c : function錯誤修正 / 新增function
md_calc.h : 新增function
md_rcu.c / md_rcu.h : 開放RCU->CKTRM HRC、HRC48相關欄位,並新增其設定function
md_i2c.h : 新增Nbyte設定function / 刪除多餘function
md_iwdt.h : 刪除多餘function
md_crc.c : 加入md_rcu.h標頭檔
md_i2c.c : 新增Nbyte設定function
Project:
I2C_Master_TRx_By_IT/I2C_Slave_TRx_By_IT:中斷函數新增處理function
新增/優化例程 ALD : I2C_eeprom_read_write_PDS_E2_FLASH_By_IT
修正例程 MD : I2C_eeprom_read_write_PDS_E2_FLASH
Middlewares:
更新MicroBoot Driver: micro_boot.c/micro_boot.h
CherryUSB driver
Application:
新新增UART_Boot_app_demo : 配合UART_Boot例程透過上位機做跳轉
UART_Boot流程更新:
增加CRC判斷
取消Boot pin使用
更新USB例程:usbdev_hidbldr
_IEC60730_ClassB_v1.0移除多於檔案
新增CherryUSB例程
Driver ALD(優化)
ald_adc.h/ald_adc.c
ald_cmp.h / ald_cmp.c
ald_opamp.h / ald_opamp.c
ald_anpwr.h / ald_anpwr.c
ald_lcd.h / ald_lcd.c
ald_fc.h / ald_fc.c : function錯誤修改
ald_i2c.c: ald_i2c_mem_write_by_it / ald_i2c_mem_read_by_it,function流程錯誤修改
ald_adc.h : define字修正
Driver MD(優化)
md_adc.h / md_adc.c
md_cmp.h / md_cmp.c
md_opamp.h / md_opamp.c
md_anpwr.h md_anpwr.c
md_lcd.h/md_lcd.c
md_i2c.h / md_i2c.c
md_calc.h : 新增functiuon
md_syscfg.h : 刪除多餘定義/ function錯誤修改
md_rcu.h : 新增HRC Trim暫存器
Driver CMSIS:
更新reg_anpwr.h:暫存器欄位名稱修改
reg_lcd.h: 修改暫存器名稱錯誤
reg_rcu.h: 刪除多餘暫存器,不開放
reg_opamp.h : 暫存器位置錯誤修改
更新keil startup Driver: startup_es32f0943.s
reg_rcu.h : 暫存器欄位錯誤修正
reg_syscfg: 暫存器位元欄位錯誤修改
reg_rcu.h : 新增HRC Trim暫存器
Project:
新增ALD例程: ADC_BIQ_Example / LCD_example / ADC_IA_Example / ADC_Simple_Base_Example / OPAMP_CMP
新增MD例程: ADC_BIQ_Example / ADC_IA_Example / ADC_Simple_Base_Example / LCD_example / OPAMP_CMP / ADC_FreeNoiseBit
更新所有例程for PDS: ES-PDS-ES32F0943LV-V0.01
. 刪除MD多餘project : TIMER
優化UART打印介面(MD) : ADC/CALC/CMP/IWDT/UART/Timer/I2C/SPI
修正顯示錯誤問題(MD): EXTI
優化LED閃燈方式(MD) : GPIO
擴充原始範例LCD(MD):可以連接PDS板上按鈕並切換LCD顯示,LCD可以顯示時鐘格式或純數字格式(有提供範例函數)
擴充原始範例OPAMP(MD):將V+設為VREF(VBG), 透過Button 調整V-VDIV > VBG, (V-) VDIV < VBG 輸出不同的結果。
優化UART打印介面(ALD) : ADC
新增例程 LCD_clock_RTCwakeup_example
新增例程 ALD : I2C_eeprom_read_write_PDS_E2_FLASH_M24C04-WMN6TP_By_IT
優化使用者顯示
新增例程/修正例程
. 新增例程 ALD :ANPWR_Example
. 修正例程 ALD : OPAMP_CMP
. 新增例程 MD :ANPWR_Example
. 修正例程 MD : OPAMP_CMP
Middlewares:
更新MicroBoot Driver: micro_boot.c/micro_boot.h
Application:
新新增UART_Boot_app_demo : 配合UART_Boot例程透過上位機做跳轉
UART_Boot流程更新:
增加CRC判斷
取消Boot pin使用
Driver ALD
ald_i2c.c: function型態更新
utils.c: 支援compiler 5/compiler 6修改
ald_rcu.c: IAR Warring修正
註解優化
Driver MD:
md_lcd.c: driver更新/ IAR Warring修正
md_lcd.h: 暫存器數值錯誤修正
md_i2c.c / md_i2c.h: 更新
md_rcu.h: function名稱錯誤修改
md_mmc.h : function修改/新增function
md_lcd.h : 錯誤修改
md_fc.c/md_fc.h : 新增function
md_spi.h: 暫存器錯誤修改
md_timer.h : 新增刪除函數
md_uart.h : 暫存器錯誤修改
Driver CMSIS:
同時相容compiler 5/compiler 6
Project:
優化例程,同時相容compiler 5/compiler 6、PDS腳位更新
新增ALD例程: I2C_memery_send_recv_by_poll
ALD例程interrupt.c新增__inc_tick()中斷函數
rebuild IAR工程(Warring處理)
例程修正 : ADC_Example_By_IT
更新MMC例程: ADC_Constant_current_measurement
同步ES-PDS-ES32F0930LT-V1.0更新: ADC_Example / ADC_Example_By_IT
新增/更新 MD MMC: ADC_Tempture
Middlewares:
更新MicroBoot Driver: micro_boot.c/micro_boot.h
Applications:
Bootloader keil例程錯誤修改
新增IAR bootloader例程
UART_Boot流程更新: 增加CRC判斷 / 取消Boot pin使用
新新增UART_Boot_app_demo : 配合UART_Boot例程透過上位機做跳轉
MSC例程新增“私有代码保护”例程和“内部Flash模拟E2RPOM”例程。
Bootloader例程新增APP校验和合法性判断。
新增 CherryUSB 协议栈
新增 LVGL8 GUI 图形库
新增 Contiki-NG 操作系统
md_cmu.c 更新,当外部晶体高于 12M 时置位 HOSCFLYBPS@CMU_CLKENR
Examples_MD/MSC 中新增“私有代码保护”的例程
Examples_MD/MSC 中新增 “eFlash模拟E2PROM” 的例程
Examples_MD/MSC 中新增 “eFlash模拟E2PROM” 的例程
修改LCD模块注释与宏定义
修改IIC主模式接收收到NACK后的处理方式
增加TK库串口宏定义选择
更新TKTK库按键超时处理
Applications/Performance 中新增 “CoreMark测试” 的例程
ES32F336x的ALD库中增加ald_can.h/ald_can.c文件
ES32F336x的Project工程中增加can外设的相关例程
es32f336x.h文件中增加can外设相关资源
修订es32f336x.s启动文件中can外设的相关内容
ES32F3例程的systick中断优先级改为最低
删除ES32F36x/ES32F336x中ald_cmu.c文件中ald_cmu_config()/ald_pll1_config()函数中的ald_delay_ms(1000);函数
usbd_audio.c文件中增加音频的输入/输出宏定义
ES32F36xx的例程中,UART的06例程中断中增加判断判断TBUSY
ES32F36xx MD的TIMER例程中增加输出PWM例程
ES32F3的TSENSE的例程中,将PCLK2的分频改为128
Driver ALD:
ald_dma.h : struct名稱新增
ald_rcu.h : define定義錯誤修改、修改函數寫法(IAR warring)
ald_uart.h : define定義錯誤修改
ald_adc.c : function錯誤修改(ald_adc_normal_channel_config)
ald_dma.c : struct名稱新增同步修改driver、dma配置修改,使用word方式寫入
ald_gpio.c : 暫存器名稱錯誤修改
ald_uart.c : 優化function、修改dma function設定
utils.c : weak 改為 WEAK(compiler5與compiler6判斷用)
ald_i2c.c : 修改讀寫memory相關function、修改timeout function判斷方式
ald_i2c.h : 修改function傳入參數大小、新增I2C 72MHz Timing配置
ald_cmp.c : ald_cmp1_init/ald_cmp2_init function修改,只有在暫存器被lock且要重新設定暫存器時才將之做reset動作、新增ald_cmp_deinit function
Driver MD:
md_dma.h : struct名稱新增
md_utils.h : weak 改為 WEAK(compiler5與compiler6判斷用)、修改函數型態
md_utils.c : weak 改為 WEAK(compiler5與compiler6判斷用)
type.h : compiler5與compiler6判斷版本
md_i2c.h : 修改function傳入參數大小、新增I2C 72MHz Timing配置
md_i2c.c : 修改timeout function判斷方式
md_rcu.c : 修改函數寫法(IAR warring)
Driver CMSIS:
reg_xxx.h : 刪除#pragma anon_unions,compiler 6不支持
es32f0283 : compiler5與compiler6判斷版本
retarget.c : compiler5與compiler6判斷版本 / 刪除#include<rt_misc.h>定義 / weak 改為 WEAK(compiler5與compiler6判斷用)
移除core_cm0.c
移除rt_misc.h
es32f0283.h : 修改Cortex-M0中斷名稱
startup_es32f0283.s(iar/keil) : 修改Cortex-M0中斷名稱
Project:
keil/IAR工程重新產生、ALD例程統一Uart設定、更新例程:TIMER_output_PWM_By_DMA
Project IRAM Size修改(16KByte)
修改打印字錯誤(ADC_Example_AWD)/修改Uart無法打問題(TIMER_output_Trigger_ADC)
修改DMA_mem_to_mem
修改例程uart tx腳位基本設定
根據driver修正同步修改,可同時支持compiler 5與compiler 6
除core_cm0.c : 從project中移除,此檔案沒用到
更新ALD/MD I2C例程: I2C_eeprom_read_write_PDS_E2_FLASH
因修改Cortex-M0中斷名稱,同步修正MD/ALD所有例程
ALD DMA_ping_pong例程修正
新增例程
DMA_mem_to_mem_pingpong
DMA_mem_to_mem_Scatter-aggregate
Middlewares
更新USB Driver/移除多餘檔案
Applications
新增例程:PDS_DEMO
同步修改_IEC60730_ClassB_v1.0/Bootloader/PDS_DEMO/USB例程,可同時支持compiler 5與compiler 6
因修改Cortex-M0中斷名稱,同步修正所有例程
Driver ALD
ald_adc.h: 定義字數值錯誤修改、新增function
ald_lcd.h: 暫存器數值錯誤修正
ald_rcu.c: pll設定流程修改、修改函數寫法(IAR warring)
ald_cmp.h: struct新增設定
ald_fc.h: 新增function
ald_rcu.h: 修改HOSC default(8000000)
ald_cmp.c: 修改function錯誤
ald_fc.c: 新增function
ald_uart.c: 中斷呼叫函數修改
utils.c: 新增compiler 6相容功能
ald_spi.h: 移除多餘設定
ald_i2c.c : 修改讀寫memory相關function、修改timeout function判斷方式
ald_i2c.h : 修改function傳入參數大小
md_adc.c : 新增暫存器設定
Driver MD:
md_adc.h: 定義字數值錯誤修改、新增struct(未定)
md_lcd.h: 暫存器數值錯誤修正
md_rcu.c: pll設定流程修改
md_anpwr.h: function名稱錯誤修改
md_cmp.h: 暫存器定義錯誤修改
md_rcu.h: 新增訂義字
md_utils.h: 新增compiler 6相容功能、修改函數型態
type.h: 新增compiler 6相容功能、compiler 5/6判斷
md_utils.c: 新增compiler 6相容功能
md_i2c.h : 修改function傳入參數大小
md_i2c.c : 修改timeout function判斷方式
Driver CMSIS:
刪除led、button相關設定,因為PDS未確定
reg_cmp.h:暫存器定義錯誤修改
移除多餘檔案、移除reg_xxx.h不符合compiler 6之語法
Project:
優化例程,同時相容compiler 5/compiler 6
更新MD I2C例程: I2C_eeprom_read_write_PDS_E2_FLASH
所有例程IAR工程rebuild,修正warring
新增例程
新增ALD I2C例程: I2C_eeprom_read_write_PDS_E2_FLASH
新增例程:ADC_Simple_Example
Applications:
優化例程,同時相容compiler 5/compiler 6
Examples_MD/MSC 中新增 “私有代码保护” 的例程
Examples_MD/MSC 中新增 “eFlash模拟E2PROM” 的例程
新增 CherryUSB 协议栈例程
新增 Contiki 6LoWPAN 例程
新增 LVGL8 GUI 例程
恢复ES32F36x MD库中的md_flash.c和md_flash.h文件
修订ES32F36xx/ES32F3366的PIS例程中,04例程中的pis_tim_start()/ADC0_Handler()函数中的相关bug
修订ES32F36xx/ES32F336x的ma_dma_disable_channel()函数的SET_BIT改为WRITE_REG
增加ES32F36xx/ES32F336x的ald_i2c.h/ald_i2c.c中增加seq相关接口
修订ES32F36xx/ES32F336x的ald_i2c.c文件中ald_i2c_mem_write()函数
修订ES32F36xx/ES32F336x中,ald_cmu.c文件中ald_cmu_clock_config()/ald_cmu_pll1_config()函数
修订ES32F36xx/ES32F336x中,ald_i2c.c文件中,i2c_speed_init()/ald_i2c_slave_send()/ald_i2c_slave_recv()/ald_i2c_mem_write_by_it()函数
在ald_usb.c及.h文件中新增函数ald_usb_host_components_init及ald_usb_device_components_init分别用于usb主机及从机的底层初始化,usb_lowlayer_api.h中增加对这两个函数的映射。
修改例程Projects/ES32F36xx/Examples_ALD/ADC/02_insert_normal_by_interrupt/Src/main.c源文件函数传参错误
修订ES32F065x的ald_acmp.c文件中ald_acmp_init()函数初始化bug
删除ES32F065x的ald_cmu.h文件中cmu_perh_t枚举中的CMU_PERH_ADC1
删除ES32F065x的ald_rmu.h文件中rmu_perh_t枚举中的RMU_PERH_ADC1
修订ES32F065x的ma_dma_disable_channel()函数的SET_BIT改为WRITE_REG
修订ES32F065x的ald_acmp.c文件中ald_acmp_init()函数初始化bug
删除ES32F065x的ald_cmu.h文件中cmu_perh_t枚举中的CMU_PERH_ADC1
删除ES32F065x的ald_rmu.h文件中rmu_perh_t枚举中的RMU_PERH_ADC1
修改时钟配置:当系统运行48M/32M主频时,APB2做2分频
更新ES32F0100库函数,md_dma_disable_channel中存在的错误
更新ES32F0100驱动库md_cmu.c,使ES32F0131可以正常使用48MHz时钟
更新ES32F0100例程中05_send_recv_by_dma中存在的结构体初始化不完整的问题
ES32F0100例程包中I2C下新增例程06_i2c_sensor_ens210用于演示软件模拟I2C控制传感器
Driver ALD:
ald_adc.c/ald_adc.h修改/ald_fc.c新增function
ald_i2c.h/ald_spi.h: 修正driver
ald_fc.c : function ald_fc_read()錯誤修正
ald_i2c.c : function 錯誤修正
ald_adc.c : 新增Calibration函數
ald_i2c.h修改
Driver MD:
md_adc.h: function名稱修正/新增Caliration定義
md_exti.h: function修改
md_fc.h: 參考function新增
md_gpio.h: 定義錯誤修改
md_i2c.h: 刪除多餘function
md_adc.c: 新增Caliration函數
md_fc.c: function md_fc_read()錯誤修正
md_i2c.c: function md_i2c_master_send()修改
md_adc.c修正
Driver CMSIS:
reg_calc.h : 位元數修改
reg_i2c.h : 刪除多於定義
reg_syscfg.h : 位元數修改
reg_timer.h : 位元數修改
Project:
Project調整 IROM Size調整為正確的0x20000(128K)
MD/ALD ADC例程優化
MD Project新增BSP設定 / ALD Project修改中斷名稱
新增例程
MD:I2C_eeprom_read_write_PDS_E2_FLASH
MD:SPI_flash_read_write_PDS_E2_FLASH
MD:SPI_Send_Recv_By_DMA
ALD:ADC_insert_normal_by_interrupt
ALD:ADC_normal_multipe_channel_by_dma
ALD:ADC_timer_trigger_adc
ALD:ADC_timer_trigger_insert_multipe_channel
ALD:I2C_eeprom_read_write
ALD:I2C_eeprom_read_write_PDS_E2_FLASH
ALD:SPI_flash_read_write_PDS_E2_FLASH
ALD:Timer_ExternalSignal_Trig
ALD:Timer_GateMode_InternalTrig
ALD:Timer_Input_Capture
ALD:Timer_OnePluse
ALD:Timer_Output_Compare
ALD:Timer_Output_Interrupt
ALD:Timer_Trig_DMA
usbdev_hidenum_sleep_mode
usbdev_hidenum_stop_mode
UART_Boot:函式fsm_words_program修改
新增低功耗例程: PWR
增加小米iot demo
移植rt-thread nano及相关例程到ES32H040x
移植freeRTOS及相关例程到ES32F0283
修订ES32F3366的TIMER相关的Assert相关的错误
ES32F3系列的MD例程中,增加中断分组,默认Group2
修改ES32F3中IIC 模块i2c_req_mem_write()函数中清Reload及Nbytes
FreeRTOS例程,irq.c文件中Systick中断函数中直接调用xPortSysTickHandler函数
修改ES32F065xh中,md_i2c_clear_smbus_flag_alert()函数的SET_BIT改为CLEAR_BIT
TK例程增加低功耗按键配置
低功耗例程增加shutoff模式
修改IO驱动电流注释
增加MD库的bypass函数
增加针对PSD板的LED低功耗配置例程
Driver ALD
V2.0初版完成
Driver MD
md_adc.h: 新增define
md_rcu.h: 新增判斷
md_rcu.c: 更新function
md_rcu.h : struct新增LOSC/LRC判斷開啟欄位
md_utils.h : 新增,classB自檢庫使用
type.h : 新增,classB自檢庫使用
md_rcu.h : struct新增LOSC/LRC判斷開啟欄位,結構體修改,Driver同步修正
md_gpio.c : 修改#define錯誤
md_rcu.c : 修改等待HOSC ready的function,使用tick等待
md_i2c.h : 修改#define錯誤
md_uart.c : 修正function中for迴圈宣告變數
md_dma.c / md_dma.h: 新增DMA_init_typedef變數及.c內新增計算結束位址的函數
md_i2c.c / md_i2c.h : 新增master設定function
md_adc.h : 刪除不必要的定義
md_iwdt.h : function修正為使用32bit讀寫方式
md_usb.h : 修改 USB_RXTYPE.PROTOCOL & TEPN / 格式對照USB_TXTYPE
Project
ALD例程根據Driver修改同步修正
ADC例程 : 優化程式碼
RTC例程 : 新增RCU設定Struct欄位,開啟LOSC/LRC判斷
新增例程 : ADC_Example_AWD
新增例程 : ADC_Example_DMA&IT_to_stat_ADC_ICH
新增例程 : I2C_Master_Rx_By_DMA / I2C_Master_Tx_By_DMA / I2C_Slave_Rx_By_DMA / I2C_Slave_Tx_By_DMA
新增例程 : SPI_Send_Recv_By_DMA
修正例程 : ADC_Example_DMA(同步md_dma.c/md_dma.h修改)
修正例程 : AES_Example_By_DMA(同步md_dma.c/md_dma.h修改)
修正例程 : CRC_Example_By_DMA(同步md_dma.c/md_dma.h修改)
修正例程 : DMA_mem_to_mem / DMA_mem_to_uart / DMA_uart_to_mem(同步md_dma.c/md_dma.h修改)
修正例程 : I2S_Send_Recv_By_DMA(同步md_dma.c/md_dma.h修改)
修正例程 : TIMER_output_PWM_By_DMA(同步md_dma.c/md_dma.h修改)
修正例程 : UART_Receive_By_DMA(同步md_dma.c/md_dma.h修改)
修正例程 : EXTI_int
修正例程 : IWDT_example調整流程
Applications
usbdev_composite / usbdev_dual_cdc刪除不合法的文字說明
新增USB HOST例程
新增classB自檢庫(_IEC60730_ClassB_v1.0)
Driver CMSIS
es32f0283.h: 修改timer定義部分,刪除定義字"ALD_USED"來使用區隔MD/ALD project的定義
Middlewares/EastSoft/Bootloader/Library/中boot_fatfs.c文件中run_in_flash()函数更新
更新HID Bootloader协议
spi、i2c、usart及lcd例程移植到ES32H040x
PMU移植到ES-PDS-ES32F3696LX开发板
新增ES-DAP-Viewer的使用例程
增加ES32F3366例程及更新相关外设驱动。
删除ES32F36xx/ES32F39xx/ES32F336X/ES32F355x系列芯片的.s启动代码中,调用sys_config()和adc_config()函数部分的内容。
MD库修订: md_dma.h/md_dma..c: 修復dma.c函數計算bug md_uart.h/md_uart.c : 新加入使用字元陣列傳送和接收的function md_aes.h : #define marcro修改 md_crc.h : 函數錯誤修正
reg_tick.h/reg_usb.h: 註解更新
iar/keil : startup_es32f0283.s,檔頭說明更新,修改中斷名稱UART3_IRQHandler -> UART3_AES_IRQHandler
s32f0283.h: 修改中斷名稱UART3_IRQHandler -> UART3_AES_IRQHandler
新增例程 CRC_Example_By_DMA CRC_Example_deal_with_block UART_Array_Receive_Send_By_IT Uart_Polling_array_trans_recv UART_Receive_By_DMA AES_Example_By_DMA TIMER_output_PWM_By_DMA TIMER_output_send_onepulse
修改例程 ADC_Example_DMA : 更新程式碼 AES_Example : 移除多於配置 TIMER_output_Trigger_ADC : 增加inject設定 修改interrupt.c/interrupt.h : UART3_IRQHandler -> UART3_AES_IRQHandler
增加ADC的温感例程。
修改基本定时器能够操作DFCSEL位的BUG。
删除MD库adc模块驱动程序文件中函数md_adc_init()中开启OVRIE中断的操作;
解决MD库acmp模块驱动程序文件中函数md_acmp_init()函数中,临时变量进行或运算前未进行初始化的问题;
md_msc.h,去除函数md_msc_code_erase_page的第三个参数;
IWDT例程,在调用md_iwdt_init函数前添加注意事项。
增加1K Xmode Bootloader 例程;
修正MD库中RTC设置时间日期后软复位值丢失的问题;
修正MD库中FLASH页擦除页大小出误问题;
修正结构体pmu_ldo_lpmode_output_t定义;
增加配置寄存器 PMU->BKPCR0 时的解锁码0x5A00,否则无法正确写入配置;
增加lpuart高速时钟例程;
TK例程增加注释;
将部分例程的系统时钟改为HRC。
新增Uart bootloader demo例程 : Applications\Bootloader\UART_Boot;
新增PWM Trigger ADC例程 : Examples_MD\AD16C4T\AD16C4T_output_Trigger_ADC;
新增ADC利用DMA傳輸例程 : Examples_MD\ADC\ADC_Example_DMA;
新增USB例程: Applications\USB\usbapp\usbdev_cdc_composite;
md函数名统一整理,并同步修改例程,更新內容參照: Projects\ES32F0283\ReleaseNote.html Projects\ES32F0283\ReleaseNote.html Projects\ES32F0283\ReleaseNote.html Projects\ES32F0283\ReleaseNote.html
修改md_dma.h/md_rcu.h/md_spi.h: md_dma.h:将原本channel enable,disable,swrequest的写法从SET_BIT改成WRITE_REG md_rcu.h:新增I2S相关设定 md_spi.h:新增I2S相关设定 reg_dma.h:更新寄存器列表 md_dma.h:新增I2S相关设定 reg_spi.h / es32f0283.h:新增I2S相关设定
例程修改/新增: ADC_Example_DMA:优化function使用方式 CALC_Div:修改运算数值 CALC_SquareRoot:更改project名称,并修改运算数值 CMP_Example:更新判断条件 CRC_Example:加入计算用数组,并使用计算数组实现CRC功能 DMA_mem_to_mem:使用数组做为目标地址和起始地址 EXTI_int:修正程式判断逻辑 WWDT_example / WWDT_example_it:删除多余配置 ADC_Example_DMA:代码更新 CMP_Example:新增注释 FC_Read_Protect:代码更新 I2S_Send_Recv:代码及注释更新 I2S_Send_Recv_B_DMA:代码及注释更新 WWDT_example:代码更新 新增WWDT_example_it示例 新增usbdev_cdcenum示例 新增usbdev_composite示例 新增usbdev_dual_cdc示例 新增usbdev_hidbldr示例 新增usbdev_hidenum示例 新增usbdev_mscbldr示例 新增usbdev_printer示例
删除ald_adc_init()函数中的默认开启OVRIE中断;
ald_acmp_init()函数中,补充变量赋初值;
md函数名统一整理。
添加两个USB模块例程;
IWDT例程,在调用md_iwdt_init函数前添加注意事项。
Bootloader中IIC_Boot、SPI_Boot、UART_Boot例程的工程中添加md_cmu.c,删除main.c中系统时钟配置相关的函数和变量,系统时钟改为PLL 72MHz,并更新对应的readme.txt。
增加ES-DAP-Viewer例程
修正部分MD例程编译报错问题;
增加部分例程IAR支持;
新增ES32H040x 性能测试Demo;
修正当软件复位发生时RTC模块time和date数据丢失问题;
修正IAP页擦除操作页大小与寄存器设置不匹配的问题。
修改WWDT为中断清狗方式;
补充Timer库缺失的内联函数;
增加Timer清除比较输出的例程;
增加ADC 1次标准转换后自动3次插入转换并循环的例程;
增加ADC DMA pingpong模式例程;
修改010x库函数头文件md_pis.h,删除md_pis_trig_t中无效的枚举值;
修改iar和keil的启动文件,在启动文件中实现hardfault_handler并全局声明,修改所有例程的irq.c删除hardfault中断服务程序;
修改所有涉及dma的例程,使之可以循环运行;
修改md_wwdt.h,删除无窗口的枚举值;
修改md_cmu.h文件中函数md_cmu_clock_config,在使用48M时钟或52M时钟时,旁路时钟滤波器,修复flash等待的问题;
调整flash_read_write例程,使其调用库函数进行IAP操作;
修改md_utils.h中的UID和CHIPID地址错误;
修改md_pis.h中的md_pis_trig_t的错误。
reg_cmp.h : 修改寄存器位名称;
md_gpio.c : 删除多余函数;
md_i2c.c : 函数错误修正;
md_rcu.c : 函数错误修改;
md_spi.c : 修改函数名称;
md_cmp.h : 修改寄存器位名称;
md_exti.h : 修改函数定义;
md_gp16c2tn.h : 新增define定义;
md_gp16c4tn.h : 修改define错误定义;
md_gp32c4t1.h : 修改define错误定义;
md_gpio.h : 修改define定义;
md_spi.h : 格式调整;
MD全部例程新增应用于PDS板的相关設定;
DMA例程:新增DMA_mem_to_uart / DMA_uart_to_mem;
新增MD例程: Timer ETR例程(AD16C4T1/GP32C4T1/GP16C4Tn);
USB例程更新HID_Bootloader通信协议;
SPI例程: 新增SPI_36MHz_读写flash_AT25DF081A-SH-T;
修改USB project keil pack設定;
更新md_dma.h(新增function)。
ald_wdt.c文件中ald_wwdt_feed()修改函数;
ald_rtc.c文件中ald_rtc_get_flag_status()修改函数;
ald_spi_reset()函数修改;
ald_dma_irq_handler()函数修改;
更改ald_i2c_er_irq_handler() 检测到NACK的处理逻辑;
的Application中,GUI工程文件中添加ald_rmu.c文件;
md_utils.c文件中增加md_delay_us()函数;
md_timer.h文件中增加SMCON寄存器的BIT3和BIT15操作接口。
ald_spi_reset()函数修改;
ald_dma_irq_handler()函数修改。
更新dma相关的例程,使程序可以循环运行;
修改了原来的SPI_Enhance/ald/06_i2s例程,增加了录音功能;
ADC模块例程中,增加使用DMA乒乓模式搬运ADC转换结果的例程;
ADC模块例程中,增加 1次标准转换后自动3次插入转换的例程;
Timer模块例程中,增加 ET信号清除比较输出的例程。
修改所有Bootloader例程,APP地址改为0x1000;
更新fatfs中间件,逻辑卷不再关联硬件驱动,只记录其所在的物理驱动索引,减少耦合性;
更新fatfs中间件,ff_gen_drv.h减少抽象层暴露的接口,ff_gen_drv.c增加多分区情况下的参数检查,增加系统中物理驱动和逻辑卷数量查看功能;
更新已有的4个fatfs例程,01_FatFs_NANDFlash,02_FatFs_SRAM,03_FatFs_uSD,04_FatFs_spi_flash;
新增音频例程,可以从SD卡播放音频,或录音存放到SD卡。
ES32F36xx的ALD例程中,QSPI增加DAC模式下的Quad通信例程。
修订CRC的ALD/MD驱动程序中, ald_crc_init初始化函数中的移位错误。
修订IIC的ALD驱动程序中,ald_i2c_reset函数的置位错误。
WDT的ALD的喂狗函数中,喂狗后增加延时。
ALD/MD的utils驱动中,sys_cfg函数中读取0x803D0寄存器。
第三方Third_Party文件中增加FreeRTOS V10.4.2版本源码。
ES32F36xx的Applications中,增加FreeRTOSV10.4.2的相关例程。
ald_i2c.c文件修改I2C_STAT_BUSY标志等待时间 10S->10ms。
ald_i2c.c文件eeprom写函数(轮询、中断、DMA)区分ADDR与DATA字节数NBYTE设定值。
ald_i2c.c文件i2c_req_mem_write()函数添加地址发送完成检测功能(TCR标志)。
app_update.c 添加application_check_and_run()函数APP程序栈地址初始化功能。
es_hid_lab.c 添加ok_ack()以及err_ack()函数帧校验功能。
es_hid_lab.c es_lab_commands_process()函数flash操作前关闭地址映射功能。
md_i2c.c源文件:修改函数_i2c_speed_init(),使实际频率误差更小。
boot.c源文件:跳转之前将MSP修改为APP栈地址。
boot_fatfs.c源文件:跳转之前将MSP修改为APP栈地址。
ald_dma.c源文件:ald_dma_irq_handler()函数,清标志放在回调函数后进行。
ald_i2c.c源文件:
ald_i2c_reset()函数,添加FIFO清除操作;
源文件中while(FLAG)查询标志方式添加超时机制,避免死循环;
ald_i2c_mem_write_by_dma()函数修改Nbyte初始值,不包括address字节;
ald_i2c_mem_read_by_dma()函数修改Nbyte初始值,不包括address字节;
全局超时时间(10ms),使用宏表示。
ald_spic源文件:ald_spi_send_recv_by_it()函数,添加从机模式下,FIFO异常时spi复位。
更新CMU MD库函数,以适应 ES32F0100 和 ES32F0101 不同的HRC最高频率。
新增 ES32H040x 、ES32F0283 系列产品。
去除 ES32F0271、ES32F0500、ES32F0541 系列产品。
新增ES32F010x MD库函数及其例程。
新增 《ES32微控制器应用入门》配套例程Book1_Example。
ES32F3修订:
修订ES32F36xx的ald_qspi.h/ald_qspi.c文件中的冗余程序;
修改ES32F36xx的QSPI例程中01_qspi_dac例子;
ES32F36xx的PIS例程中增加IO通过PIS触发ADC例子;
ES32F36xx的PIS例程中增加定时器计数IO,并触发定时器捕获例程;
修订es32f3xxx.h文件中,MSC的FLASHADDR寄存器位域错误;
修订ES32F0/F3 的ald_wdt.c文件中,ald_iwdt_clear_flag_status函数清中断标志位时未解锁错误;
修订ES32F36x的DMA ping-pong例程中,单次传输完成后未使能通道bug;
ES32F36xx例程中,SPI 03_send_read_by_it例程中,NSS引脚默认初始化为高;
修订ES32F36xx 的FLASH例程中main函数中读个数错误;
ES32F36xx的wwdt例程,使能LRC时钟;
ES32F36xx/ES32F336X 的adc中增加offset校准接口ald_adc_offset_adjust;
ES32F36xx的nand操作中,修订nand的page大小判断由65535改为65536;
ES32F3的MD库md_utils.c文件中增加adc_config函数;
ES32F3系列芯片的启动文件中增加ADC参数配置;
ES32F36xx/ES32F336x的utils.c文件中增加adc_config函数;
ES32F36xx的TIMER中增加pis出发两个ADC同时工作的例程;
更新ES32F36xx的gcc启动文件。
ALD/MD库函数各.h和.c文件修改新文件说明;
TIMER0例程中增加encoder例程;
ald_adc.h文件中增加ald_adc_normal_get_value_calib、ald_adc_insert_get_value_calib、ald_adc_adjust_value接口函数;
ald_uart.c文件中修订ald_uart_irq_handler函数;
ald_timer.c文件中,ald_timer_pwm_set_duty函数修订;
ald_can.c文件中,ald_can_recv函数增加接收检查;
ald_uart.c文件中,ald_uart_irq_handler函数中,发送数据前清UART_IF_TXS标志;
MDK/IAR的.s启动文件中调用sys_config函数;
增加IAP例程;
ALD/MD库函数各.h和.c文件修改新文件说明;
ald_dma.c文件中,dma中断先清标志再执行回调函数;
md_timer.c文件中,修订ic4_config函数中的错误;
md_adc.h文件中,修订SMPT相关的内联函数;
MD库中增加md_ecc的.h和.c文件;
TIMER0中增加encoder例程;
ald_uart.c文件中,修订ald_uart_recv_by_dma函数修订;
ald_timer.c文件中,ald_timer_pwm_set_duty函数修订;
ald_timer.c文件中,ald_timer_set_freq函数接口修改;
utils.c文件中增加sys_config函数;
ald_can.c文件中,ald_can_recv函数中,增减接收检查;
MDK/IAR的.s启动文件中调用sys_config函数;
ald_tick_init函数中systick中断优先级配置错误修订;
usbd_comp.c文件中,comp_interface_change和comp_ep_change函数形参变量名;
ALD/MD库函数中,GPIO的写改为BSSR寄存器操作;
ALD库函数中,中断方式发送数据前,清TXS标志位;
ALD库函数中,增加ADC软件校准功能。
ALD/MD库函数中,GPIO的写改为BSSR寄存器操作;
ALD/MD库函数中,ADC初始化时,使能ADC校准功能。
ES32F065x的ald库函数,ald_uart.c文件中,中断接收增加了容错机制;
ES32F065x的ald库函数,ald_adc.c文件ald_adc_timer_trigger_insert函数修订;
ES32F065x中增加SDCard通信例程,且移植了fatfs文件系统;
ES32F065x的ald_uart_recv状态标志位判断错误修订;
ES32F065x的uart_1k_xmode例程中,烧录位置改为末32k,启动位置为末8k位置;
ES32F065x的库函数中增加GPIO的宏操作;
ES32F065x的Templates_ALD工程中增加GCC的开发环境;
ES32F065x系统启动后默认关闭LOSC;
ES32F065x的头文件包含关系修订;
中间层boot_flash.h文件中宏定义修改。
ES32F3xxx的库函数中增加GPIO的宏操作;
ES32F3xxx的Templates_ALD工程中增加GCC的开发环境;
ES32F3xxx系统启动后默认关闭LOSC;
ES32F3xxx的uart_1k_xmode/usb_host_fatfs、usb_dev_fatfs/dev_hid_boot四个例子中,烧录位置末尾32k,启动位置为末8k处;
ES32F3xxx的QSPI例程中增加QPI例程;
ES32F3xxx.h文件中,MSC_FLASHADDR寄存器的IFREN bit18改为bit19;
ES32F3xxx的ADC0/ADC1共同操作ADC0的CCR寄存器(共用一个参考);
ES32F3xxx的md库函数,md_uart_set_abrmod函数修订;
ES32F3xxx的md库函数,md_uart_clear_flag_abend函数修订;
ES32F3xxx的ald库函数,ald_qspi.c文件中QSPI_CR_IDLES修改为QSPI_CR_IDLED_MSK;
ES32F3xxx的ald库函数,ald_can.c文件中can_clear_flag函数修改为ald_can_clear_flag_status;
ES32F3xxx的adc_init_t结构体中增加adc_ich_nr_t ich_nr;
ES32F3xxx的adc_timer_config_结构体中增加adc_ich_config_t i_config;
ES32F3xxx的ald库函数,增加ald_adc_timer_trigger_insert(adc_timer_config_t *config)接口;
ES32F3xxx的ald库函数,增加ald_adc_timer_trigger_insert(adc_timer_config_t *config)接口;
ES32F3xxx的ald库函数,写IIC的TXDATA寄存器前,等待FIFO非满再写;
ES32F3xxx的ald库函数,写SPI的DATA寄存器前,等待FIFO非满再写;
ES32F3xxx的ald库函数,写UART的TXBUF前,等待FIFO非满再写;
ES32F3xxx的md库函数,增加md_uart_clear_flag_abto(UART_TypeDef * UARTx);
ES32F3xxx的ald库函数,ald_spi.c文件写DATA寄存器前,由判断TXE改为TXF;
ES32F3xxx的启动文件中增加配置字写过程;
ES32F3xxx的头文件包含关系修订;
ES32F3的ald_adc.c和md_adc.c文件中,对CCR寄存器操作作修订;
ES32F065x的ald库函数,ald_uart.c文件中,中断接收增加了容错机制;
ES32F065x的ald库函数,ald_adc.c文件ald_adc_timer_trigger_insert函数修订;
ES32F065x中增加SDCard通信例程,且移植了fatfs文件系统;
ES32F065x的ald_uart_recv状态标志位判断错误修订;
ES32F065x的uart_1k_xmode例程中,烧录位置改为末32k,启动位置为末8k位置;
ES32F065x的库函数中增加GPIO的宏操作;
ES32F065x的Templates_ALD工程中增加GCC的开发环境;
ES32F065x系统启动后默认关闭LOSC;
ES32F065x的头文件包含关系修订;
中间层boot_flash.h文件中宏定义修改。
ES32F3xxx的库函数中增加GPIO的宏操作;
ES32F3xxx的Templates_ALD工程中增加GCC的开发环境;
ES32F3xxx系统启动后默认关闭LOSC;
ES32F3xxx的uart_1k_xmode/usb_host_fatfs、usb_dev_fatfs/dev_hid_boot四个例子中,烧录位置末尾32k,启动位置为末8k处;
ES32F3xxx的QSPI例程中增加QPI例程;
ES32F3xxx.h文件中,MSC_FLASHADDR寄存器的IFREN bit18改为bit19;
ES32F3xxx的ADC0/ADC1共同操作ADC0的CCR寄存器(共用一个参考);
ES32F3xxx的md库函数,md_uart_set_abrmod函数修订;
ES32F3xxx的md库函数,md_uart_clear_flag_abend函数修订;
ES32F3xxx的ald库函数,ald_qspi.c文件中QSPI_CR_IDLES修改为QSPI_CR_IDLED_MSK;
ES32F3xxx的ald库函数,ald_can.c文件中can_clear_flag函数修改为ald_can_clear_flag_status;
ES32F3xxx的adc_init_t结构体中增加adc_ich_nr_t ich_nr;
ES32F3xxx的adc_timer_config_结构体中增加adc_ich_config_t i_config;
ES32F3xxx的ald库函数,增加ald_adc_timer_trigger_insert(adc_timer_config_t *config)接口;
ES32F3xxx的ald库函数,增加ald_adc_timer_trigger_insert(adc_timer_config_t *config)接口;
ES32F3xxx的ald库函数,写IIC的TXDATA寄存器前,等待FIFO非满再写;
ES32F3xxx的ald库函数,写SPI的DATA寄存器前,等待FIFO非满再写;
ES32F3xxx的ald库函数,写UART的TXBUF前,等待FIFO非满再写;
ES32F3xxx的md库函数,增加md_uart_clear_flag_abto(UART_TypeDef * UARTx);
ES32F3xxx的ald库函数,ald_spi.c文件写DATA寄存器前,由判断TXE改为TXF;
ES32F3xxx的启动文件中增加配置字写过程;
ES32F3xxx的头文件包含关系修订;
ES32F3的ald_adc.c和md_adc.c文件中,对CCR寄存器操作作修订。
修正MD库中READ_BIT操作;
增加ES32F065x MD例程;
ald_uart.c文件中,中断接收增加了容错机制;
MD&ALD增加GPIO的宏操作。
修正MD库中READ_BIT操作;
修正ALD库中通信外设FIFO操作;
删除CLAC模块中除法操作;
增加USB协议栈从机代码注释(主机注释后续添加);
UART模块ALD例程中增加软件模拟7816例程;
adc_init_t结构体中增加adc_ich_nr_t ich_nr;
adc_timer_config_结构体中增加adc_ich_config_t i_config;
增加ald_adc_timer_trigger_insert(adc_timer_config_t *config)接口;
增加ald_adc_timer_trigger_insert(adc_timer_config_t *config)函数的实现;
写IIC的TXDATA寄存器前,等待FIFO非满再写;
写SPI的DATA寄存器前,等待FIFO非满再写;
写UART的TXBUF前,等待FIFO非满再写;
增加md_uart_clear_flag_abto(UART_TypeDef * UARTx)。
md_uart_set_abrmod函数修改;
md_uart_clear_flag_abend函数修改;
ald_qspi.c文件中QSPI_CR_IDLES修改QSPI_CR_IDLED_MSK;
ald_can.c文件中can_clear_flag函数修改为ald_can_clear_flag_status;
MD&ALD增加GPIO的宏操作。
uart增加parity判断、ADC校正流程优化、MCM例程编译错误修正
uart增加parity判断、ADC校正流程优化、MCM例程编译错误修正
uart增加parity判断、ADC校正流程优化、MCM例程编译错误修正
CMU模块:
1.1 增加API,获取时钟安全管理当前使用的时钟源(内部时钟/外部时钟)
ADC模块:
2.1 增加timer触发ADC插入组转换例程
2.2 增加timer_pis_adc_dma例程
PMU模块:
3.1 增加md_pmu.c文件
RMU模块:
4.1 增加md_rmu.c文件
TIMER模块:
5.1 修改DMA有关的API接口参数
UART模块:
6.1 优化UART模块中FIFO相关函数接口
USART模块:
7.1 删除USART初始化结构体usart_init_t无效成员变量over_sampling
7.2 修正接口函数md_usart_set_smartcard_psc()中的BUG
DMA模块:
8.1 增加ald_dma_descriptor_cplt_get()接口,获取乒乓模式下,当前传输完成的描述符
8.2 优化ald_dma_config_sg_per()接口
I2C模块:
9.1 优化md_i2c_addr_t结构体
RTC模块:
10.1 删除库函数中写SSEC寄存操作
CAN模块:
11.1 修正库函数中的一个BUG,该BUG会导致极端情况下错误帧的误接收
Utility:
12.1 增加获取UID/CHIPID接口函数
12.2 使库函数符合C-STAT(STDCHECKS)规范
CMU模块:
1.1 增加API,获取时钟安全管理当前使用的时钟源(内部时钟/外部时钟)
ADC模块:
2.1 增加timer触发ADC插入组转换例程 2.2 增加timer_pis_adc_dma例程
PMU模块:
3.1 增加md_pmu.c文件
RMU模块:
4.1 增加md_rmu.c文件
TIMER模块:
5.1 修改DMA有关的API接口参数
UART模块:
6.1 优化UART模块中FIFO相关函数接口
USART模块:
7.1 删除USART初始化结构体usart_init_t无效成员变量over_sampling 7.2 修正接口函数md_usart_set_smartcard_psc()中的BUG
DMA模块:
8.1 增加ald_dma_descriptor_cplt_get()接口,获取乒乓模式下,当前传输完成的描述符 8.2 优化ald_dma_config_sg_per()接口
I2C模块:
9.1 优化md_i2c_addr_t结构体
RTC模块:
10.1 删除库函数中写SSEC寄存操作
Utility:
11.1 增加获取UID/CHIPID接口函数 11.2 使库函数符合C-STAT(STDCHECKS)规范
CMU模块:
1.1 增加API,获取时钟安全管理当前使用的时钟源(内部时钟/外部时钟) 1.2 增加设置/读取HCLK2总线分频函数接口 1.3 优化md_cmu_clock_config()/ald_cmu_clock_config()接口 1.4 全速USB模式,支持HRC作为USB模块时钟
ADC模块:
2.1 增加timer触发ADC插入组转换例程 2.2 在MD库中增加ETS,IETS位操作函数 2.3 增加timer_pis_adc_dma例程 2.4 修改不连续扫描模式控制逻辑
PMU模块:
3.1 增加md_pmu.c文件 3.2 ALD库中增加LDO12/LDO18配置接口
RMU模块:
4.1 增加md_rmu.c文件
BKPC模块:
5.1 增加md_bkpc.c文件
USB模块:
6.1 增加virtual_serial_port例程,可直接作为USB转TTL工具
TIMER模块:
7.1 增加timer_dma_input_capture例程,使用DMA传输的输入捕获例程 7.2 增加timer_input_capture_two_channel例程,双通道输入捕获例程 7.3 修改DMA有关的API接口参数
DAC模块:
8.1 增加dac_dma_two_channel_sine例程,双通道正弦波例程
UART模块:
9.1 优化UART模块中FIFO相关函数接口
DMA模块:
10.1 增加ald_dma_descriptor_cplt_get()接口,获取乒乓模式下,当前传输完成的描述符 10.2 优化ald_dma_config_sg_per()接口
RTC模块:
11.1 删除库函数中写SSEC寄存操作
CAN模块:
12.1 修正库函数中的一个BUG,该BUG会导致极端情况下错误帧的误接收
I2C模块:
13.1 优化md_i2c_init()接口函数
I2S模块:
14.1 优化I2S库函数 14.2 增加I2S例程
Bootloader:
15.1 简化USB模式Bootloader升级方式,MDK/IAR生成的bin文件可以直接拖拽升级
Discovery开发板:
16.1 增加Discovery开发板BSP、例程
Utility:
17.1 增加获取UID/CHIPID接口函数 17.2 使库函数符合C-STAT(STDCHECKS)规范
DAC模块:
1.1.md_dac.h: 修正寄存器缺少部分
EXTI模块:
2.1.md_exti.h: 修正function设置錯誤
UART模塊:
3.1.md_uart.h: 修正寄存器错误
ADC模塊:
4.1.md_adc.h: 修正function名称
4.2.ald_adc.c: 修改变量为static变量 / 多余printf拿掉 / 删除没用到变数
4.3.md_adc.c: 修改变量为static变量 / 多余printf拿掉 / 删除没用到变数
4.4.ALD例程:ADC_Calibration_From_Flash,刪除沒用到变量
4.5.MD例程:ADC_Calibration_From_Flash,刪除沒用到变量
USB模块:
5.1.md_usb.c:修正CDC錯誤
5.2.例程:usbdev_cdc_serial,修正CDC错误
GPIO模块:
6.1.md_gpio.h: 增加GPIOx->IDATA每个bit读取方式
DAC模块:
1.1.md_dac.h: 修正寄存器缺少部分
EXTI模块:
2.1.md_exti.h: 修正function设置錯誤
UART模块:
3.1.md_uart.h: 修正寄存器错误
ADC模块:
4.1.md_adc.h: 修正function名称
4.2.ald_adc.c: 修改变量为static变量 / 多余printf拿掉 / 删除没用到变数
4.3.md_adc.c: 修改变量为static变量 / 多余printf拿掉 / 删除没用到变数
4.4.ALD例程:ADC_Calibration_From_Flash,刪除沒用到变量
4.5.MD例程:ADC_Calibration_From_Flash,刪除沒用到变量
GPIO模块
5.1.md_gpio.h: 增加GPIOx->IDATA每个bit读取方式
CAN模块
删除can_filter_t结构体无效的成员变量bank_number[ALD]; 增加CAN接收数据时FIFO1的支持[ALD];
TRNG模块 在ald_trng_init()函数中增加参数检验[ALD];
DMA模块 在DMA模块中增加"乒乓模式"、"分散-加载模式"的支持[ALD/DM/Project];
PMU模块 增加ald_pmu_standby_enter()接口函数[ALD];
ADC模块 修改ADC模块结构体变量名称,使其变得简洁,并且能望文知意[ALD/MD/Project];
CRC模块 在md_crc_init_t结构体中增加一些成员变量[MD];
MSC 增加FLASH读取等待时间设置的API函数[MD];
中间件Bootloader 增加对"XMODE"通信协议的支持,通过编译宏"XMODE_1K/XMODE_128"可分别选择"1K-XMODE/XMODE"通信协议;
优化例程 优化TIMER/MSC/ADC/CAN/TRNG/RTC模块例程。
IAR工程文件 优化所有IAR工程文件。
TRNG模块 在ald_trng_init()函数中增加参数检验[ALD];
DMA模块 在DMA模块中增加"乒乓模式"、"分散-加载模式"的支持[ALD/DM/Project];
PMU模块 增加ald_pmu_standby_enter()接口函数[ALD];
ADC模块 修改ADC模块结构体变量名称,使其变得简洁,并且能望文知意[ALD/MD/Project];
CRC模块 在md_crc_init_t结构体中增加一些成员变量[MD];
MSC 增加FLASH读取等待时间设置的API函数[MD];
中间件Bootloader 增加对"XMODE"通信协议的支持,通过编译宏"XMODE_1K/XMODE_128"可分别选择"1K-XMODE/XMODE"通信协议;
优化例程 优化TIMER/MSC/ADC/CAN/TRNG/RTC模块例程。
IAR工程文件 优化所有IAR工程文件。
CAN模块 删除can_filter_t结构体无效的成员变量bank_number[ALD]; 增加CAN接收数据时FIFO1的支持[ALD];
TRNG模块 在ald_trng_init()函数中增加参数检验[ALD];
DMA模块 在DMA模块中增加"乒乓模式"、"分散-加载模式"的支持[ALD/DM/Project];
PMU模块 增加ald_pmu_standby_enter()接口函数[ALD];
ADC模块 修改ADC模块结构体变量名称,使其变得简洁,并且能望文知意[ALD/MD/Project];
CRC模块 在md_crc_init_t结构体中增加一些成员变量[MD];
MSC模块 增加FLASH读取等待时间设置的API函数[MD];
PIS模块 在PIS消费端增加对ADC1的支持[ALD/MD];
CMU模块 增加get_hclk2_clock()函数接口[ALD/MD];
中间件Bootloader 增加对"XMODE"通信协议的支持,通过编译宏"XMODE_1K/XMODE_128"可分别选择"1K-XMODE/XMODE"通信协议;
修正错误 修改md_cmu.h/md_rmu.h/md_pmu.h文件中存在的一些错误;
优化例程 优化MSC/ADC/CAN/TRNG/RTC/Dhrystone模块例程。
本次更新,ADC模块对上层应用会有影响,应用层对ADC模块初始化时使用的变量名需要进行更改。 其余模块对上层应用基本上无影响。 ADC模块结构体变量名更改细节如下[涉及芯片系列:ES32F065x/es32f033x/ES32F36xx]:
adc_init_t结构体:
adc_align_t data_align; ---> adc_align_t align;
type_func_t scan_mode; ---> type_func_t scan;
type_func_t cont_mode; ---> type_func_t cont;
adc_nch_len_t nch_len; ---> adc_nch_nr_t nch_nr;
adc_disc_mode_t disc_mode; ---> adc_disc_mode_t disc;
adc_disc_nbr_t disc_nbr; ---> adc_disc_nr_t disc_nr;
adc_conv_res_t conv_res; ---> adc_conv_bit_t data_bit;
adc_clk_div_t clk_div; ---> adc_clk_div_t div;
adc_nchesel_t nche_sel; ---> adc_nchesel_t nche_sel;
adc_neg_ref_t neg_ref; ---> adc_neg_ref_t n_ref;
adc_pos_ref_t pos_ref; ---> adc_pos_ref_t p_ref;
adc_nch_conf_t结构体: adc_channel_t channel; ---> adc_channel_t ch; adc_nch_rank_t rank; ---> adc_nch_idx_t idx; adc_samp_t samp_time; ---> adc_samp_t samp;
adc_ich_conf_t结构体: adc_channel_t channel; ---> adc_channel_t ch; adc_ich_rank_t rank; ---> adc_ich_idx_t idx; adc_samp_t samp_time; ---> adc_samp_t samp; uint32_t offset; ---> uint32_t offset; adc_ich_len_t ich_len; ---> adc_ich_nr_t nr; type_func_t auto_inj; ---> type_func_t auto_m;
adc_handle_t结构体: adc_reg_cplt_cbk ---> normal_cplt_cbk adc_inj_cplt_cbk ---> insert_cplt_cbk adc_out_of_win_cbk ---> wdg_cbk adc_error_cbk ---> error_cbk adc_ovr_cbk ---> ovr_cbk
CAN模块ALD库及例程升级[ES32F36xx/ES32F065x/ES32F033x]
DMA模块ALD库、MD库、例程升级[ES32F36xx/ES32F065x/ES32F033x]
TRNG模块ALD库及例程例程升级[ES32F36xx/ES32F065x/ES32F033x]
I2C模块ALD库升级[ES32F065x/ES32F033x]
CMU模块ALD库、MD库升级[ES32F36xx]
PIS模块MD库及例程升级[ES32F36xx]
PMU模块ALD库、例程升级[ES32F065x/ES32F033x]
修改ES32F0271 md_usb.c的清除中断标志的方式,解决误清中断的问题。
ES32F36xx初版发布
ES32F0541初版发布
ES32F0500初版发布
ES32F0271 MD修订:
md_uart.h: 修正function定义字使用错误,UART_FCON_TXFL_POSS改为UART_FCON_RXFL_POSS
__STATIC_INLINE uint32_t md_uart_get_fcon_rxfl(UART_TypeDef *UARTx) { return ((READ_BIT(UARTx->FCON, UART_FCON_RXFL_MSK))>>UART_FCON_RXFL_POSS); }
USB lib修订
增加Composite serial driver
ES32F0271ALD修订:
ald_adc.c : 判断所要量测的条件如果不符合,即舍弃校正,使用直接测量到的adc值
ald_crc.c: 删除测试代码 (extern __IO uint32_t DMA_INTR)
ES32F0271 MD修订:
md_adc.c : 判断量测的条件,如果不符合,即舍弃校正,使用直接量测到的adc值
md_uart.c: 修正程式小问题,function中有使用到UART1参数部分修改为UARTx,可根据User需求使用UART1与UART2
ES32F0271 例程修订:
update Sconscript: 自动构建project
Re-update project: 重新编译MD/ALD project支持Keil及IAR工程
ES32F0271例程修订:
修改部分USB 例程描述符信息。
修改usbdev audio例程,增加使用外部24.576MHz晶振作为IIS时钟,改善播放效果。
修改usb_hid_bootloader和usb_hid_userspec例程,统一这两个例程中的usbhid_custom.c函数接口。
将usb_hid_bootloader例程重命名为usb_hid_custom_boot。
将usb_hid_userspec例程重命名为usb_hid_custom_userspec。
补充ALD例程。
Drivers\CMSIS\Device\EastSoft\ES32F0271\Startup\iar\ : 增加startup_es32f027x.s
ES32F0271 ADC MD增加ADC校准函数
ES32F0271例程修订:
增加MD ADC校准例程
增加MD各例程支持IAR工程
增加ALD各例程支持IAR工程
增加USB例程
ES32F033x和ES32F065x 增加CMU的ALD例程
ES32F0271支持ALD驱动库及其例程.
ES32F0271USB例程修订:
修改usbdev bulk例程,使其支持winusb驱动。
修改usbdev hid userspec例程,使其能在上位机演示。
增加usbdev msc bootloader例程。
增加usbdev hid bootloader例程。
增加usbhost msc bootloader例程。
USB Library 修订:
修改usbdbulk.c,支持winusb驱动.
修改usbhmsc.c,支持没有DMA的ES32F0271芯片.
修改usbhscsi.c,调用部分函数会进入Hardfault.
修改USB的DMA传输接口.
支持ES32F033x Device/MD/ALD/Projects.
ES32F065x IAR例程适配到8.11.1版本.
USB Library 增加主机驱动,修改了USB的DMA传输接口以及所有的函数名称.
初版发布
支持ES32F0271 Device/MD/Projects.
支持ES32F065x Device/MD/ALD/Projects.
支持 ES32 USB Library.