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

关于代码SRAM运行,系统复位后,无法运行

[复制链接]
酱哒哒 提问时间:2017-3-5 18:36 /
悬赏20ST金币未解决
MCU BOOT管脚配置为SRAM启动,中断向量表已映射到SRAM中,程序完全放进SRAM中运行。

描述:初次下载进去,运行没问题。系统复位后,程序不能执行。调用ST-LINK UTILITY 查看芯片SRAM区域,发现相关区域地址的数据基本正常无误(数据太多,抽样对比了几处,发现没变),按理说,如果数据无误,复位后,从0x20000000执行,应该能跑?

问题:
       1.所有程序载入SRAM运行,复位后,究竟能不能再次运行?
       2.复位后,相关SRAM区域数据并未丢失,为何不能再次执行?(能不能详细讲讲执行过程以及程序出问题出在哪儿?)


<
收藏 1 评论11 发布时间:2017-3-5 18:36

举报

11个回答
衔胆栖冰 回答时间:2017-3-5 19:03:12
不知道你为何要让代码在RAM中运行?不过一般的做法应该是,通过写分散加载文件,把要在RAM中运行的代码编译到RAM的地址中,从flash或rom启动,再把中断向量表复制到RAM,然后程序在RAM中运行。但是,程序的存储还是在FLASH或ROM中。你从RAM启动,可以进入在线调试debug模式,但是脱机重启后是跑不起来的。
衔胆栖冰 回答时间:2017-3-5 19:09:50
给你个参考:NUCLEO-F412ZG测评:RAM和FLASH速率
https://www.stmcu.org.cn/module/ ... amp;fromuid=3168748
(出处: 意法半导体STM32/STM8技术社区)
酱哒哒 回答时间:2017-3-5 20:34:29
衔胆栖冰 发表于 2017-3-5 19:03
不知道你为何要让代码在RAM中运行?不过一般的做法应该是,通过写分散加载文件,把要在RAM中运行的代码编译 ...

我用的IAR,编辑的ICF文件,以及为程序分好RAM区了,程序完全存储在RAM区。可以查看到相关RAM区域内数据情况。我的问题主要集中在,系统复位后,相关RAM区域的数据并未丢失,为何复位不能执行程序?
酱哒哒 回答时间:2017-3-5 20:34:46
衔胆栖冰 发表于 2017-3-5 19:09
给你个参考:NUCLEO-F412ZG测评:RAM和FLASH速率
https://www.stmcu.org.cn/module/forum/forum.php?mod=viewth ...

你这个好像并没有提到相关的东西。
xmshao 回答时间:2017-3-5 21:34:17
本帖最后由 xmshao 于 2017-3-5 22:05 编辑

在RAM里的调试可以参考下下面链接:
https://www.stmcu.org.cn/module/ ... &highlight=sram[/url]

你如果复位了,RAM里数据都不可靠了。

衔胆栖冰 回答时间:2017-3-5 22:53:28
酱哒哒 发表于 2017-3-5 20:34
你这个好像并没有提到相关的东西。

看不懂就算
衔胆栖冰 回答时间:2017-3-5 22:53:51
酱哒哒 发表于 2017-3-5 20:34
我用的IAR,编辑的ICF文件,以及为程序分好RAM区了,程序完全存储在RAM区。可以查看到相关RAM区域内数据 ...

什么编译环境都差不多
酱哒哒 回答时间:2017-3-5 23:42:41

不是看不懂,是你讲的很基础,并没有我问的问题的内容
酱哒哒 回答时间:2017-3-5 23:43:26
xmshao 发表于 2017-3-5 21:34
在RAM里的调试可以参考下下面链接:
在IAR中实现通过将程序在SRAM中调试的方法https://www.stmcu.org.cn/module ...

那为什么,我用工具查看的时候,数据并未改变?
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版