Este repositorio contiene la definición de API para Secure Debug Manager (SDM).
El SDM es el componente del lado del host que implementa un protocolo de depuración seguro. A continuación se muestra una arquitectura de sistema abstracta para una depuración segura.
El cliente de depuración es el proceso que solicita acceso de depuración a un objetivo bloqueado. Por lo general, sería un IDE o un depurador independiente utilizado por un desarrollador o técnico, pero puede ser cualquier tipo de herramienta que necesite acceso de depuración al objetivo. El cliente de depuración utiliza el SDM para desbloquear de forma segura el acceso de depuración.
Los requisitos para la API de SDM son los siguientes:
La API de SDM permite que las herramientas admitan una variedad de implementaciones de depuración seguras utilizando una única API. Se anima a los proveedores de herramientas a utilizar esta API para aliviar la carga de soporte de los proveedores de silicio y software, así como de ellos mismos, y para proporcionar una integración simple y fácil de usar de depuración segura para sus usuarios.
El objetivo es que los proveedores de silicio o software proporcionen una implementación de la API como una biblioteca compartida, que se incluye con las herramientas como parte del soporte del dispositivo.
La API de SDM está diseñada para ser independiente de la arquitectura de depuración, por lo que se puede utilizar en arquitecturas de depuración distintas a Arm ADI. Sin embargo, una implementación determinada de la API solo admitirá las arquitecturas de depuración para las que fue escrita. Además, actualmente solo se ha especificado la API para Arm ADI.
La API de SDM admite cualquier protocolo de depuración seguro. Se proporciona una implementación de referencia para el protocolo de control de acceso de depuración autenticado (ADAC) de PSA. Como parte de esta implementación de referencia, se planean API adicionales de nivel inferior. Estos definirán capas como un proveedor de credenciales y una interfaz de buzón de correo de depuración.
El archivo de encabezado principal secure_debug_manager.h
se encuentra en el directorio include/
.
Hay un archivo de configuración de doxygen disponible para generar documentación para la API.
Se incluirá un archivo de manifiesto XML con la biblioteca compartida de SDM. El archivo xml/example-manifest.xml
incluido es un manifiesto de ejemplo para fines de experimentación.
El manifiesto tiene varios propósitos:
Finalmente, se creará un esquema para el manifiesto.
La estructura general de la API está bien definida y algunos detalles están en progreso. Se agradecen todos los comentarios.
Las API de nivel inferior relacionadas con PSA ADAC aún no están definidas.
Los archivos están cubiertos por la licencia BSD de 3 cláusulas.
Copyright © 2020-2022 Arm Ltd.