悬赏!关于通过 STM32CubeMX 制作外部 Flash 的烧写驱动的问题

        本人使用STM32H750VBT6,外接W25Q128JVSIO,想要将程序放到外部flash中运行。

        参照《通过 STM32CubeMX 制作外部 Flash 的烧写驱动》官方文档进行操作。该文档首先需要完成QSPI的驱动调试,这一步已经验证过没有问题,如下图。

        可以看到,程序运行到了最后位置。这说明硬件电路和驱动代码都是没问题的。

        接下来按照文档提供的git地址https://github.com/WellinZHANG/External_Loader。从该地址的Loader_Files\H7 device路径下获取Dev_Inf.c、Dev_Inf.h、linker.ld和Loader_Src.c这四个文件放置到工程中,并修改StorageInfo结构体如下,其中MEMORY_FLASH_SIZE修改为0x1000000,也就是16MByte。

struct StorageInfo const StorageInfo = {
#endif
		"STM32H750VBT6+W25Q128JVSIQ", 	 	         // Device Name + version number
		NOR_FLASH,                  		 // Device Type
		0x90000000,                			 // Device Start Address
		MEMORY_FLASH_SIZE,                 	 // Device Size in Bytes
		MEMORY_PAGE_SIZE,                    // Programming Page Size
		0xFF,                                // Initial Content of Erased Memory

		// Specify Size and Address of Sectors (view example below)
		{ { (MEMORY_FLASH_SIZE / MEMORY_SECTOR_SIZE),  // Sector Numbers,
				(uint32_t) MEMORY_SECTOR_SIZE },       //Sector Size

				{ 0x00000000, 0x00000000 } } };

        按照文档对工程做完相应更改后,可以生成stldr文件,如下图。

         用该文件去烧录一个串口程序,如下图。

 就会报错如下,我用的STLink烧写器是好使的。

         我用在网上找的其他的stldr进行烧写是没问题的,所以我想知道我做的烧写驱动为什么就不行?能帮我解决这个问题的小伙伴,会以100块钱作为酬谢,另外会把这个问题的答案整理成文章分享给大家。关于这个问题的解答大家可以私信我。

        关于这个问题涉及的工程、文档和我在网上找的可以用的stldr都会放到如下网盘中,供大家查看,我用的stm32cubeide版本为1.12.1。

通过百度网盘分享的文件:相关资料
链接:https://pan.baidu.com/s/1S6jukp0FegGv-hqpeyargg 
提取码:8o12 
 

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值