|
一、硬件平台$ O# E" r; j$ M, A; L 1 p2 a. n3 Z X4 J
+ q0 x. g" n2 B7 A7 |1 \ Y 二、实验简介7 z) o: E: s" x" a$ d+ [5 ^0 }0 T IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 在应用编程IAP(In-Application Programming)是应用在Flash程序存储器的一种编程模式。它可以在应用程序正常运行的情况下,通过调用特定的IAP程序对另外一段程序Flash空间进行读/写操作,甚至可以控制对某段、某页甚至某个字节的读/写操作,这为数据存储和固件的现场升级带来了更大的灵活性。* N7 X! b% C2 x0 s2 E 我们知道STM32H750内部FLASH仅有一个扇区(128KB大小),因此我们的STM32H750实际上还有外挂的QSPI FLASH用于存在代码,由于STM32H750内部FLASH的特殊性,所以有如下几个问题。 1、STM32H750内部只有一个扇区,在擦除扇区的时候,会整个擦掉,IAP代码丢失。 2、QSPI FLASH的代码,必须在配置好QSPI接口参数后,才能访问并运行。4 {3 ^6 b9 H0 |9 F1 U, E) R6 A( w 3、QSPI接口并不支持读时写,因此写QSPI的代码,必须存放在其他地方。 4、STM32H750启动后必须先执行内部FLASH代码,也就是必须从0x08000000启动。/ E& m9 k( q. f 本实验利用我们前面介绍的读写U盘实验,将STM32的应用程序(二进制文件)放入U盘中,Bootloader程序放在STM32H750内部flash中,上电进行引导,执行外部flash中的应用程序 。. h7 q: v$ G! D) ` l 三、资料下载(实验源码+详细文档操作说明)' Q. x9 i* [/ H 1、源代码
51_udisk_iap_arm.zip
(1.97 MB, 下载次数: 11)
|
| thanks~ good to study |
先清理FLASH才可以升级文件,卡了半天,学习了 |
| flash这一块如何操作一直没有搞明白 终于有点眉目了 |
| FLAsh 这一块的操作真的难,还得看看资料 |
| 学到了,好资料 |
感谢楼主分享,学习学习 |
| 资料不错,学习学习 |
| 讲挺详细,不错 |
| 进来学习的,很详细的资料 |
| 原理是把U盘里数据拷贝到芯片内部的flash再重新启动吗? |
| 很好的学习资料,感谢 |
| 更新中掉电是不是就变砖了? |
| 板子资源很丰富,教程也很好。 |
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
【福利三:逢7发帖赢大礼】调试nucleo-WBA65RI工程测试样板的一些心得
【福利三:逢7发帖赢大礼】lv_timer和BME680实现温度、湿度、气压数据读取
微信公众号
手机版