Release Notes for

AT32F403A_407 Firmware Library

V2.2.2-2025/11/24

1.         Drivers

l  GPIO

w   更新gpio_bits_toggle()函数,操作流程更严谨。

l  USB

w   更新usb_ept_open()函数,当设置同步IN传输端点时,默认将端点状态由NAK改为DISABLE,解决同步端点在错误的NAK状态下引起错误。

l  TMR

w   更新tmr_pwm_input_config()tmr_encoder_mode_config()tmr_output_channel_config()函数。通道模式配置前关闭通道使能,否则通道模式无法切换。

l  更新部分注释。

2.         Middlewares

l  USB

w   更新keyboard class,在keyboard_type结构体中新增成员send_state用于记录发送状态,并更新函数usb_keyboard_class_send_report用于发送时的流控处理,避免发送数据出错。

w   更新mouse class,在mouse_type结构体中新增成员send_state用于记录发送状态,并更新函数usb_mouse_class_send_report用于发送时的流控处理,避免发送数据出错。

w   更新custom class,在custom_hid_type结构体中新增成员send_state用于记录发送状态,并更新函数custom_hid_class_send_report用于发送时的流控处理,避免发送数据出错。

w   更新 audio class,修改audio sampling frequency请求配置,解决部分主机兼容性问题。

3.         Demos

l  ADC

w   更新所有demoADC初始化顺序,防止在极端情况下异常。

w   更新有使用DMA的相关demo,配置流程中开启DMA循环模式,功能实现更新为循环触发。

w   删除重复的 software_trigger_repeat demo

l  USB

w   更新所有usb_device demo的时钟分频配置流程,防止因AHB分频后导致USB时钟分频设置错误。

w   调整keyboard中唤醒稳定延时方式。

w   调整mouse中唤醒稳定延时方式。

w   更新msc中宏定义USB_FLASH_ADDR_OFFSET值,由0x08005000改为0x08008000,解决不同环境下编译范围溢出导致出错问题。

w   更新virtual_msc_iap demo中跳转APP函数,添加编译不优化设定,防止部分跳转优化失败的问题。

l  templates

w   更新eclipse_gcc中工程配置的include路径,防止多工程导入时workspace_project_locations参数错误导致编译报错。

l  Board

w   更新board.c中部分参数变量的写法,解决新版编译器下编译警告。

l  Cortex-m4

w   更新systick_interrupt中判断延时的写法由大于改为大于等于,避免翻转IO1ms问题。

l  AT32IDEEclipse工程

w   删除工程配置中release项,只保留debug项。

l  IAP相关

w   更新所有IAP_Programmer.exe应用程序。

l  Keil工程

w   更新部分Keil工程的IROM size配置。

 

V2.2.1-2025/04/25

1.         优化PWC deepsleep_rtc demo

2.         调整SPI demo的代码结构。

3.         更新EMAC dns服务器IP地址。

4.         更新RTC计数值读取流程。

5.         更新Flash驱动,优化部分流程。

6.         新增gpio_bits_toggle函数。

7.         更新部分注释。

 

V2.2.0-2024/12/13

1.         更新内核DSP库。

2.         更新CAN驱动。

3.         更新EMAC wake_on_lan demo

4.         更新SDIO协议层驱动,并新增emmc_card demo

5.         SLIB demo新增支持AT32IDE工程。

6.         更新USB驱动。

7.         更新I2C eeprom demo,增加多页写逻辑。

8.         优化PWR驱动和demo

9.         更新部分注释。

 

V2.1.9-2024/08/08

1.         调整sdio demo中总线时钟频率。

2.         更新EMAC demolwip_periodic_handle函数。

3.         更新i2c_flag_cleari2c_init函数。

4.         更新msc iap demo,完善兼容性问题。

5.         更新I2C dma相关demo的初始化配置流程。

6.         修正部分demo AC6环境下编译问题。

7.         更新部分注释。

 

V2.1.8-2024/01/26

1.         更新日历闰年计算函数。

2.         更新USB hid report描述符。

3.         更新部分注释。

 

V2.1.7-2024/01/05

1.         更新timerinput_capture demo的计数计算方式。

2.         更新部分USB demo HID识别慢问题。

3.         更新systick interrupt demosystick的初始化函数。

4.         新增winusb demo

5.         demo中更新xx_interrupt_flag_get函数调用方式。

 

V2.1.6-2023/10/26

1.         删除SRAM扩展demo

2.         更新部分注释及readme

 

V2.1.5-2023/08/04

1.         utilities下各demo增加AT32IDE工程支持。

2.         CRC驱动新增多项式及多项式宽度可修改的支持。

3.         更新USB驱动及demo,完善数据对齐问题,优化代码流程。

