Dieses Repository enthält die API-Definition für den Secure Debug Manager (SDM).
Der SDM ist die hostseitige Komponente, die ein sicheres Debug-Protokoll implementiert. Unten ist eine abstrakte Systemarchitektur für sicheres Debuggen dargestellt.
Der Debug-Client ist der Prozess, der Debug-Zugriff auf ein gesperrtes Ziel anfordert. Normalerweise handelt es sich dabei um eine IDE oder einen eigenständigen Debugger, der von einem Entwickler oder Techniker verwendet wird, es kann sich aber auch um jedes andere Tool handeln, das Debugzugriff auf das Ziel benötigt. Der SDM wird vom Debug-Client verwendet, um den Debug-Zugriff sicher freizuschalten.
Die Anforderungen für die SDM-API lauten wie folgt:
Mit der SDM-API können Tools eine Vielzahl sicherer Debug-Implementierungen über eine einzige API unterstützen. Tool-Anbieter werden ermutigt, diese API zu verwenden, um den Supportaufwand für Chip- und Softwareanbieter sowie für sich selbst zu verringern und ihren Benutzern eine einfache und benutzerfreundliche Integration von sicherem Debuggen bereitzustellen.
Das Ziel besteht darin, dass Silizium- oder Softwareanbieter eine Implementierung der API als gemeinsam genutzte Bibliothek bereitstellen, die im Rahmen der Geräteunterstützung in Tools enthalten ist.
Die SDM-API ist so konzipiert, dass sie unabhängig von der Debug-Architektur ist, sodass sie auf anderen Debug-Architekturen als Arm ADI verwendet werden kann. Allerdings unterstützt eine bestimmte Implementierung der API nur die Debug-Architekturen, für die sie geschrieben wurde. Außerdem wurde derzeit nur die API für Arm ADI spezifiziert.
Die SDM-API unterstützt jedes sichere Debug-Protokoll. Für das PSA Authenticated Debug Access Control (ADAC)-Protokoll wird eine Referenzimplementierung bereitgestellt. Im Rahmen dieser Referenzimplementierung sind weitere APIs auf niedrigerer Ebene geplant. Diese definieren Ebenen wie einen Anmeldeinformationsanbieter und eine Debug-Postfachschnittstelle.
Die Hauptheaderdatei secure_debug_manager.h
befindet sich im Verzeichnis include/
.
Zur Generierung der Dokumentation für die API steht eine doxygen-Konfigurationsdatei zur Verfügung.
Eine XML-Manifestdatei wird in der gemeinsam genutzten SDM-Bibliothek enthalten sein. Die enthaltene Datei xml/example-manifest.xml
ist ein Beispielmanifest für Experimentierzwecke.
Das Manifest dient mehreren Zwecken:
Schließlich wird ein Schema für das Manifest erstellt.
Die Gesamtstruktur der API ist gut definiert und einige Details sind in Arbeit. Wir freuen uns über jedes Feedback.
PSA ADAC-bezogene APIs auf niedrigerer Ebene sind noch nicht definiert.
Die Dateien unterliegen der BSD 3-Clause-Lizenz.
Urheberrecht © 2020-2022 Arm Ltd.