Gavin001 发表于 2024-2-4 17:40:00

H750升级全流程问题(IAP)讨论

对于STM32H750VBT6,内部Flash与外部Qspi Flash结合的方式实现Boot与App组合形式,片上128KFlash存放Boot程序,外部Qspi Flash存放App程序;
流程梳理:
1、制作Qspi Flash的下载程序算法,生成FLM文件(参考硬汉哥的例程即可);
2、在App程序中相关设置地址:
   a.main函数开始设置跳转地址偏移 SCB->VTOR = FLASH_APP_INFO_BASE;;
   b.在设置-Target选项中IROM的地址 0x90000000;
   c.在设置-Linker选项中分散加载文件(.sct)地址;
   d.在设置-Debug选项中加载初始文件(.ini)地址 0x90000004;
   e.在设置-Debug-Flash Download选项中加载下载算法(FLM文件);
3、boot程序集成了接收App程序、擦除QspiFlash、写QspiFlash的相关功能;

4、在Boot程序中默认起始地址0x08000000,最后编译生成.hex文件;
5、使用J-Flash加载Boot生成的Hex文件,下载到MCU;
6、App程序中实现功能,编译生成bin文件;

7、使用串口/其他接口将App生成的.bin文件,加专用的上位机软件进行升级App;

问题:
1、流程是否可行;
2、FLM文件只是在2流程e步骤加载就可以吗,还需要其他设置吗;

3、J-Flash中stm32H750VB的Flash是分成两个sector,每个sector64KB,这个需不需要修改,怎么修改;
4、J-Flash下载Hex boot程序时显示不能读取寄存器R15、R16、R13,CPU is running,不能擦写Flash;
5、使用App程序直接调试,提示 Flash Timeout,Reset the Target and try it agin;

请各位大佬指导指导


eric2013 发表于 2024-2-5 08:47:27

1、可以。
2、使用IDE做QSPI Flash的调试下载才需要
3、不支持,H743和H750最小扇区都是128KB
4、不正常
5、FLM算法有问题。

Gavin001 发表于 2024-2-5 09:29:12

eric2013 发表于 2024-2-5 08:47
1、可以。
2、使用IDE做QSPI Flash的调试下载才需要
3、不支持,H743和H750最小扇区都是128KB


多谢硬汉哥解惑。
问题3中怎么修改J-Flash中对750Flash的定义,我看有一个JlinkDevices.xml的文件,文件里面定义的750的下载算法是加载的ST_STM32H745I_Disco_QSPI.elf,而且很多个型号加载的都是这个。我也找了一下没有找到750的elf文件。是不是修改这个文件?

Gavin001 发表于 2024-2-5 09:40:21

eric2013 发表于 2024-2-5 08:47
1、可以。
2、使用IDE做QSPI Flash的调试下载才需要
3、不支持,H743和H750最小扇区都是128KB


怎么能简单的验证自己做的FLM算法有没有问题?读取特点地址的数据?

eric2013 发表于 2024-2-6 09:55:37

Gavin001 发表于 2024-2-5 09:40
怎么能简单的验证自己做的FLM算法有没有问题?读取特点地址的数据?

MDK下验证就比较方便。

yunqi 发表于 2024-2-6 15:17:55

Gavin001 发表于 2024-2-5 09:40
怎么能简单的验证自己做的FLM算法有没有问题?读取特点地址的数据?

算法中把uart和printf加上,可以打印些log。
页: [1]
查看完整版本: H750升级全流程问题(IAP)讨论