
환경 세팅을 하며 실습한 내용에 대해서 간략히 작성한다.반드시 관리자 권한 터미널에서 실행한다. 테스트 서명 활성화windows driver의 경우 인증을 받지 못한 경우, 드라이버 등록이 되지 않는다. 따라서 테스트를 위해서는 testsigning을 활성화 시켜줘야한

windows driver의 Device Object를 생성하고 어플리케이션 레벨에서 연결하기 위해서는 CreateFile을 호출하여 Handle을 얻어야 한다. Symbol Name을 어떻게 생성하고 생성된 Symbol을 WinObj로 확인하는 과정을 실습해 보았다.

장치를 추가할 때 DeviceStack에 참여하는 콜백함수를 등록하고 windbg로 디버깅을 했다. DriverEntry AddDevice Callback 함수 windbg 디버깅 장치 관리자의 시스템 장치에 등록한 SampleDevice를 사용하기로 누르면 w

Windows PnP 드라이버 아키텍처의 흐름을 이해하기 위해서 작성한다. pci.sys같은 드라이버가 하드웨어 장치를 발견하면 PDO를 생성해주고 Hardware ID를 할당해준다.INF 파일에서 Hardware ID를 매칭해 드라이버를 선택하여 실행해 준다. Dri

pico를 구매하여 tinyusb로 vendor interface를 설정할 예정이다. kmdf로 만든 드라이버로 endpoint로 bulk 통신을 할 것이다. 이전에 구매한 아두이노 우노 r3의 경우에는 기본적으로 cdc 인터페이스를 사용하여 kmdf로 만든 커스텀 드
pico 펌웨어 올리기 여기서 pico에 펌웨어를 올렸기 때문에 KMDF로 USB Vendor Interface가 호환되는 드라이버를 만들어서 올렸다. 드라이버 올리는 것은 문제가 없었지만 endpoint로 write 하는 과정에서 문제가 발생하고 해결한 내용에 대해 포스팅하겠다. pico driver 개발 흐름 1단계: Device 생성 PnP 매니저...

driver개발 중 bosd가 발생하여 분석하는 내용에 대해서 작성해본다. Dump 설정 방법 VM에서 bosd가 발생했다. 별다른 설정한적 없었지만 C:\windows를 확인하니 MiniDump 폴더에 미니 덤프가 생성된 것을 확인할 수 있다. 레지스트리에서 HK

pico를 미니 NPU로 사용하는 프로젝트를 진행하며 어려웠던 내용과 해결한 방법에 대해 작성하겠다. 현재 pico에 tinyusb를 사용하여 vendor specific interface로 driver와 통신하고 있다. 개발을 진행하며 너무나 불편한 점이 많았다. p

pico의 온도 값을 application level에서 반복적으로 요청해도 되지만 interrupt 방식으로 처리해보고 싶어 endpoint를 추가하였다. vendor specific interface에 interrupt endpoint를 추가한 뒤, 다시 장치 인식

전편에서 interrupt endpoint를 추가하였다. 온도 센서값을 읽어서 kmdf driver와 통신은 성공하였다. application level에서 실시간으로 값을 읽는 것을 구현하였다. 구조 어플리케이션 레벨의 동작을 간략히 설명하겠다. OnInitDia