手头有块STM32H750VB的板子,QSPI的BANK1上挂了一片华邦的W25Q128,准备尝试一下程序在QSPI中运行。
工程都是基于CUBEMX.
(1) 按照IAR的说明,编写下载算法,折腾了一个多星期才搞定。此时只能用写入读出来验证FLASH操作是否正确。 PS:板载的是W25Q128JV,它与W25Q128FV还是有些区别,少了QPI模式,希望引起注意。
(2) 编写boot程序,参考STM32Cube_FW_H7_V1.4.0ProjectsSTM32H750B-DKTemplatesExtMem_Boot 模板,重点是设置好qspi memory map模式,跳转前关闭cache
(3) 编写应用程序,参考STM32Cube_FW_H7_V1.4.0ProjectsSTM32H750B-DKTemplatesTemplate_Project模板,设置好下载算法,就可以使用j-link把编译好的程序直接下载到QSPI FLASH中,也可以使用j-link进行debug调试。
问题:在第3步中,必须跳过cubemx生成的HAL_Init()函数和SystemClock_Config()函数,暂时还没想明白为什么不能重新初始化一次硬件和时钟,这也意味着必须在boot程序中完成HAL_Init()函数和SystemClock_Config()函数 |