分散加载在IDE开发环境中有着举足轻重的作用,通过分散加载,我们可以方便的指定程序代码和变量的存储位置。特别是像H7这种多个RAM块,外置SDRAM空间,以及内部Flash和外置内存映射的QSPI Flash。
比如我们想把时间关键代码放到ITCM里面运行,而占用空间超大,又不需要快速执行的代码放到QSPI Flash运行,都可以方便的配置。
视频(1080p):
第7期BSP驱动教程:MDK专题高级进阶,重要的分散加载使用,通过各种实战案例来学习_哔哩哔哩_bilibili
第7期BSP驱动教程:MDK专题高级进阶,重要的分散加载使用,通过各种实战案例来学习
本期视频主要分为三个部分:
第1部分,分散加载基础知识。
第2部分,通过各种实战案例学习:
(1)案例1:像使用通用SRAM一样定义使用STM32H7的所有RAM块和外部SDRAM。
(2)案例2:时间关键代码在 ITCM 执行,同时中断向量表也复制了进来
(3)案例3:STM32H7内部Flash和QSPI Flash混合运行程序的方式。
(4)案例4:字库,图库等通过MDK一键下载到外部QSPI/SPI Flash。
第3部分:AC5和AC6的异同。
(1) 官方文档。
(2) 未初始化变量分散加载配置的不同
(3) 分散加载中添加宏定义和#include头文件。
第4部分,通过官方手册,分散加载稍微深入了解.
(1)根域。
(2).ANY设置不同加载优先级。
参考资料和文件下载:
资料下载:
百度网盘 请输入提取码 提取码:oh6l
ARM分散加载文档:
https://developer.arm.com/docume ... using-scatter-files
AC5和AC6未初始化变量定义方法:
Documentation – Arm Developer
STM32H7的MDK汇编启动代码__main,__initial_sp,__Vectors等在C里面的调用方法
STM32H7的MDK汇编启动代码__main,__initial_sp,__Vectors等在C里面的调用方法 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz!
MDK中根域的含义
MDK中根域的含义 - 开发环境 - 硬汉嵌入式论坛 - Powered by Discuz!