NuttX for Raspberry Pi Pico로 유선 LAN 연결
디바이스 측으로부터의 인터럽트를 받아들일 필요가 있으므로, GPIO 드라이버에 인터럽트 대응을 추가했습니다.
연결
Raspberry Pi Pico와 ENC28J60을 다음과 같이 연결합니다.
이 기사 등에서도 접하고 있습니다만, Amazon등에서 팔리고 있는 상기의 ENC28J60 모듈은 실크 인쇄의 단자의 표기가 일부 이상하기 때문에 주의가 필요합니다.
ENC28J60
Pico 터미널
Pico 핀 번호
GND
GND
3, 38과 같은 GND 핀 중 하나
3.3 (Q3)
3V3
36
SI (ST)
GP15 (SPI1 TX)
20
SCK
GP14 (SPI1 SCK)
19
CS
GP13 (SPI1 CSn)
17
SO
GP12 (SPI1 RX)
16
INT (LNT)
GP11
15
RST
GP10
14
NuttX 빌드
구성에 raspberrypi-pico:enc28j60
를 지정하여 빌드합니다.
ENC28J60, SPI 외에도 네트워크 주변 기능이 활성화되어 있습니다.
$ git clone https://github.com/apache/incubator-nuttx.git nuttx
$ git clone https://github.com/apache/incubator-nuttx-apps.git apps
$ cd nuttx
$ ./tools/configure.sh raspberrypi-pico:enc28j60
$ make
ENC28J60의 접속처는, .config의 이하의 장소에서 설정합니다. 이를 변경하면 연결된 SPI, GPIO 핀 번호를 변경할 수 있습니다.
CONFIG_RP2040_ENC28J60_SPI_CH=1
CONFIG_RP2040_ENC28J60_INTR_GPIO=11
CONFIG_RP2040_ENC28J60_RESET_GPIO=10
네트워크 주변은 다음과 같은 설정으로 되어 있습니다.
구성에
raspberrypi-pico:enc28j60
를 지정하여 빌드합니다.ENC28J60, SPI 외에도 네트워크 주변 기능이 활성화되어 있습니다.
$ git clone https://github.com/apache/incubator-nuttx.git nuttx
$ git clone https://github.com/apache/incubator-nuttx-apps.git apps
$ cd nuttx
$ ./tools/configure.sh raspberrypi-pico:enc28j60
$ make
ENC28J60의 접속처는, .config의 이하의 장소에서 설정합니다. 이를 변경하면 연결된 SPI, GPIO 핀 번호를 변경할 수 있습니다.
CONFIG_RP2040_ENC28J60_SPI_CH=1
CONFIG_RP2040_ENC28J60_INTR_GPIO=11
CONFIG_RP2040_ENC28J60_RESET_GPIO=10
네트워크 주변은 다음과 같은 설정으로 되어 있습니다.
각각 .config의 다음 위치에서 설정됩니다.
CONFIG_NETINIT_DHCPC=y
CONFIG_NETINIT_DNS=y
CONFIG_NETINIT_DNSIPADDR=0x08080808
CONFIG_SYSTEM_NTPC=y
시작
NuttX를 시작하고 네트워크 주위를 다양하게 조작해보십시오.
(시작할 때 DHCP에서 주소를 얻고 있기 때문에 첫 번째 프롬프트가 나올 때까지 약간 걸립니다)
Reference
이 문제에 관하여(NuttX for Raspberry Pi Pico로 유선 LAN 연결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yunkya2/items/02301a06f4ade334800e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)