리눅스(데비안)에서 Socket 프로그램 제작 문의

안녕하세요.
W5100으로 Data를 수신할 수 있는 Socket 프로그램을 Linux에서 제작 중입니다.
(gcc Version : 4.8.3, 언어 : c 언어 사용)

일반적인 Socket Client/Server (socket, listen, accept, recv) 형태의 명령어를 사용했더니
알 수 없는 Hex 값만 출력이 되더라구요.
여기 포럼을 알려줘서 글을 읽어 보니, Wiznet에서 제공하는 API(?)를 사용해야 하는 것 같습니다.

Sample Program과 관련 Header File 그리고 Makefile이 있으시면 Upload 부탁드립니다.
제가 Unix 초보 Program 작성자라 아주 쉽게 올려주시면 고맙겠습니다.
여러 선배 및 고수님들 도움 부탁드립니다.

안녕하세요? :slight_smile:

PC에서 쓰던 Socket 프로그램을 그대로 W5100에서 사용할 수는 없습니다.

당연히 WIZnet에서 제공하는 API를 사용해야합니다.

API 이름이 같더라도 내부는 다릅니다. 접근하는 레지스터가 전혀 다르기 때문이죠.

W5100 관련 자료는 아래 링크를 타시면 얻을 수 있구요

wiznet.co.kr/ko/product-item/w5100/

W5100의 Makefile은 Application note를 받으시면 내부에 있구요 해당 mcu와 make 설정을 수정 하신후 사용하시면 됩니다.

감사합니다.

안녕하세요 Wiznet의 Peter입니다.

리눅스에서 일반적인 Socket 프로그램을 사용하시면 당연히 W5100은 동작하지 않습니다.

일반적인 socket 프로그램은 말그대로 프로그램입니다만 W5100의 socket 프로그램은 SPI 통신으로 W5100의 레지스터를 컨트롤하는 것과 일맥상통합니다.

저는 해보지 않았지만 다음과 같은 과정을 거칠 것으로 예상됩니다.

  1. 리눅스가 올라가 있는 CPU의 SPI를 활성화 및 spi read/write 함수 작성. W5100의 cs pin 활성화 및 enable/disable 함수 작성.

  2. ioLibrary의 함수를 이용해 spi read/write 함수 등록, cs enable/disable 함수 등록.

  3. 리눅스에 포함되어 있는 socket 소프트웨어를 W5100으로 대체. 혹은 W5100의 iolibrary(socket 함수)를 다른 이름으로 make.

  4. 사용.

그럼 더 궁금한 점 있으면 댓글 남겨 주세요.

수고하세요.