打印
[AT32F407]

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

[复制链接]
2318|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
这种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

使用特权

评论回复
板凳
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 盘更新固件的功能

使用特权

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

使用特权

评论回复
6
liu96jp| | 2024-12-5 10:30 | 只看该作者
我觉得可以将 Bootloader 的入口地址设置为中断向量表的复位向量地址,这样在设备复位时,首先执行的就是 Bootloader 程序。

使用特权

评论回复
7
lamanius| | 2024-12-5 13:14 | 只看该作者
一般来说可以将应用程序的二进制文件与 Bootloader 程序进行合并,生成一个完整的固件文件。这个固件文件将被烧录到 AT32F407 的 Flash 存储器中。

使用特权

评论回复
8
zhizia4f| | 2024-12-5 16:33 | 只看该作者
利用 USB 大容量存储设备类的方法,一般也是可以的啦

使用特权

评论回复
9
b5z1giu| | 2024-12-5 18:19 | 只看该作者
将 AT32F407 配置为 USB 大容量存储设备,使它能够模拟成一个 U 盘,这样就可以通过计算机将固件文件直接复制到这个模拟的 U 盘中,然后在设备内部实现固件的更新.

使用特权

评论回复
10
cen9ce| | 2024-12-5 19:58 | 只看该作者
使用 AT32F407 的相关库函数或开发工具,配置 USB 模块为大容量存储设备类。这包括设置 USB 的端点、描述符等参数,使设备能够被计算机识别为一个 U 盘设备.

使用特权

评论回复
11
ex7s4| | 2024-12-5 20:19 | 只看该作者
在设备内部实现 FAT32 等常见的文件系统,以便能够正确地存储和读取固件文件。可以使用开源的文件系统库,如 FATFS 等,来简化文件系统的开发.

使用特权

评论回复
12
g0d5xs| | 2024-12-5 21:48 | 只看该作者
一般可以用U盘的方式,其实当计算机将固件文件复制到模拟的 U 盘中后,设备需要能够检测到文件的到来,并启动固件更新程序。这包括读取固件文件、验证文件的完整性、擦除旧的固件以及将新固件写入 Flash 存储器等操作

使用特权

评论回复
13
lix1yr| | 2024-12-5 22:01 | 只看该作者
其实你自己写个BootLoader一般就可以了,不过USB更新感觉没有串口更新来的方便呢

使用特权

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

本版积分规则

13

主题

188

帖子

0

粉丝