打印
[应用相关]

SC0097—AT32F415 MSC IAP SpiFlash As Disk

[复制链接]
602|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
vt2017|  楼主 | 2022-8-19 19:07 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
SC0097—AT32F415 MSC IAP SpiFlash As Disk

示例目的
提供USB外挂SPI FLASH模拟U盘,在通过U盘存储固件进行升级。
注:本示例代码是基于雅特力提供的V2.x.x板级支持包(BSP)而开发,对于其他版本的BSP,需要注意使用上的区别。

支持型号列表:
AT32F415xx

主要使用外设列表:
USB_device
SPI1

设计简介
通过外部SPI FLASH模拟U盘,PC将设备固件拷贝到U盘,IAP程序启动之后会检查是否存在需要更新的固件,如果存在,则通过FATFS读取固件进行升级。另外IAP的FATFS只支持FAT文件格式读取。
目前仅支持bin文件升级。

外设使用
Samp code SPI外设使用 SPI1 (SCK:PB3, MISO:PB4, MOSI: PB5, CS:PA15),使用者可根据需求修改。
外部SPI FLASH使用W25Q128FV,对应不同的SPI FLASH,使用者可以根据具体使用型号和大小进行修改配置(包括FLASH命令,flash size, sector size等)

程序地址空间
IAP使用地址空间: 0x08000000~0x08008000 总共 32K
APP使用地址空间: 0x08008000~

升级 bin文件名称
升级的bin文件名称固定为 app.bin.
固件名称不要超过11个字节(主要为了节省IAP使用空间)

升级状态
升级成功之后会将app.bin 改名为 success.bin
升级失败之后会将 app.bin 改名为 error.bin

升级具体流程
1. 进入 IAP程序
如果没有使用IAP进行升级过,将自动进入 IAP
如果有进行升级过,需要重新升级,需要按住AT-START上的 USER按键,然后复位设备
2. 将 USB接入 PC会看到对应磁盘
3. 将新固件 app.bin拷贝到磁盘
4. 拷贝完成之后,复位设备
5. 复位设备后 IAP进行固件升级
6. IAP升级结束之后可通过两种方式判断是否升级成功:
方式1:如果 LED4亮表示,升级成功。如果 LED3亮,表示升级失败
方式2:升级完成之后,如果磁盘里是 success.bin,表示升级成功。如果是 error.bin,表示升级失败。 (注意在升级完成之后,默认会先删除上一次的升级状态 bin 然后才会将当前的 app.bin改
为对应的状态)。
7. 如果升级成功,重新复位设备,将跳转到 app执行

快速使用方法
硬件资源
1) AT-START-F415 V1.0开发 板 (其他 型号请使用对应的开发板
图1. AT-START-F415 V1.0开发 板

软件资源
1) SourceCode
MSC_IAP_SpiFlash_As_Disk 源程序
注: 所有project都是基于keil 5而建立,若用户需要在其他编译环境上使用,请参考雅特力提供的BSP_V2.x.x\project\xxx\templates中各种编译环境(例如IAR6/7/8,keil 4/5)进行简单修改即可。

示例使用
1) 打开 MSC_IAP_SpiFlash_As_Disk工程 ,并下载到开发板 (按住 USER按键,然后复位) 然后将开发板 usb接口 连接到 PC机 。 PC端 设备管理器会出 一个 U盘 设备 ;格式化 此优盘后 ,然后拷
贝固件到 U盘,拷贝完成之后,复位设备。 IAP会检查是否有固件更新,如果存在,则进行固件更新。
注: 本demo使用的外部SPI FLASH为华邦W25Q128FV系列,所以code所支持的命令是依照此FLASH编写的,若使用其他外部存储设备,需要修改底层驱动。

附件:
SC0097_AT32F415_MSC_IAP_SpiFlash_As_Disk_V2.0.0.zip (3.17 MB)

SC0097_AT32F415_MSC_IAP_SpiFlash_As_Disk_V2.0.0.pdf (549.39 KB)


使用特权

评论回复
沙发
tpgf| | 2022-9-8 10:11 | 只看该作者
u盘里边需要有启动代码吧

使用特权

评论回复
板凳
wakayi| | 2022-9-8 10:23 | 只看该作者
请问 USER按键的功能是什么

使用特权

评论回复
地板
wowu| | 2022-9-8 10:32 | 只看该作者
修改底层驱动会不会很麻烦

使用特权

评论回复
5
xiaoqizi| | 2022-9-8 10:59 | 只看该作者
每次都需要先格式化然后再拷贝吗

使用特权

评论回复
6
木木guainv| | 2022-9-8 11:09 | 只看该作者
程序的地址空间是固定在这里的吗

使用特权

评论回复
7
磨砂| | 2022-9-8 11:21 | 只看该作者
IAP使用空间默认是多大的啊

使用特权

评论回复
8
Undshing| | 2022-10-5 20:59 | 只看该作者
每次都要格式化吗

使用特权

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

本版积分规则

33

主题

69

帖子

3

粉丝