OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3512|回复: 5

stm32H750如何实现在外部flash中在线调试?

[复制链接]

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-9-4
在线时间
25 小时
发表于 2019-10-29 16:22:59 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 yoyotansa 于 2019-10-29 16:24 编辑

最近在做STM32H750项目的预研项目,在准备其开发模板时,发现不能在外部flash或者SDRAM中调试,这个问题应该怎么去解决呢?我看了原子哥分散加载文件
分散加载.png
意思是将main函数放在内部flash中,我的理解是让内部flash段内的程序初始化外部Qspiflash然后打开内存映射,不知道我理解的对不对。
谁能详细的解释一下如何在外部flash和SDRAM中在线调试的流程?我在这个问题上困住太久了,因为使用的官方的Stm32CubeIED,更没有解决方案。所想先看看在MDK环境下有什么解决方案。

最佳答案

查看完整内容[请看2#楼]

最后做一个总结吧,等我自己在STM32CubeIDE中测试完成后再结贴。 1、原子哥这个方法是将每个程序的main函数都放在内部flash中,这部分程序会将QSPIflash内存映射好,所以后面可以直接访问0x90000000这段地址,从而实现在线仿真外部flash程序。所以外加一个下载算法即可在线仿真外部flash内部的程序。 2、野火的方案是在下载算法中集成了bootloader也会在内部flash中烧写程序,然后通过内flash中bootloader初始化SDRAM和QSPIflash ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-9-4
在线时间
25 小时
 楼主| 发表于 2019-10-29 16:23:00 | 显示全部楼层
最后做一个总结吧,等我自己在STM32CubeIDE中测试完成后再结贴。
1、原子哥这个方法是将每个程序的main函数都放在内部flash中,这部分程序会将QSPIflash内存映射好,所以后面可以直接访问0x90000000这段地址,从而实现在线仿真外部flash程序。所以外加一个下载算法即可在线仿真外部flash内部的程序。
2、野火的方案是在下载算法中集成了bootloader也会在内部flash中烧写程序,然后通过内flash中bootloader初始化SDRAM和QSPIflash内存映射然后跳转到外部Flash中去执行,调试会在main入口地址处停下,也就是runtomain。
我使用的是免费的STM32CubeIDE,应该可是使用bootloader+下载算法的方式实现外部flash程序在线仿真,现在正在测试中…………

上边图中给定的启动脚本就是为了不用固定的bootloader去映射QSPIFlash的内存和初始化系统时钟。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-10-30 02:24:11 | 显示全部楼层
我们例程都可以仿真调试,不存在不行。
回复

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-9-4
在线时间
25 小时
 楼主| 发表于 2019-10-30 08:44:06 | 显示全部楼层
正点原子 发表于 2019-10-30 02:24
我们例程都可以仿真调试,不存在不行。

原子哥,我用的是自己的板子,下载用Jlink是不行的,它根本找不0x90000000这个段。我不知道是不是STLink会做什么处理。我看了你的分散加载文件也想不出怎么能顺利的下载进去,因为根本没有下载算法的体现,这是我的困惑。 no.png
回复

使用道具 举报

1

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
138
金钱
138
注册时间
2013-9-4
在线时间
25 小时
 楼主| 发表于 2019-10-30 09:22:51 | 显示全部楼层
guocheng.png 我心里的过程应该是这样的,但是没有一个家开发板有仔细的去讲解这些东西;很多东西想不透,开发到后期就全是坑。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2019-10-31 02:42:06 | 显示全部楼层
yoyotansa 发表于 2019-10-30 08:44
原子哥,我用的是自己的板子,下载用Jlink是不行的,它根本找不0x90000000这个段。我不知道是不是STLink ...

用我们的算法,你必须提供两个算法才行
好好看我们的教程,从头看起,都有说的
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-23 01:20

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表