[AT32F407] AT32F407有什么方法弄个U盘更新固件的操作?

[复制链接]
 楼主| nuan11nuan 发表于 2024-8-12 13:25 | 显示全部楼层 |阅读模式
这种APP的话是可以bin的吗?还是必须是hex带地址这种呢?

muyichuan2012 发表于 2024-8-12 16:37 | 显示全部楼层
可以看看这份sample code:
AT32F403A/407 MSC IAP SpiFlash As Disk
提供USB外挂SPI FLASH模拟U盘,在通过U盘存储固件进行升级。
https://www.arterytek.com/file/download/1187
21766b9c98f232bb.png
Rxxkles 发表于 2024-8-12 16:47 | 显示全部楼层
AN0030_AT32F415_IAP USB作为主机接U盘升级AN0030_AT32F415_IAP USB作为主机接U盘升级这个贴子有
y1n9an 发表于 2024-12-4 22:16 | 显示全部楼层
Bootloader 是在设备启动时首先运行的一段代码,其主要作用是初始化硬件、加载操作系统或应用程序等。通过编写一个支持 U 盘读取和固件更新功能的 Bootloader 程序,就可以实现从 U 盘更新固件的功能

q1ngt12 发表于 2024-12-5 09:49 | 显示全部楼层
使用 AT32F407 的开发环境,如 Keil 等,编写 Bootloader 代码。在 Bootloader 中,需要实现对 U 盘的检测、文件系统的支持以及固件文件的读取和写入等功能。首先要初始化 USB 接口,使其能够与 U 盘进行通信。然后,使用文件系统库来解析 U 盘的文件系统,找到存储固件的文件.

liu96jp 发表于 2024-12-5 10:30 | 显示全部楼层
我觉得可以将 Bootloader 的入口地址设置为中断向量表的复位向量地址,这样在设备复位时,首先执行的就是 Bootloader 程序。

lamanius 发表于 2024-12-5 13:14 | 显示全部楼层
一般来说可以将应用程序的二进制文件与 Bootloader 程序进行合并,生成一个完整的固件文件。这个固件文件将被烧录到 AT32F407 的 Flash 存储器中。

zhizia4f 发表于 2024-12-5 16:33 | 显示全部楼层
利用 USB 大容量存储设备类的方法,一般也是可以的啦

b5z1giu 发表于 2024-12-5 18:19 | 显示全部楼层
将 AT32F407 配置为 USB 大容量存储设备,使它能够模拟成一个 U 盘,这样就可以通过计算机将固件文件直接复制到这个模拟的 U 盘中,然后在设备内部实现固件的更新.

cen9ce 发表于 2024-12-5 19:58 | 显示全部楼层
使用 AT32F407 的相关库函数或开发工具,配置 USB 模块为大容量存储设备类。这包括设置 USB 的端点、描述符等参数,使设备能够被计算机识别为一个 U 盘设备.

ex7s4 发表于 2024-12-5 20:19 | 显示全部楼层
在设备内部实现 FAT32 等常见的文件系统,以便能够正确地存储和读取固件文件。可以使用开源的文件系统库,如 FATFS 等,来简化文件系统的开发.

g0d5xs 发表于 2024-12-5 21:48 | 显示全部楼层
一般可以用U盘的方式,其实当计算机将固件文件复制到模拟的 U 盘中后,设备需要能够检测到文件的到来,并启动固件更新程序。这包括读取固件文件、验证文件的完整性、擦除旧的固件以及将新固件写入 Flash 存储器等操作
lix1yr 发表于 2024-12-5 22:01 | 显示全部楼层
其实你自己写个BootLoader一般就可以了,不过USB更新感觉没有串口更新来的方便呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

384

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部