장치 드라이버는 언제 만들어야 합니까?

장치 드라이버는 언제 만들어야 합니까?

저는 사람들이 작성한 많은 코드가 포함된 임베디드 시스템을 작업하고 있으며, 종종 저보다 더 많은 전문 지식을 갖추고 있습니다.

일부 임베디드 시스템 커널에는 시스템에서 실행되는 일부 애플리케이션에서 사용되는 I2C 및 V4L 기반의 사용자 정의 장치 드라이버가 있습니다.

나는 이 모든 애플리케이션이 중요한 추상화를 잃지 않으면서 맞춤형 드라이버 없이 작성되고 작동할 수 있다고 생각했습니다(아마도 틀렸을까요?). 또한 이와 관련된 하드웨어는 자주 변경되지 않으므로 하드웨어 변경 시 코드 재사용성은 시스템에 추가되는 작업의 복잡성에 비해 큰 이점이 아닙니다.

읽고 나서이 비디오( 짐작하셨겠지만 저는 임베디드 장치 드라이버를 처음 접했습니다.) 장치 드라이버를 작성할 때 볼 수 있는 유일한 다른 이점은 일부 기능을 사용자 공간으로 내보내는 것인데, 이는 이 프로젝트에서 크게 필요하지 않습니다.

따라서 제가 생각하는 한 장치 드라이버 작성의 장점은 다음과 같습니다.

  • 사용자 공간으로 기능 내보내기
  • 잦은 하드웨어 변경 제거
  • 프레임워크를 사용하여 노드 생성 및 장치 클래스 표준화

나에게는 이 중 어느 것도 중요해 보이지 않습니다. 드라이버 없이 시스템/응용 프로그램을 다시 작성할 때 실수를 하고 있습니까? 여기서 뭔가 빠졌나요? 실행 시 성능도 고려하겠지만, 그게 그렇게 좋은가요?

관련 정보