STM32H7外部FLASH下载算法开发指南-FLM
5星 · 超过95%的资源 需积分: 8 32 浏览量
更新于2024-08-04
收藏 421KB DOCX 举报
"STM32H7XX-KEIL-MDK-外部FLASH-FLM下载算法-Application-Note"
在嵌入式系统开发中,STM32H7XX系列微控制器是一个常用的选择,而MDK (Keil uVision) 是一个广泛使用的开发环境。在某些情况下,需要对STM32H7XX的外部FLASH执行编程或下载操作,这时就涉及到了FLM(Flash Loader Demonstrator)下载算法的开发。
MDK下载算法基础知识
MDK的下载算法是实现程序烧录到MCU Flash的关键。它包含了一系列特定于硬件的函数,用于初始化、擦除、编程和验证Flash存储器。这些函数是地址无关的,因此可以在不同的内存位置执行。对于STM32H7XX,标准的MDK软件包提供了内置的Flash算法,但如果是不常见的外部Flash设备,可能需要开发者自行创建算法。例如,当使用外部Flash作为ISP(In-System Programming)模式运行时,就需要定制的FLM下载算法。
在MDK调试过程中,算法被加载到MCU的内部RAM,然后通过MDK与该算法的交互完成程序的下载和调试数据的读取。理解这一点对于正确地配置和使用FLM至关重要。
FLM开发
开发FLM时,首先需要创建一个工程。可以选择KEIL_MDK提供的模板,或者直接使用已有的STM32H7XX FLM工程作为起点。在修改工程时,需要注意几个关键点,具体细节可参考《安富莱_STM32-V7开发板_用户手册,含BSP驱动包设计(V3.1)》的相关章节。
制作SPI Flash的MDK下载算法时,有几个重要提示。首先,应避免开启中断,而是使用查询方式。其次,由于HAL库中的超时判断依赖于sysTick,因此需要重写HAL_InitTick、HAL_GetTick和HAL_Delay函数,使用简单的延时循环代替。在配置I/O口(IOC)时,只需设置必要的时钟、QSPI、OCTOSPI接口,以及一些额外的GPIO用于调试。
STM32H7XX的FLM开发涉及到理解MDK的下载机制、Flash编程原理以及HAL库的适配。通过正确构建和配置工程,开发者可以创建自己的FLM下载算法,从而实现对特定外部Flash设备的有效编程和调试。
2023-08-03 上传
2022-12-24 上传
2021-05-05 上传
2022-09-07 上传
2023-06-01 上传
2022-11-07 上传
2020-10-06 上传
2023-01-24 上传