Ferramenta descritor USB?


9

Alguém poderia recomendar qualquer ferramenta semelhante a assistente para criar descritores de dispositivos USB?

A maioria dos exemplos de firmware USB (todos?) Que eu já procurei define os descritores como uma matriz de bytes simples no arquivo .c, preenchida manualmente (com uma pequena ajuda das macros).

Não é uma magia negra, obviamente, ainda acredito que uma simples ferramenta especializada possa ser útil. Pesquisando no Google não deu resultados úteis, no entanto ...

Respostas:


1

Uma ferramenta semelhante a um assistente pode ser atraente na primeira vez em que você a usa, mas fica no caminho. Um método melhor é uma estrutura decente dos descritores na memória e algumas macros úteis e outra lógica de pré-processamento, para que você possa fornecer as informações em um nível superior e os bytes e bits corretos sejam preenchidos automaticamente.

Minha pilha USB para o PIC 18 funciona assim. Você pode instalar isso e várias outras coisas na minha página de downloads de software . A configuração estática do USB é definida em dois arquivos. Os modelos para esses são nomeados QQQ_USB.INS.ASPIC e QQQ_USB0.INS.ASPIC no diretório SOURCE> PIC. Primeiro, você define o VID / PID, quais terminais você usa e quais tipos de transferência por terminal no arquivo usb.ins.aspic. Em seguida, você modifica os descritores em usb0.ins.aspic com o pouco que precisa personalizar. Como ele já conhece coisas como os tipos de transferência e tamanhos de buffer, você deixa esses símbolos em paz e apenas altera o que é exclusivo para sua implementação. Na maioria dos casos, isso apenas ajusta o nome do fabricante e o nome do produto. Você escreve como strings comuns e uma macro cuida da formatação correta.


bem, os dois lados têm prós e contras. Presumo que uma ferramenta escrita corretamente possa armazenar as configurações em algum tipo de arquivo de texto (para que você possa mantê-las no repositório de códigos) e permitir reeditar as configurações e gerar novamente o arquivo do descritor sempre que necessário. Acredito que isso possa ser útil por pelo menos 2 razões: a) garantir que o descritor seja válido, b) fornecer algum tipo de ajuda contextual útil para cada campo. Outro caso de uso útil é importar o descritor do dispositivo USB real conectado ao PC.
Code Painters

@Czajnik: Você olhou para o código que eu mencionei? Realmente não é tão difícil preencher o que você deseja.
Olin Lathrop

11
Sim, eu fiz (aliás, o arquivo exe é um pouco hostil para os usuários do Linux). E eu já fiz meus próprios descritores antes, como eu disse, não é magia negra para mim. Eu acho que é uma questão de preferência pessoal, realmente :)
Código Pintores
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.