4.         完善IAR9使用printf时的重定向兼容性问题。

5.         新增按FLASH容量区分的宏定义并更新FLASH demo

6.         更新部分注释。

 

V2.1.4-2023/02/16

1.         完善utilitiesfreertos demoAC6编译问题。

2.         完善EMAC相关demo,更新cc.h文件以解决AC6编译后对齐出错问题,并增加lwip assert信息从串口输出。

3.         更新EMAC demolwip底层封包接口,以更好的支持多包传输。

4.         at32f403a_407_conf.h中新增了LEXT_VALUE宏定义。

5.         *.ld文件中新增spim相关的section描述,以更好支持gccspim地址的链接处理。

6.         更新部分注释。

 

V2.1.3-2022/11/18

1.         移除各文件中文件头部分的版本及日期记录项。

2.         新增一份release notes drivers,单独记录drivers部分的更新,文件位于libraries\drivers目录下。

3.         更新I2C中断和DMA demo为非阻塞方式。

4.         修正USBcdc_msc复合类在linux失败的问题。

5.         更新USBvirtual msc iap demo以支持linux

6.         更新USBaudio相关内容,以提供更好的兼容性。

7.         更新了IAR_Programmer.exe

8.         USART interrupt demo的中断函数中,标志位的检测加入了中断使能判断。

9.         ADC新增repeat_conversion_loop_transfer demo,采用DMA循环取ADC数据。

 

V2.1.2-2022/08/16

1.         template 下新增IAR v9.3 的工程demo

2.         修正gcc环境下printf无法输出的问题。

3.         启动文件支持configuration wizard图形配置。

 

V2.1.1-2022/07/22

1.         新增GPIO io toggle demo

2.         更新I2C eeprom demo,增加16位地址支持。

3.         优化部分demo及驱动流程,更正注释。

 

V2.1.0-2022/06/09

1.         新增USART RS485 demo

2.         新增USB composite_vcp_msc demo

3.         新增EMAC mqtt 客户端demo

4.         新增FLASH 访问保护使能demo

5.         优化部分demo及驱动流程,更正注释。

 

V2.0.9-2022/04/25

1.         修改USB virtual msc iap demo的分区表描述符。

2.         新增EMAC相关demo网络连接状态的检测功能,并更新local_time变量。

3.         优化部分demo,更正注释。

 

V2.0.8-2022/04/02

1.         新增wdt_standby demo

2.         导入DSP相关源码及新增cmsis_dsp demo

3.         优化部分demo及驱动流程,更正注释。

 

V2.0.7-2022/02/11

1.         USB中新增virtual_comport demo

2.         完善USB msc iap demo在不同系统下的兼容问题。

3.         优化部分demo及驱动流程,更正注释。

 

V2.0.6-2021/12/31

1.         修正中断优先级组参数定义错误的问题。

2.         统一printf的串口初始化及重定向函数到xx_board.c中,并去除各demo中的相关内容。

3.         更新部分demo,以支持AC6 –O3优化等级编译。

4.         USB中新增composite_audio_hid demo,并完善回馈及同步机制。

5.         修正AT32F407 EMAC使用phy dp83848时,speed状态和duplex模式定义错误的问题。

 

V2.0.5-2021/12/17

1.         修正各外设的flag清除函数,防止位域方式下的误操作问题。

2.         统一pwc_wakeup_pin_enable函数接口。

3.         修正USB设备类数组4字节对齐问题。

4.         更新virtual_msc_iap demo的虚拟空间大小为100 MB

5.         修正composite_vcp_keyboard demo中虚拟串口bulk传输结束问题。

6.         更新USB demokeyboard相关的发送函数。

7.         更新ADC demotimer触发adc转换的定时器频率配置流程。

8.         调整了XMC外设驱动架构,并更新对应demo

 

V2.0.4-2021/11/26

1.         更新部分注释及readme

2.         修正audio codec设置麦克风频率的采样率判断流程。

3.         修正USB发数据写fifo时的字节对齐问题。

 

V2.0.3-2021/11/15

1.         更新部分外设驱动的flag_clear函数,修正bit位为w1c属性时的勿操作问题。

2.         解锁USDSLIB后,增加unlock标志的判断流程。

3.         修改了部分GPIO PIN脚复用宏定义名。

4.         更新了部分文件中的注释及描述。

 

V2.0.2-2021/10/27

1.         修改mass storage demo实现,以完善CV测试内容。

2.         更新usb cdc demo

3.         修改EMAC SMI分频支持240MHz

 

V2.0.1-2021/10/21

1.         更新部分库函数命名。

2.         更新HEXT startup timeout时间。

3.         修正部分USB功能函数。

 

V2.0.0-2021/07/01

1.         AT32F403AAT32F407系列固件库初始发布版。