2016-12-29 15 views
-2

나는 내 시스템에 연결할 수있는 하드웨어 (NIC 또는 FPGA 또는 ASIC 등)를 구입해야하며 이더넷 장치 드라이버의 일반적인 기능 (예 : 패킷 트래핑/수신 및 패킷 전송)을 구현하고 구현하는 장치 드라이버를 작성합니다./하드웨어를 다시 프로그래밍하는 등? 집에서이 모든 것을 어떻게 배울 수 있습니까?네트워크 이더넷 장치 드라이버 프로그래밍을 배우는 방법은 무엇입니까?

답변

0

"시스템"이 컴퓨터 인 경우 NIC가 있어야합니다 (또는 구입할 수 있음). 어쨌든 드라이버를 작성하려면 컴퓨터가 필요합니다 ... 커널 소스를 다운로드하고 사용중인 NIC의 드라이버 소스를 살펴보십시오.

+0

NIC에는 패킷 수신을 위해 미리 정의 된 IRQ가 있습니다. 특정 유형의 패킷이 수신 될 때만 CPU로 인터럽트를 발생 시키도록 NIC를 다시 프로그래밍 할 수 있습니까? –

+0

나는 일반적으로 생각하지 않는다; 유니 캐스트 패킷에 대해서만 IRQ를 올리도록 프로그래밍 할 수 있지만 패킷 이외에는 그 외에도 거의 없습니다. 그렇지 않으면, 당신이 원하는 것을 할 수있는 임베디드 시스템 용으로 설계된 더 복잡한 칩이 있습니다. 그들은 예를 들어 병렬, SPI 또는 심지어 일반적인 비동기식 직렬 회선을 통해 호스트 CPU에 인터페이스합니다. https://www.sparkfun.com/products/retired/9471 – linuxfan