STM32H750VBTx的flash官方规定只能使用128K的flash,但是其实是可以绕过限制,使用其片内2M的flash空间。
这里介绍一种较为简单的实现的办法,这个办法不同网络上介绍的办法,可以在keil上较轻松地实现。因为它可以使用较高STM32CubeMX(6.12.0)和keil(5.29)的版本。
首先按照正常的操作顺序,使用STM32CubeMX生成一个keil工程。然后只需要对keil工程做以下更改就可以使用片内2M的flash空间。
(1)先把IROM1的Size改为0x200000
若是有bootlaoder的,请自行计算你要用flash的起始地址,以及Size。
另外要把片内flash作为数据存储区(参数存储区)使用,也请自己计算Size的大小。
(2)Flash Downloader编程算法的Size的大小,这里要改为0x200000。其它的不要管。
(3)使用关键词搜索整个工程,找到FLASH_END这个宏定义。这个宏在stm32h750xx.h文件中。
将这个FLASH_END改为0x081FFFFFUL,其它的不要管。
完成以上变更,就完成了绕过限制,可以使用片内2M的flash,此时编译就能通过了。