视频教程汇总帖:https://www.armbbs.cn/forum.php?mod=viewthread&tid=110519
分散加载在IDE开发环境中有着举足轻重的作用,通过分散加载,我们可以方便的指定程序代码和变量的存储位置。特别是像H7这种多个RAM块,外置SDRAM空间,以及内部Flash和外置内存映射的QSPI Flash。 比如我们想把时间关键代码放到ITCM里面运行,而占用空间超大,又不需要快速执行的代码放到QSPI Flash运行,都可以方便的配置。 视频(1080p): https://www.bilibili.com/video/BV1MR4y157XS 本期视频主要分为三个部分: 第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设置不同加载优先级。 参考资料和文件下载: 资料下载: https://pan.baidu.com/s/1K0eSO25UTzlgqdymQ2rUxw 提取码:oh6l ARM分散加载文档: https://developer.arm.com/docume ... using-scatter-files AC5和AC6未初始化变量定义方法: https://developer.arm.com/documentation/ka003046/latest STM32H7的MDK汇编启动代码__main,__initial_sp,__Vectors等在C里面的调用方法 https://www.armbbs.cn/forum.php?mod=viewthread&tid=100050 MDK中根域的含义 https://www.armbbs.cn/forum.php?mod=viewthread&tid=111079