打印
[应用相关]

SC0096—AT32F403A/407 MSC IAP SpiFlash As Disk

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

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

支持型号列表:
AT32F403Axx
AT32F407xx
主要使用外设列表:
USB_device
SPI3

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

外设使用
Samp code SPI外设使用 SPI3 (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-F403A V1.0开发 板 (其他 型号请使用对应的开发板
图1. AT-START-F403A 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编写的,若使用其他外部存储设备,需要修改底层驱动。

附件:
SC0096_AT32F403A_407_MSC_IAP_SpiFlash_As_Disk_V2.0.0.zip (3.08 MB)

SC0096_AT32F403A_407_MSC_IAP_SpiFlash_As_Disk_V2.0.0.pdf (456.48 KB)


使用特权

评论回复
沙发
xietingfeng| | 2022-8-20 14:40 | 只看该作者
AT32的字不错。  

使用特权

评论回复
板凳
wangdezhi| | 2022-8-20 16:11 | 只看该作者
这个是什么文档   

使用特权

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

本版积分规则

33

主题

69

帖子

3

粉丝