思行一 发表于 2020-5-13 09:29:48

STM32H750VB的bootloader和app实现困境

      大家好,在资源上只有STM32H750VB芯片和一块QSPI的片外Flash,想做bootloader来引导升级或者跳转至APP,我的设计是将boot放到片内128kb的flash内,然后App放到片外flash;预期是在运行app的同时还能对这块片外Flash进行读写操作来保存App运行过程中需要保存的信息数据。      我试过使用QSPI的MemoryMap模式,直接使用内存映射从片内跳转至片外App所在的位置去运行App。但是这样的问题是,QSPI被一直占用着,无法再对这块片外Flash的任何位置进行读写,就达不到我的预期目标。
      所以我又想着,既然QSPI被占用无法再操作片外Flash,那我将片外Flash上的App程序直接copy到片内RAM上去运行App,然后释放QSPI,不就能达到目的了么。但是目前我还没有试验成功……
      所以想求助各位大佬大神,提供思路或者解决的办法,谢谢!

Serval 发表于 2020-5-13 10:27:13

Boot代码可以做小一点,尽量把APP放在片内Flash运行。
如果想把APP放到RAM上,需要参考ST的RAM Code的project。
需要了解程序运行的Load Region和Execution Region的概念。
只是把Code从Flash拷贝到RAM是不可以运行的,除非这段代码是位置无关代码。但位置无关代码运行前,需要自己配置R9 register(作为Static Base)。
最好,还是参考ST现有的RAM工程,来修改。或者尽量放在片内Flash。

yys1992 发表于 2020-11-25 15:53:04

直接用后面的flash吧
页: [1]
查看完整版本: STM32H750VB的bootloader和app实现困境