Switcc 发表于 2018-3-24 15:05:07

STM32H743 SDRAM 地址对齐问题

本帖最后由 Switcc 于 2018-3-24 15:06 编辑

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

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

MPU设置如下:

wenyangzeng 发表于 2018-3-24 16:34:56

8位长变量要注意字节对齐的问题。你如果从整数地址传送数据应该就不会错了。

toofree 发表于 2018-3-24 21:30:45

要读写32位数据,最好以4的整数倍地址对齐。要是读写8位数据,那就无所谓了。

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

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后就有这问题了
页: [1]
查看完整版本: STM32H743 SDRAM 地址对齐问题