一、硬件平台
二、实验简介 IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 在应用编程IAP(In-Application Programming)是应用在Flash程序存储器的一种编程模式。它可以在应用程序正常运行的情况下,通过调用特定的IAP程序对另外一段程序Flash空间进行读/写操作,甚至可以控制对某段、某页甚至某个字节的读/写操作,这为数据存储和固件的现场升级带来了更大的灵活性。 我们知道STM32H750内部FLASH仅有一个扇区(128KB大小),因此我们的STM32H750实际上还有外挂的QSPI FLASH用于存在代码,由于STM32H750内部FLASH的特殊性,所以有如下几个问题。 1、STM32H750内部只有一个扇区,在擦除扇区的时候,会整个擦掉,IAP代码丢失。 2、QSPI FLASH的代码,必须在配置好QSPI接口参数后,才能访问并运行。 3、QSPI接口并不支持读时写,因此写QSPI的代码,必须存放在其他地方。 4、STM32H750启动后必须先执行内部FLASH代码,也就是必须从0x08000000启动。 本实验利用我们前面介绍的读写U盘实验,将STM32的应用程序(二进制文件)放入U盘中,Bootloader程序放在STM32H750内部flash中,上电进行引导,执行外部flash中的应用程序 。 三、资料下载(实验源码+详细文档操作说明) 1、源代码
51_udisk_iap_arm.zip
(1.97 MB, 下载次数: 11)
|
| thanks~ good to study |
先清理FLASH才可以升级文件,卡了半天,学习了 |
| flash这一块如何操作一直没有搞明白 终于有点眉目了 |
| FLAsh 这一块的操作真的难,还得看看资料 |
| 学到了,好资料 |
感谢楼主分享,学习学习 |
| 资料不错,学习学习 |
| 讲挺详细,不错 |
| 进来学习的,很详细的资料 |
| 原理是把U盘里数据拷贝到芯片内部的flash再重新启动吗? |
| 很好的学习资料,感谢 |
| 更新中掉电是不是就变砖了? |
| 板子资源很丰富,教程也很好。 |
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
【福利三:逢7发帖赢大礼】使用惠勤致远STM32H743VI开发板+ST7796并口彩屏移植LVGL9.5并分享一些额外内容
【 逢7发帖赢大礼】7、TouchGFX中实现云彩流动效果
【 逢7发帖赢大礼】6、TouchGFX中添加图像素材和自定义代码编辑
【 逢7发帖赢大礼】5、TouchGFX 创建自定义界面和交互
【 逢7发帖赢大礼】4、CubeMX工程复用以及TouchGFX应用
【 逢7发帖赢大礼】3、利用CubeMX添加TouchGFX功能:工程修改和编译烧录
【 逢7发帖赢大礼】2、利用CubeMX添加TouchGFX功能:CubeMX配置
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
CubeMX生成CubeIDE工程代码乱码
微信公众号
手机版