如何实现 STM32CubeIDE 加载外部闪存
在STM32CubeIDE中开发项目,用于STM32F769外扩一片外部闪存flash(与 DISCO 设计相同)。
如何配置 IDE 以使其加载两个闪存? 如果是像DISCO那样的QSPI Flash,先确保你在CubeMX里打开了QSPI接口,并初始化正确。 要支持外部Flash加载,记得在链接脚本里加上外部Flash的地址映射段。 STM32F7系列支持XIP,QSPI Flash可以配置成Memory Mapped模式,程序可以直接运行。 STM32CubeIDE 支持 External Loader,但需要你自己写或者使用 ST 提供的 loader 文件。 DISCO_F769NI 开发板 ST 官方提供了外部Loader源码,可以拿来参考或直接修改使用。 打开Project Properties -> C/C++ Build -> Settings,检查链接器是否勾选了 external loader 的配置。 如果是调试用,ST-Link Utility 也支持外部QSPI Flash烧录,要选对对应的loader文件。 如果不放心,建议断网后安装,然后用多种杀毒工具扫描确认下。 CubeIDE目前对外部Flash的支持还不算特别自动化,很多时候还是得自己动手搞链接脚本和startup文件。 如果你用的是TouchGFX或者有图形UI需求,QSPI Flash加载资源文件是个标配,必须配置到位。 STM32CubeIDE 提供部分常用 Flash Loader(你可以使用 STM32 ST-LINK Utility 或 STM32CubeProgrammer 生成自定义 Flash Loader) 确保 Flash2 的基地址与你外设映射到 AXI 总线的地址一致(QSPI 通常为 0x90000000,OSPI/另一个可能是 0xA0000000)
页:
[1]