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 更新所有demo的ADC初始化顺序,防止在极端情况下异常。
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中判断延时的写法由大于改为大于等于,避免翻转IO多1ms问题。
l AT32IDE和Eclipse工程
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 demo中lwip_periodic_handle函数。
3. 更新i2c_flag_clear和i2c_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. 更新timer下input_capture demo的计数计算方式。
2. 更新部分USB demo HID识别慢问题。
3. 更新systick interrupt demo中systick的初始化函数。
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. 完善utilities下freertos demo的AC6编译问题。
2. 完善EMAC相关demo,更新cc.h文件以解决AC6编译后对齐出错问题,并增加lwip assert信息从串口输出。
3. 更新EMAC demo中lwip底层封包接口,以更好的支持多包传输。
4. 在at32f403a_407_conf.h中新增了LEXT_VALUE宏定义。
5. 在*.ld文件中新增spim相关的section描述,以更好支持gcc下spim地址的链接处理。
6. 更新部分注释。
V2.1.3-2022/11/18
1. 移除各文件中文件头部分的版本及日期记录项。
2. 新增一份release notes drivers,单独记录drivers部分的更新,文件位于libraries\drivers目录下。
3. 更新I2C中断和DMA demo为非阻塞方式。
4. 修正USB的cdc_msc复合类在linux失败的问题。
5. 更新USB的virtual msc iap demo以支持linux。
6. 更新USB的audio相关内容,以提供更好的兼容性。
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 demo中keyboard相关的发送函数。
7. 更新ADC demo中timer触发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. 解锁USD或SLIB后,增加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. AT32F403A和AT32F407系列固件库初始发布版。