Ce référentiel contient la définition de l'API pour Secure Debug Manager (SDM).
Le SDM est le composant côté hôte qui implémente un protocole de débogage sécurisé. Une architecture système abstraite pour le débogage sécurisé est présentée ci-dessous.
Le client de débogage est le processus qui demande l'accès au débogage à une cible verrouillée. Il s'agit généralement d'un IDE ou d'un débogueur autonome utilisé par un développeur ou un technicien, mais il peut s'agir de n'importe quel type d'outil nécessitant un accès de débogage à la cible. Le SDM est utilisé par le client de débogage pour déverrouiller en toute sécurité l'accès au débogage.
Les exigences pour l'API SDM sont les suivantes :
L'API SDM permet aux outils de prendre en charge diverses implémentations de débogage sécurisées à l'aide d'une seule API. Les fournisseurs d'outils sont encouragés à utiliser cette API pour alléger la charge de support des fournisseurs de silicium et de logiciels, ainsi qu'eux-mêmes, et pour fournir une intégration simple et facile à utiliser du débogage sécurisé pour leurs utilisateurs.
L'objectif est que les fournisseurs de silicium ou de logiciels fournissent une implémentation de l'API sous forme de bibliothèque partagée, incluse avec les outils dans le cadre de la prise en charge des appareils.
L'API SDM est conçue pour être indépendante de l'architecture de débogage, elle peut donc être utilisée sur des architectures de débogage autres qu'Arm ADI. Cependant, une implémentation donnée de l'API ne prendra en charge que les architectures de débogage pour lesquelles elle a été écrite. De plus, actuellement, seule l'API pour Arm ADI a été spécifiée.
L'API SDM prend en charge tout protocole de débogage sécurisé. Une implémentation de référence est fournie pour le protocole PSA Authenticated Debug Access Control (ADAC). Dans le cadre de cette implémentation de référence, des API supplémentaires de niveau inférieur sont prévues. Ceux-ci définiront des couches telles qu'un fournisseur d'informations d'identification et une interface de boîte aux lettres de débogage.
Le fichier d'en-tête principal secure_debug_manager.h
se trouve dans le répertoire include/
.
Un fichier de configuration doxygen est disponible pour générer de la documentation pour l'API.
Un fichier manifeste XML sera inclus avec la bibliothèque partagée SDM. Le fichier xml/example-manifest.xml
inclus est un exemple de manifeste à des fins d’expérimentation.
Le manifeste répond à plusieurs objectifs :
Finalement, un schéma sera créé pour le manifeste.
La structure globale de l'API est bien définie et certains détails sont en cours. Tous les commentaires sont appréciés.
Les API de niveau inférieur liées à PSA ADAC ne sont pas encore définies.
Les fichiers sont couverts par la licence BSD 3-Clause.
Copyright © 2020-2022 Arm Ltd.