你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

外扩Flash程序如何在线调试?

[复制链接]
xiang90721 提问时间:2017-7-21 20:12 /
悬赏5ST金币已解决
板子是官方stm32f746-discovery开发板,现在的程序是越来越大,内置Flash已经无法容纳,只能使用STM32 ST-LINK Utility工具烧录,我想问问,烧录后的程序该如何在线调试?使用mdk调试就是各种错误,求大神解答,谢谢!


请问你们是怎么调试这样的程序的呢?

最佳答案

查看完整内容

没有stm32f746板子,看了手册,跟之前的M3、M4大不一样呀。 首先是配置boot模式,两种模式在里面又都是可编程的,编程地址最小间隔16K。这两种模式可以随意设置,最初默认是ITCM-FLASH和system memory bootoader。 地址属于FLASH Option bytes,具体怎么用,得按下面套路来 所谓boot,就是复位后从哪开始运行bootloader程序,一般只能是nor flash。 那么想用NAND Flash跑程序怎么办,先从nor flash或内部flash boot ...
收藏 1 评论3 发布时间:2017-7-21 20:12

举报

3个回答
七哥 回答时间:2017-7-21 20:12:25
本帖最后由 toofree 于 2018-4-18 11:32 编辑

没有stm32f746板子,看了手册,跟之前的M3、M4大不一样呀。

首先是配置boot模式,两种模式在里面又都是可编程的,编程地址最小间隔16K。这两种模式可以随意设置,最初默认是ITCM-FLASH和system memory bootoader。
傲游截图20180418105747.png


傲游截图20180418105833.png


傲游截图20180418110009.png


傲游截图20180418110055.png

地址属于FLASH Option bytes,具体怎么用,得按下面套路来
傲游截图20180418110304.png

所谓boot,就是复位后从哪开始运行bootloader程序,一般只能是nor flash。
那么想用NAND Flash跑程序怎么办,先从nor flash或内部flash boot起来,然后配置要跑程序的NAND Flash,配置完成NAND Flash的地址就映射到了MCU寻址区,读的时候就像读取ram,具体时序怎么做不用管。在NAND Flash中存放的程序,必须是完整的程序,也就是包含中断向量表,main等,反正就是在keil中指定ROM地址后,直接编译完的程序目标文件就是。(之前在用DSP的时候,由于内部空间非常少,内部只够存个boot程序,必须二次boot到外部flash。)
如果BOOT_ADDx映射到nor flash地址,那么boot都省了,直接跑。

以上是我是stm32f7的一点理解。



评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

maxtch 回答时间:2018-4-18 09:01:46
如果编译器是 GCC,可以用 GDB 来调试。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

x5y4z3 回答时间:2018-4-18 11:10:54
不知可否能找个  J...Link  来在 MDK 上调试?!

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版