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

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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版