久芯网

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

avatar onebyte 提问时间: 2023-08-03 15:14:25 / 已解决

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

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

STM32H操作外部存储器的地址对齐问题 [相关图片]


如需获得 STM32H 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

4个回答
  • avatar 奇迹
    最佳答案
    回答时间: 2023-08-03 15:46:50

    声明的数据后面跟上 __attribute__ ((aligned (4))); 试试还有问题吗

  • avatar onebyte
    回答时间: 2023-08-03 16:04:58
    奇迹 发表于 2022-4-3 19:03
    声明的数据后面跟上 attribute ((aligned (4))); 试试还有问题吗

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

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

    不太清楚,有可能是你外部SDRAM的问题,你可以把网络相关的定义到内部

  • avatar onebyte
    回答时间: 2023-08-03 16:58:59
    奇迹 发表于 2022-4-6 18:59
    不太清楚,有可能是你外部SDRAM的问题,你可以把网络相关的定义到内部

    OK,谢谢

会员中心 微信客服
客服
回到顶部