推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

STM32 TrustZone 开发调试技巧—— HardFault 调试与处理

更新时间:2023-12-24 09:41:05 大小:959K 上传用户:sun2152查看TA发布的资源 标签:stm32 下载积分:2分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

STM32 TrustZone 开发调试技巧—— HardFault 调试与处理 引言 在 STM32 TrustZone 开发调试技巧的前两篇中,我们介绍了内核的 SAU/IDAU,地址的安 全属性配置,资源的安全属性配置,内核访问资源的安全规则,以及 TrustZone 环境下外设使 用的常见问题等内容。TrustZone 环境开发中还可能经常遇到的一个问题就是软件触发的故障 错误。ARM CM33 内核 TrustZone 环境下的异常模型以及 Fault 的处理与不带安全扩展的情况 有着很多变化,一旦出现 HardFault,经验不足的开发者可能往会找不到头绪,不知道从哪里着 手寻找问题所在。因此,在这一篇的重点将围绕 CM33 TrustZone 环境下的异常模型以及 HardFault 的调试与处理展开,供开发者参考。 1. CM33 TrustZone 架构下的异常模型 在 STM32 TrustZone 开发调试技巧的第二篇中我们介绍过 CM33 带安全扩展的 S 和 NS 侧 的中断以及中断向量表,这里不再赘述。表 1 总结了其中的 Fault 异常。 1.1. Fault 异常类型(带安全扩展) 1.1.1. Hard Fault HardFault 是默认的 Fault 异常,总是使能。触发的原因可能是由于异常处理本身触发了错 误,或者某个异常无法被其他机制处理而上升到 HardFault。它的优先级高于所有其他可配置优 先级的异常。 在 TrustZone 环境中,HardFault 不是 Bank 的。同一个异常,要么触发 S 侧的 HardFault,要么触发 NS 侧的 HardFault。SCB 的 FNMINS 决定了是否使能 NS 的 BusFault,HardFault 和 NMI。如果 SCB 的 FNMINS=0,HardFault 总是触发 S 侧的 HardFault Hanlder;如果 FNMINS=1,则故障可能触发 NS 侧的 HardFault Handler,也可能触发 S 侧的 HardFault Handler。图 1 给出了在其他 Fault 未使能情况下, HardFault Handler 触发一般情形。 需要注意的是,即使 FNMINS=1,原本 target 到 S 侧并且上升为 HardFault 的 异常,将依旧触发 S 侧的 HardFault,他们并不受到 FNMINS 位的影响,例如当安 全代码违反 MPU 保护规则,产生 MemManage 错误的时候,即使 FNMINS=1,故 障还是会进入 Secure HardFault Handler。而 NS 侧的 HardFault,只有当 FNMINS=1 时才有可能会被触发。 另外还要注意一点,AIRCR 寄存器不能直接修改,需要先写 Key 值才能更改寄存器内容。 置位或清除 FNMINS bit 的示例代码如下(只能在安全代码中使用): FNMINS=1,内核的行为将不可预测。因此如果需要设置 S=1,则建议 保持 FNMINS=0。 1.1.2. Bus Fault Bus Fault 通常发生在指令或数据访问时候,可能由于检测到 memory 系统的总线错误而导 致。Bus Fault 默认不使能,就是说总线故障默认将触发 HardFault Handler。如果需要单独使 能 Bus Fault,可以将 SCB 的 FAULTENA 位设 1。 在 TrustZone 环境中,Bus Fault 也不是 Bank 的。触发 S 还是 NS 侧的 BusFault Handler 与 SCB 的 FNMINS 有关。如果 FNMINS=0,BusFault 总是 target 到 S 安全状态;反之如果 FNMINS=1,则 target 到 NS 非安全状态。 产生 Bus 错误时,实际会触发哪个 Fault Handler,将取决于 FNMINS 和 SCB_S/NS 的 FAULTENA 的设置。图 2 给出了 Bus 错误触发 Fault Handler 的一 般情况(例如这里不考虑安全侧 Vector 错误依旧上升到 Secure HardFault 的情况)。

部分文件列表

文件名 大小
STM32_TrustZone_开发调试技巧——_HardFault_调试与处理.pdf 959K

【关注B站账户领20积分】

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单
  • sd-hyc 打赏1.00元   3天前

    资料:神州易刻2024最新版

  • 柏涵 打赏1.00元   3天前

    资料:XDS100_v1_1_RTM

  • 21ic下载 打赏310.00元   3天前

    用户:jh0355

  • 21ic下载 打赏310.00元   3天前

    用户:w178191520

  • 21ic下载 打赏210.00元   3天前

    用户:gsy幸运

  • 21ic下载 打赏210.00元   3天前

    用户:zhengdai

  • 21ic下载 打赏210.00元   3天前

    用户:jh03551

  • 21ic下载 打赏110.00元   3天前

    用户:liqiang9090

  • 21ic下载 打赏60.00元   3天前

    用户:sun2152

  • 21ic下载 打赏60.00元   3天前

    用户:xuzhen1

  • 21ic下载 打赏80.00元   3天前

    用户:xzxbybd

  • 21ic下载 打赏25.00元   3天前

    用户:WK520077778

  • 21ic下载 打赏20.00元   3天前

    用户:w1966891335

  • 21ic下载 打赏20.00元   3天前

    用户:铁蛋锅

  • 21ic下载 打赏20.00元   3天前

    用户:玉落彼岸

  • 21ic下载 打赏15.00元   3天前

    用户:kk1957135547

  • 21ic下载 打赏10.00元   3天前

    用户:zpf22332

  • 21ic下载 打赏5.00元   3天前

    用户:pangpidan

  • 21ic下载 打赏5.00元   3天前

    用户:hpxny

  • 21ic下载 打赏5.00元   3天前

    用户:pandq2009

  • 21ic下载 打赏5.00元   3天前

    用户:tomp

推荐下载