1.首先定制下载算法
这个是FLASH配置修改的地方,这里改下就行
然后引脚和时钟修改一下就行,别的都不用动,直接调用模板
2.下载算法弄好之后会生成.FLM文件,这个文件就是下载算法,当你下载APP算法的时候在keil中选择这个你生成的算法,就可以通过QSPI、SPI下载到外存flash了,后期也可以批量下载。
3.在project的根目录下找到生成的.FLM算法,将该文件复制到keil的根目录下FLASH文件夹里面保存
4.在你的APP的keil工程中魔术棒中添加这个算法,把keil中之前的算法给删除,使用最新的算法
5.检测一下你的片外FLASH的SIZE是不是跟这个对应的上 因为W25Q128是16M所以 我这边是0x01000000 Start为什么是0x90000000 因为QSPI开启内存映射后,它的首地址是这个
6.最后再检测一下你的APP中的魔术棒选项中的Device设备和Target中的地址是不是修改到0x90000000(你上面写的首地址) 别少打0了,这里很容易写少
7.然后接好JLINK线点击LOAD下载按钮即可
这样就是已经成功下载到W25Q128了
8.当你把程序下载到外存上了,这个时候你就要写你的bootloader了,跟平时的升级一样的,写好后跳转到0x90000000这个地址就可以运行了
9.我给的代码中bootloader代码还没修改,程序流程也是一样的,把bootloader的QSPI地址映射一下就行了
注意:当程序用了内存映射的话,外存的FLASH就不能写了,只能读了。所以当程序跑起来后,FLASH就不可用了。
链接: https://pan.baidu.com/s/1zS28MB7CHxt1phZiyoMF8g?pwd=nqj8 提取码: nqj8 复制这段内容后打开百度网盘手机App,操作更方便哦
STM32H750下载程序 W25Q128外存上运行
于 2025-02-08 11:25:46 首次发布