USB 디스크립터 도구?


9

USB 장치 디스크립터를 만드는 마법사 같은 도구를 추천 할 수 있습니까?

지금까지 살펴본 대부분의 USB 펌웨어 예제는 디스크립터를 .c 파일의 간단한 바이트 배열로 정의하고 수동으로 채 웁니다 (매크로의 도움을 받음).

그것은 흑 마법이 아닙니다. 분명히 나는 ​​단순한 전문 도구가 유용 할 수 있다고 생각합니다. 그러나 인터넷 검색에 유용한 결과는 없었습니다 ...

답변:


1

마법사와 같은 도구는 처음 사용할 때 귀엽지 만 방해가됩니다. 더 좋은 방법은 메모리에 설명 자의 적절한 구조와 유용한 매크로 및 기타 전처리 논리를 사용하여 정보를 더 높은 수준으로 제공하고 올바른 바이트와 비트가 자동으로 채워지는 것입니다.

PIC 18의 USB 스택은 그렇게 작동합니다. 내 소프트웨어 다운로드 페이지 에서 해당 소프트웨어 및 기타 여러 가지를 설치할 수 있습니다 . 정적 USB 설정은 두 파일로 정의됩니다. 이들의 템플리트 이름은 SOURCE> PIC 디렉토리에서 QQQ_USB.INS.ASPIC 및 QQQ_USB0.INS.ASPIC입니다. 먼저 usb.ins.aspic 파일에서 VID / PID, 사용하는 엔드 포인트 및 엔드 포인트 당 전송 유형을 정의합니다. 그런 다음 사용자 정의해야 할 부분으로 usb0.ins.aspic의 설명자를 수정하십시오. 전송 유형 및 버퍼 크기와 같은 것을 이미 알고 있으므로 해당 기호를 그대로두고 구현에 고유 한 것을 변경하면됩니다. 대부분의 경우 제조업체 이름과 제품 이름 만 조정합니다. 이것들은 일반적인 문자열로 작성되며 매크로는 적절한 형식을 처리합니다.


두 가지 방법 모두 장단점이 있습니다. 적절하게 작성된 도구는 일종의 텍스트 파일에 설정을 저장할 수 있다고 가정하고 (그래서 코드 저장소에 유지할 수 있음) 필요할 때마다 설정을 다시 편집하고 설명자 파일을 재생성 할 수 있습니다. 나는 이것이 적어도 두 가지 이유에서 유용 할 수 있다고 생각합니다 : a) 서술자가 유효한지 확인합니다. 또 다른 유용한 사용 사례는 PC에 연결된 실제 USB 장치에서 설명자를 가져 오는 것입니다.
코드 페인터

@Czajnik : 내가 언급 한 코드를 보았습니까? 실제로 원하는 것을 채우는 것이 어렵지 않습니다.
Olin Lathrop

1
네, 그렇습니다 (btw, exe 파일은 Linux 사용자에게는 다소 비우호적입니다). 그리고 내가 말했듯이, 나는 내 자신의 설명자를 해본 적이 있습니다. 개인 취향의 문제인 것 같습니다. :)
Code Painters
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.