由于TouchGFX不支持
STM32H745,我在这块板上试了STM32H750的demo程序。它在编程时以及重置后(使用按钮或软件进行软重置)都能正常工作。但是当我从 st-link USB 端口断开
电源并再次连接时,它不起作用,而且 st-link 也无法识别 MCU。将boot0引脚设置为高电平即可解决连接问题,问题不大。
对于程序,我认为问题与引导加载程序脚本有关。我尝试编写自己的引导加载程序,但效果不佳。它不能跳转到外部闪存中的程序。我试过的是:
- 初始化 FMC(外部 SDRAM)
- 初始化 qspi 和外部闪存并将其置于内存映射模式
- 初始化 LTDC 并在其上加载测试图像 3 秒(仅用于测试)
- 禁用缓存和 systick 中断
- 设置 MSP(QSPI 地址 0x90000000)
- 跳转到应用地址(QSPI地址+4)
把touchGFX的完整程序上传到
单片机上后,我上传这段代码。
问题是为什么程序在我们还没有断开电源的情况下就可以运行?为什么程序已经跳转到了应用程序地址却不能运行呢?