来来来!聊聊Secure Debug~
文章目录
- Secure Debug的白话前言
- Secure Debug的核心价值
- Secure Debug的运作机制
- Secure Debug的实施策略
- Secure Debug的关键举措
- Secure Debug的具体实现
Secure Debug的白话前言
想象一下,你的设备里有一个特别的保安系统,这个保安系统叫做“安全管理器”。这个保安系统有一个特殊的功能,叫做“Debug逻辑”,它就像是一个多功能的钥匙,可以用来检查和修理电脑或手机内部的问题(这就是调试功能)。当然这么内部的问题,不能谁想看就能看,因此还需要控制这些调试的接口如JTAG、CPU、DAP和CoreSight的访问权限。
简言之这就是安全管理器中的Debug逻辑,不但具备调试功能,也负责控制JTAG、CPU、调试访问端口(DAP)以及CoreSight域这些调试功能本身的启用或禁用状态。
实现这种调试访问的权限控制是由debug fuses, option bits, 和寄存器共同决定,它们会改变调试外设的默认状态并设定其功能状态。
在电源上电复位期间,系统会阻止对所有调试域的访问。而在热复位期间,除JTAG外,系统会阻止对其他所有调试域的访问。一旦退出冷复位或热复位,dbg_disable_access保险丝和dbg_lock*保险丝的值将决定默认的调试访问权限。
怎么理解这句话?先说说几个概念
-
电源上电复位:当设备首次接通电源或电源被切断后重新接通时,