목록USB (6)
마음 속 하늘은 항상 맑음~!
Pickit3의 소스코드가 있었는데 USB 장치를 검색하는 부분에서 저 부분을 더 큰 255로 변경해주니 해결. USB 장치가 늘어난 요즘의 컴퓨팅 환경에서는 더 많은 USB장치가 있어서 시스템에서 인식은 하지만 Pickit3 GUI 프로그램에서는 낮게 제한이 걸려있어서 인식을 못했던 것을 고쳤다.
HID장치를 간단하게 시리얼 통신처럼 이용할 수 있는 방법은 CDC ACM 방법이 운영체제가 막아서 생기는 문제는 해결할 수 있다. 이 방법이 꼭 장점이 강한 것은 아니지만, 간단한 테스트를 위한 하드웨어에서의 응용은 나쁘지 않을거라고 생각된다. 기본적으로 HID의 사용되는 프로그래밍 방법은 같고 단지 주의할 점만 존재한다. 호스트 컴퓨터에서 장치로 USB통해 정보는 받는 부분에 control전송과 인터럽트 전송을 모두 거치는 usbFunctionWriteOut을 쓰는데, 이것은 별로 문제가 되지 않는다. 단지 가끔 NULL데이터를 보내므로 펌웨어에서 체크를 하면 된다. 그리고 데이터의 길이가 버퍼의 길이와 맞추는 작업도 필요하다. 이것은 각각의 구현에 따른 변경이 다르므로 다른 게시물에 업로드한 소스를..
AVR의 소프트웨어 CDC는 운영체제에서 저속이기 때문에 장치의 연결을 끊는 것으로 확인. 그래서 cdc-io를 포기하려 했으나 YAT란 터미널 프로그램에 Serial HID라는 기능이 존재. 구현을 아무리 찾아봐도 없고 결국 삽질을 해가며 직접 구현. 입으로 설명하기엔 너무 많이 모르기 때문에 곤란하고 완성된 소스를 첨부. 이 소스에는 V-USB에서 인터럽트 OUT이 가능한 수정이 담겨있다. 이 수정이 약간 틀려서 교정을 봤다. 예제 4번만 수정되어 있고 출처는 http://lackawanna.hackhut.com/2011/10/06/using-v-usb-and-the-hid-class-part-iiiiii/ USB HID의 레포트를 만드는게 어렵다면 그냥 복사해서 사용하면 된다. 설정시 압축파일에 들..
출처 : http://www.pendrivelinux.com/yumi-multiboot-usb-creator/ 윈도우즈에서 실행가능한 멀티부트 USB를 만드는 툴이다. 많은 리눅스 라이브 CD나 XP를 제외한 윈도우즈 비스타/7/8을 지원한다. XP는 몇몇 수정할 부분이 있는데 수정이 필요해서 마소의 파일을 포함하지 않는 합법적인 방법으로 차후에 지원을 할 예정. 그리고 윈도우즈 부트 USB는 인스톨 후 첫번째 부트에서 에러가 나므로 설치 후 첫첫번 리부팅에서 USB를 뽑아줘야 한다. USB 드라이브명과 운영체제의 종류를 선택하고 ISO 파일을 선택해주고 "Create" 버튼을 누르면 작업이 시작된다. 만약 이전에 한번 USB부팅 작업을 해놓았다면 이전의 USB부팅 운영체제는 유지된다. 간단한 포맷을 하..
PIC의 비교적 고급 모델(?)인 18F4550을 프로그래밍하는데, 주로 사용하던 ICProg 1.06c버전이 1000h부터 기록을 하지 못하는 문제로 잘 안되서 찾아보니 더 좋은 어플리케이션이 있었다. 자주 업데이트 되며 가장 저렴한 JDM을 지원하는게 장점이다 +_+. 이 프로그램이면 더이상 업데이트 되지 않는 ICProg나 하드웨어 인터페이스 제약이 있는 WInPIC800과는 안녕이다. 이 프로그램을 찾지 못했다면 삽집의 연속이었을지도 모른다. WinPIC800의 COM 포트의 고정된 어드레스 포트까지 디버거로 건드려가며 했는데 비정규 인터페이스 카드로 설정된 포트는 적용할 수 없었다. SI-Prog의 JDM으로는 위의 이미지와 같이 설정화면 중에 Data Out의 Invert 체크박스를 선택하면 ..