STM32H750 绕过128Kflash限制,使用满血2MB内部flash

一、问题

最近网上买了一个STM32H750VBT6,买完以后下载几个Demo发现flash只有128K,(手册上的地址:0x08000000~0x08020000)。部署一个RTOS,点亮显示屏就够呛,加入稍微大一点的图片就报错。STM32CubeIDE里用DAP_LINK 或  ST_LINK的方式下载程序就报错。报错如图1-1所示。

图1-1 flash不足报错图

二、探索

        这时候我考虑过外接一个w25q128的flash ,但是设置成代码直接写入到外部flash有点复杂懒得搞。然后突然发现STM32H743芯片有1MB(手册上的地址:0x08000000~0x08100000)的flash。

        这两是同根同源的兄弟啊!!,所以我马上下载STM32CubeProgrammer,拿出我的ST_LINK调试器一步一步试了一下。果然STM32H750能访问到2MB的大小的flash内存(地址:0x08000000~0x08200000),访问flash地址如图2-1所示。

图2-1 访问flash地址

所以脑子里突然有了一个想法。如果STM32的flash配置文件修改如何呢?修改flash值为2048K后好消息是能编译下载了,坏消息是不能运行,直接卡死,屏幕都不亮(不敢继续修改其他文件,代码好不容易写到这里)。修改参数结果如图2-2所示。

图2-2 修改参数结果

所以脑子里突然有了一个想法。竟然不能用STM32CubeIDE下载,用STM32CubeProgrammer下载程序结果如何呢?下载程序结果如图2-3所示。

图2-3 下载程序结果

哈哈哈,失败了,不愧是一家人,死活不让通过,难道没有别的办法了吗?这时候突然想到了另一个办法,我用的工具是ST_LINK,用ST_LINK的工具结果如何呢?然后我就下载了STM32 ST-LINK Utility,然后连接芯片就给我一个惊喜。ST-LINK Utility连接结果如图2-4所示。

图 2-4 ST-LINK Utility连接结果

果然!!,这个芯片有2MB的flash!!!。

三、调试

        我马上生成一个hex文件试一试,hex大小是983KB。下载结果如图3-1所示。

图 3-1 ST-LINK Utility下载结果

居然成功了,显示屏也轮流播放 图1-1 里的代码所示的四个图片。

四、总结

注意事项:

1. 这个H750上不一定成功,听说这个原因是有可能是H743太贵了,卖不出去,ST只好重新标记成H750了,Y版本能成功。

2. 听说官网设置128K的原因是,官方只保证128KB Flash是稳定可靠的,毕竟H750价格便宜太多了(反正我的正常)

2.记得XXX_flash.ld里面的数字修改不然编译失败,设置输出hex文件

3.如果代码太大或者做项目还是老老实实外接flash吧,毕竟是可靠的区域不多。这个方法只适合学习

4.这个文章写这么水的原因是怕审核因字数少而不让过,我第一次写文章,有错的地方诚挚期待各位大佬们的指正和建议,不胜感激。

  • 9
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值