• 资料介绍
    • 1、引言
    • 2、按键点灯实验
    • 3、小结
  • 资料预览
  • 相关推荐
申请入驻 产业图谱

带 TrustZone 的按键点灯工程示例

03/04 15:19
349
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

带 TrustZone 的按键点灯工程示例

493.17 KB

1、引言

假设软件存在漏洞,攻击者利用软件漏洞就有可能导致关键的信息受损。这种情况下,使用系统隔离,将关键的资源以及操作和普通的分开,普通的应用程序无法访问关键资源,从而可以有效的降低软件漏洞带来的风险。

TrustZone 是系统隔离的一种硬件手段,它将整个系统分为安全世界和非安全世界。安全世界可以存储像密钥、配置关键外设等,非安全世界运行其余代码。这样,即使非安全侧遭受到攻击,由于访问权限的限制,安全侧的数据以及关键外设不会受到影响。

TrustZone 技术,在一个芯片上,按照地址,划分了安全世界和非安全世界。但一个地址,它的安全属性,有三种 Secure、NSC、Non-Secure。

为什么在安全世界中,要存在一个 NSC 区域呢?TZ 隔离出的两个世界,安全世界和非安全世界。安全世界可以随意调用非安全世界的代码,而非安全世界调安全世界的 API 则要经过中转站(NSC 区域)。

2、按键点灯实验

接下来,我们将通过按键点灯实验,来体会系统隔离的魅力所在。这也将更好的帮助去

理解系统的安全侧和非安全侧。

2.1. 使用准备

硬件:

  • NUCLEO-H563ZI

软件:

  • CubeMX 6.12.1 (或最新版本)
  • STM32Cube_FW_H5_V1.2.0 (或最新版本)
  • STM32CubeProgrammer 2.17.0 (或最新版本)
  • IAR EW for Arm 9.50.2 (或最新版本)

2.2. 实验思想

在实验中,开启 USER_BUTTON (处于非安全侧)的外部中断功能。当用户按下按键并松开手,触发上升沿中断。在上升沿中断回调函数中,去翻转小灯 LED1_GREEN(处于安全侧)、LED2_YELLOW(处于非安全侧)、LED3_RED(处于非安全侧)。

3、小结

通过上面演示,操作非安全侧按键去点亮安全侧的 LED1 和非安全侧的 LED2、LED3, 来帮助大家更好的理解安全侧与非安全侧的资源与外设调用。

资料预览

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

方案定制

去合作
方案开发定制化,2000+方案商即时响应!