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

STM32H操作外部存储器的地址对齐问题

[复制链接]
onebyte 提问时间:2022-4-2 14:48 / 已解决

发生如下硬件例外中断,查看了一下是给外部SDRAM变量赋值时发生的,汇编指令如下 0x800'4e5a: 0x600a STR R2, [R1]

R1的值是0x3004'4036,没有进行4字节对齐,发生这种问题是MPU设置不对吗,还是对编译器的设置不对,还是代码不对呢

image.png

image.png
收藏 评论4 发布时间:2022-4-2 14:48

举报

4个回答
奇迹 最优答案 回答时间:2022-4-3 19:03:43
声明的数据后面跟上 __attribute__ ((aligned (4)));
试试还有问题吗
onebyte 回答时间:2022-4-4 21:21:12

奇迹 发表于 2022-4-3 19:03
声明的数据后面跟上 <strong>attribute</strong> ((aligned (4)));
试试还有问题吗

这个应该可以,我是在操作网络通信,不能进行字节对齐;M7的架构是一定要字节对齐吗?不对齐会发生硬件错误,进入中断吗?不对齐有什么处理方法

奇迹 回答时间:2022-4-6 18:59:21
onebyte 发表于 2022-4-4 21:21
[md]这个应该可以,我是在操作网络通信,不能进行字节对齐;M7的架构是一定要字节对齐吗?不对齐会发生硬 ...

不太清楚,有可能是你外部SDRAM的问题,你可以把网络相关的定义到内部
onebyte 回答时间:2022-4-7 09:16:02

奇迹 发表于 2022-4-6 18:59
不太清楚,有可能是你外部SDRAM的问题,你可以把网络相关的定义到内部

OK,谢谢

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版