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

STM32H743怎么使得malloc分配到SDRAM中,或者如何在SDRAM中运行程序

[复制链接]
Enitrebil 提问时间:2023-9-22 11:01 / 未解决

本人试过在进入main之前修改启动文件,增加SDRAM的初始化,并且将栈空间指定在内部防止初始化错误,程序还是死在Hardfault_Handler。还有什么办法可以将malloc自动分配到外部RAM中呢

收藏 1 评论3 发布时间:2023-9-22 11:01

举报

3个回答
Enitrebil 回答时间:2023-9-22 11:05:07

目前试过的方法: 1.修改启动文件,进入main之前初始化SDRAM,同时指定堆在SDRAM的映射地址中,malloc自动申请到外部ram中 2.烧写两个程序在flash中,一个用于初始化SDRAM,调制时将PC指针指向第二个程序,程序二用的外部SDRAM

butterflyspring 回答时间:2023-9-22 14:17:49

这种应用的逻辑与通常运行在FLASH中的逻辑有不同,需要调整链接和存放的方式。
下面有个官方的参考程序,用的芯片不同,OSPI RAM,但是方式是相同的,注意 ICF的文件的内容,希望能帮到你。

STM32Cube_FW_U5_V1.2.0\Projects\B-U585I-IOT02A\Examples\OCTOSPI\OSPI_PSRAM_ExecuteInPlace\
xmshao 回答时间:2023-9-22 18:01:38
感觉你的重点是Hardfault问题上。


对于SDRAM,自然初始化了才能使用,你既然主要到这个了,那问题可能出在别的地方。


这里提醒两点:第一点,注意访问对齐方面的问题,第二点,注意试探性访问导致的问题,可能的话


可以考虑给整个存储空间先做个MPU基本背景配置,令其为strongly ordered 存储类型。

所属标签

相似问题

官网相关资源

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