一、硬件平台( `0 Z+ X- h; O
二、实验简介$ ?, T9 x) d+ z2 v8 f( S! | v IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 X+ C, e1 j3 m- G' d0 ~! H 在应用编程IAP(In-Application Programming)是应用在Flash程序存储器的一种编程模式。它可以在应用程序正常运行的情况下,通过调用特定的IAP程序对另外一段程序Flash空间进行读/写操作,甚至可以控制对某段、某页甚至某个字节的读/写操作,这为数据存储和固件的现场升级带来了更大的灵活性。 我们知道STM32H750内部FLASH仅有一个扇区(128KB大小),因此我们的STM32H750实际上还有外挂的QSPI FLASH用于存在代码,由于STM32H750内部FLASH的特殊性,所以有如下几个问题。* v" B5 ?: s( A- N0 x 1、STM32H750内部只有一个扇区,在擦除扇区的时候,会整个擦掉,IAP代码丢失。6 f, n% i) H: U2 \" w) I8 p! n1 p 2、QSPI FLASH的代码,必须在配置好QSPI接口参数后,才能访问并运行。 3、QSPI接口并不支持读时写,因此写QSPI的代码,必须存放在其他地方。" o8 l4 O8 F: y F' Y9 D! C* i 4、STM32H750启动后必须先执行内部FLASH代码,也就是必须从0x08000000启动。9 M/ d2 D6 ]* ]4 y" \) m 本实验中我们利用标准Xmodem协议进行固件文件传输完成STM32H750的在线升级,将STM32H750的应用程序存放在外部分FLASH中,Bootloader程序存放在STM32H750内部flash中,上电进行引导,执行外部FLASH中的应用程序。 # B# k6 H! D1 b3 z0 b 三、资料下载(实验源码+详细文档操作说明), l9 L' v0 {$ r, }6 e7 W 1、源代码; V8 J0 V' ~8 ~
49_uart_iap_arm.zip
(2.33 MB, 下载次数: 118)
|
【 逢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实现温度、湿度、气压数据读取
微信公众号
手机版
好好学习一下,很好的资源