Este repositório contém a definição de API para o Secure Debug Manager (SDM).
O SDM é o componente do host que implementa um protocolo de depuração seguro. Uma arquitetura abstrata do sistema para depuração segura é mostrada abaixo.
O Debug Client é o processo que solicita acesso de depuração a um destino bloqueado. Normalmente, seria um IDE ou um depurador autônomo usado por um desenvolvedor ou técnico, mas pode ser qualquer tipo de ferramenta que precise de acesso de depuração ao destino. O SDM é usado pelo Debug Client para desbloquear com segurança o acesso de depuração.
Os requisitos para a API SDM são os seguintes:
A API SDM permite que as ferramentas suportem uma variedade de implementações de depuração seguras usando uma única API. Os fornecedores de ferramentas são incentivados a usar esta API para aliviar a carga de suporte dos fornecedores de silício e software, bem como deles próprios, e para fornecer uma integração simples e fácil de usar de depuração segura para seus usuários.
O objetivo é que os fornecedores de silício ou software forneçam uma implementação da API como uma biblioteca compartilhada, incluída nas ferramentas como parte do suporte ao dispositivo.
A API SDM foi projetada para ser independente da arquitetura de depuração, portanto, pode ser usada em arquiteturas de depuração diferentes do Arm ADI. No entanto, uma determinada implementação da API suportará apenas as arquiteturas de depuração para as quais foi escrita. Além disso, atualmente apenas a API para Arm ADI foi especificada.
A API SDM oferece suporte a qualquer protocolo de depuração seguro. Uma implementação de referência é fornecida para o protocolo PSA Authenticated Debug Access Control (ADAC). Como parte desta implementação de referência, estão planejadas APIs adicionais de nível inferior. Eles definirão camadas como provedor de credenciais e interface de caixa de correio de depuração.
O arquivo de cabeçalho principal secure_debug_manager.h
está localizado no diretório include/
.
Um arquivo de configuração doxygen está disponível para gerar documentação para a API.
Um arquivo de manifesto XML será incluído na biblioteca compartilhada do SDM. O arquivo xml/example-manifest.xml
incluído é um exemplo de manifesto para fins de experimentação.
O manifesto serve a vários propósitos:
Eventualmente, um esquema será criado para o manifesto.
A estrutura geral da API está bem definida e alguns detalhes estão em andamento. Todos os comentários são apreciados.
As APIs de nível inferior relacionadas ao PSA ADAC ainda não estão definidas.
Os arquivos são cobertos pela licença BSD de 3 cláusulas.
Direitos autorais © 2020-2022 Arm Ltd.