打印
[活动专区]

【AT-START-F425测评】AT32F425的XBOOT移植

[复制链接]
887|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
imdx|  楼主 | 2022-3-7 15:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 imdx 于 2022-3-7 15:13 编辑

XBOOT是自用的bootloader名称,默认通过USART1来提供用户命令行,完成固件升级等任务。对于带USB的MCU,除了使用物理串口,还可以使用USB虚拟串口。之前已经在AT32F415上完整实现了XBOOT的代码,拿到AT-START-F425以后,只需要移植代码即可。
F415和F425的USB都叫做OTGFS,整体上实现非常像,都支持主机和设备,然而还是有细微的差别。主要是F425的可用端点数量从F415的4个增加到了8个。
另外一个重要的更新是F425支持VBUSIGNORE功能,这个功能是在AT32F415的C版本芯片中才实现的。具体到代码实现中,注意要定义如下的宏:
/**
  * [url=home.php?mod=space&uid=247401]@brief[/url] ignore vbus detection, only available in at32f415xx revision C.
  *        at32f415xx revision B: (not support)
  *        the vbus detection pin (pa9) can not be used for other functionality.
  *        vbus pin must kept at VBUS or VDD.
  *
  *        at32f415xx revision C: (support)
  *        ignore vbus detection, the internal vbus is always valid.
  *        the vbus pin (pa9) can be used for other functionality.
  */
#define USB_VBUS_IGNORE
F415和F425另外一个重要的差异就是GPIO,F425和F421是一样的,代码中要增加pin-mux的设置。
#if defined(AT32F425C8T7)
        gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE9,  GPIO_MUX_1);
        gpio_pin_mux_config(GPIOA, GPIO_PINS_SOURCE10, GPIO_MUX_1);
#endif
其它部分差异不是很大,包括USB库的代码都是相同的,AT32F415和AT32F425完全可以使用同一套代码,使用预编译指令对细微的差别进行分别操作。
更新hex文件成功,帖一下实验结果。


以下为更新固件视频,注意视频中使用的是物理串口,实际操作和USB虚拟串口完全相同。
https://www.bilibili.com/video/BV1yJ41177A1/

使用特权

评论回复
沙发
huquanz711| | 2022-3-7 20:43 | 只看该作者
XBOOT是不是就是IAP

使用特权

评论回复
板凳
七毛钱| | 2022-3-11 10:07 | 只看该作者
最近雅特力论坛里的搞测评的人很多,正好可以借此机会学习了解一下这个开发板

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

120

主题

901

帖子

8

粉丝