|
음...
제대로 배워본적이 없는 사파로써 한말씀 드리면...
이 디스크립터라는게 따로 이것만 작성하는게 아니라 펌웨어 작성할때 같이 작성하는것입니다.
디스크립터를 따로 작성하는 툴이나 그런건 없고 사용하시는 칩의 개발툴로 작성 하시면 됩니다.
keil8051쓰시면 keil에서 제공하는 c컴파일러로 작성하면 됩니다. (빌더는 펌웨어 개발툴이 아닌지라 여기에 사용할순 없겠네요...)
예를들어 펌웨어 작성시 이런 순서가 되겠네요..
전원인가->8051 port초기화->펌웨어 구동->종료
| |
| |
| Host요청(USB물릴때)->Host에 Device Descriptor전송
| |
+----------+
대충 이런 형태가 되겠네요...
나머지 디스크립터도 각 디스크립터의 내용대로 적당한때 버물러서 부비부비 한다음에 보내면 되겠습니다.
고로...
디스크립터는... 펌웨어를 작성하는 것입니다.
상상히 복잡하고 귀찮고 까다로운 이 작업을 대신 해주는 칩들도 있지요..
이런칩을 USB전용칩이라고 부르기도 합니다.
cypress나 ftdi...뭐 이런칩들....
이런칩들 쓰면 USB가 뭘하든 신경끄고 할일만 하면 되니 참 편하죠.
대신 댓가를 치르는면도 있습니다.
그 댓가는 칩마다 다 다르기도 합니다.
김준석.란츠 님이 쓰신 글 :
: USB 완전정복(Jan Axelson 저, 전준걸 역, 에이콘 출판사) 이라는 책과 구글링으로 공부하면서 USB를 짜고 있습니다.
:
: 그러다가 디스크립터를 작성하는 방법에서 막혀 있습니다.
:
: 책에도 웹에도 디스크립터는 어떤 종류가 있고, 디스크립터에 들어가야 되는 내용이 무엇인지는 자세히 나와 있습니다.
: 덕분에 제가 만들어야 되는 기기에는 어떤 디스크립터를 넣고, 그 내용은 무엇이 되어야 할지는 알겠습니다.
: 그런데 아무리 뒤져봐도 디스크립터를 작성하는 방법을 모르겠습니다.
: 다들 디스크립터를 짜서 기기의 ROM에 넣어라... 이렇게만 말하고 어떻게 만드는지는 알려주는 곳이 없습니다.
: C 빌더로 짤 수 있는 건지, 다른 특별한 도구가 필요한 것인지도 감이 잡히지 않네요.
:
: Keil C Compiler 의 평가판도 구해봤는데, 이 프로그램은 펌웨어 작성 프로그램처럼 보입니다.
: MS의 HID 디스크립터 툴은 디바이스 디스크립터를 짜는 용도로는 쓸 수 없어 보이고요.
:
: 혹시 디스크립터 작성에 관한 자료를 가지고 있으시거나 적절한 링크를 아시면 공유해 주시면 감사하겠습니다.
: 아니면 어떤 프로그램으로 디스크립터를 작성하면 되는지만 알려주셔도 큰 도움이 될 것 같습니다.
|