You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IMXRT1060平台STRH指令引发未对齐内存访问故障求助

IMXRT1060中STRH指令触发未对齐访问故障的排查思路

已知场景:使用strh r7, [r0, #4]指令时触发未对齐访问故障,已确认Cortex-M7手册明确STRH等指令支持未对齐访问,且CCR寄存器的UNALIGN_TRP位已配置为0(禁用未对齐访问捕获)。

以下是核心排查方向:

  • 目标内存区域的总线硬件限制
    IMXRT1060的不同存储区域(外设寄存器、OCRAM、外部DRAM等)可能有独立的对齐要求,即使内核指令本身支持未对齐,总线矩阵或外设硬件可能强制要求对齐访问。需要确认r0 + 4指向的地址所属区域,查阅NXP官方手册中该区域的访问规则,比如部分外设寄存器仅允许按字/半字严格对齐访问。

  • MPU(内存保护单元)配置冲突
    若系统启用了MPU,对应内存区域的属性配置可能覆盖CCR的全局设置。检查MPU中对应地址范围的配置项,确认是否开启了强制对齐检查的属性——即使CCR的UNALIGN_TRP位关闭,MPU区域的严格对齐要求仍会触发故障。

  • 实际地址的对齐状态验证
    对照附图中的寄存器值,确认r0的数值加上4后,最终地址是否为半字未对齐(即地址最低位为1)。虽然STRH支持未对齐访问,但如果目标内存区域本身不允许,仍会触发故障;若地址是对齐的,则需要排查其他硬件或配置问题。

  • 硬件勘误或内核实现差异
    查阅NXP发布的IMXRT1060勘误文档,确认是否存在与未对齐访问相关的硬件bug。部分厂商的Cortex-M7内核实现可能在特定场景下有手册未提及的限制,这也是潜在的故障原因。

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:21:02