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

STM32H743 SDRAM 地址对齐问题

[复制链接]
switcc 提问时间:2018-3-24 15:05 /
本帖最后由 Switcc 于 2018-3-24 15:06 编辑

继上次网络问题之后,在使用SDRAM过程遇到如下现象:

左侧为源地址,右侧为目的地址,拷贝4个字节。
第一次从0xD0124000+0x163拷贝,拷贝的数据出错
第二次从0xD0124000+0x163-1拷贝,拷贝的数据出错
第三次从0xD0124000+0x163-2拷贝,拷贝的数据正确。

MPU设置如下:

MPU设置

MPU设置
QQ截图20180324150423.png
收藏 评论5 发布时间:2018-3-24 15:05

举报

5个回答
wenyangzeng 回答时间:2018-3-24 16:34:56
8位长变量要注意字节对齐的问题。你如果从整数地址传送数据应该就不会错了。

评分

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

查看全部评分

七哥 回答时间:2018-3-24 21:30:45
要读写32位数据,最好以4的整数倍地址对齐。要是读写8位数据,那就无所谓了。

你的程序是以32位读的吧?

评分

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

查看全部评分

switcc 回答时间:2018-3-25 14:12:42
toofree 发表于 2018-3-24 21:30
要读写32位数据,最好以4的整数倍地址对齐。要是读写8位数据,那就无所谓了。

你的程序是以32位读的吧? ...

用memcpy拷贝
switcc 回答时间:2018-3-25 14:13:43
wenyangzeng 发表于 2018-3-24 16:34
8位长变量要注意字节对齐的问题。你如果从整数地址传送数据应该就不会错了。 ...

老产品用的F427,sdram也是这样用,没有此类问题
pjrstar 回答时间:2020-7-9 10:52:07
两年多了 请问楼主这个问题查到了吗 ,最近项目上也碰到这问题了,比较困惑,我们的老产品用的429也没问题,换到H7后就有这问题了
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版