집에서 놀고 있던 8년 전에 구매한 xbox 360 유선 usb 패드를 raspberry pi4에 등록하여 사용하고 싶다. 나온 지 오래되어 이미 xpad 리눅스 드라이버가 공개되어 있다. 그러나 usb, input을 한번에 사용하여 잘 이해되지 않는다. 남은 출장 기간 중 천천히 공부 하기로 했다. usb를 등록하려면 vendor id, product id, 연결되면 실행되는 call back probe, disconnect 등 을…… linux usb driver xbox360(1) 계속 읽기
[태그:] linux
Essential Linux Device Drivers
isbn: 9788960771499 한글판 제목이 너무 길어 원서 제목을 썼다. 임베디드 개발자면 쉽게 이해하겠지만 배경 지식이 없는 나에게는 너무 어렵다. 그럼에도 기록을 남겨, 나중에 어떤 책이 좋은지 다시 판단하는 시간을 줄이고, 다시 보려 한다. 책 내용에 코드가 많은데 독자가 실행시킬 수 없어 어떻게 돌아가는지 알 수 없다. 커널을 설명한 부분도 있는데, 이미 알고 있다면 안 읽어도…… Essential Linux Device Drivers 계속 읽기
xbox 360 드라이버 만지기1
내 라즈베리 파이에 usb 타입 xbox360 패드를 붙여 보고싶다. 리눅스 커널 xpad.c에 마이크로소프트 거의 모든 제품 usb vendor, product id가 등록되어 있다. xpad.c가 조금 복작하여 usb 인터럽트 사용 방법을 잘 이해할 수 없다. 키 입력 설정을 어떻게 할지는 나중 문제고… usb-skeletion.c 문서 역시 어렵다. 여기는 인터럽트 대신 대용량 데이터 전송을 목표로 했다. 그 중 가장…… xbox 360 드라이버 만지기1 계속 읽기
리눅스 커널의 구조와 원리
isbn: 9791158391980 저자가 디버깅, 커널을 강조하다보니, 제목이 너무 길어졌다. 다행히 초심자가 쉽게 이해할 수 있는 내용이다. 책 2권이다 보니 사기 아까웠지만, 읽고나면 살만한 책이다. 이 책이 자세하게 설명하여 커널이 어떻게 동작하는지 알 수 있다. 내용이 인터넷에도 있겠지만, 내가 찾는 수고를 저자가 했고, 틀린 내용을 저자가 걸러줬다. 이렇게 보면 지출할 만한 가격이다. 20년 전 리눅스를 시작하려…… 리눅스 커널의 구조와 원리 계속 읽기
spinlock, mutex 실습
모듈을 로딩하면 kernel thread부터 만들어야 한다. 같은 책 초반에 나왔는데, 다시 보니 기억할 수 없다. 스레드를 만든 후 함수와 데이터를 넘겨야 하는데, 데이터가 void 포인터다. struct로 캐스팅 하고 싶은데, 에러가 났다. kernel 코드를 보고 괄호를 몇 번 붙였다. 아! ㅅㅂ. 구글 찾아보기보다 시(간)성비가 더 좋다. pi@raspberrypi:~/linux $ grep -wn “kthread_create” -r ./drivers ./drivers/usb/usbip/usbip_common.h:285: = kthread_create(threadfn,…… spinlock, mutex 실습 계속 읽기