안녕하십니까?
W5300에 ARM9 계열의 CPU를 연결해서 과제 진행중에 있습니다.
driver 파일과 데이터 북을 참고하여 loopback test부터 시작해서 다양한 실험을 하고 있는데,
아직 Link를 못붙이고 있습니다.
일단 TCP 서버인 경우에는 Listen 상태에서 계속 대기 상태에 있고,
TCP 크라이언트의 경우에는 Connect 상태에서 ARP 상태로 된후에 다음 동작이 안되고 있습니다.
Internal Phy를 사용하여 동작중입니다.
Loopback0 - 5 : 서버
Loopback6 : 크라이언트 까지 초기 설정한 후의 register를 dump 한 결과는 다음과 같습니다.
(Base address는 0x8000_0000 입니다.)
80000000 | 9800 0000 0000 0000 0008 dc00 52b9 0000
80000010 | 7988 5281 ffff ff00 7988 52bb 000a 000f
80000020 | 0808 0808 0808 0808 0808 0808 0808 0808
80000030 | 00ff 0000 0000 0028 0000 0000 0000 0000
80000040 | 0000 0000 0000 0000 0000 0000 0000 0000
80000050 | 0000 0000 0000 0000 0000 0000 0000 0000
80000060 | 0020 d55e 0020 e40b 0020 ec25 0020 e2a4
80000070 | 0000 0000 0000 0000 0000 0000 0000 0000
80000080 | 0000 0000 0000 0000 0000 0000 0000 0000
80000090 | 0000 0000 0000 0000 0000 0000 0000 0000
800000a0 | 0000 0000 0000 0000 0000 0000 0000 0000
800000b0 | 0000 0000 0000 0000 0000 0000 0000 0000
800000c0 | 0000 0000 0000 0000 0000 0000 0000 0000
800000d0 | 0000 0000 0000 0000 0000 0000 0000 0000
800000e0 | 0000 0000 0000 0000 0000 0000 0000 0000
800000f0 | 0000 0000 0000 0000 0000 0000 0000 5300
80000200 | 0001 0000 00ff 0000 0113 1f40 ffff ffff
80000210 | ffff 0000 0000 0000 05b4 0000 0000 0080
80000220 | 0000 0000 0000 2000 0000 0000 0040 4c7d
80000230 | fa3b 0000 8000 0000 0002 0000 0002 0000
80000240 | 0001 0000 00ff 0000 0113 1f40 ffff ffff
80000250 | ffff 0000 0000 0000 05b4 0000 0000 0080
80000260 | 0000 0000 0000 2000 0000 0000 0040 1cc8
80000270 | 3c0e 1000 9000 0000 0002 0000 0002 0000
80000280 | 0001 0000 00ff 0000 0113 1f40 ffff ffff
80000290 | ffff 0000 0000 0000 05b4 0000 0000 0080
800002a0 | 0000 0000 0000 2000 0000 0000 0040 fd5a
800002b0 | 2072 2000 a000 0000 0002 0000 0002 0000
800002c0 | 0001 0000 00ff 0000 0113 1f40 ffff ffff
800002d0 | ffff 0000 0000 0000 05b4 0000 0000 0080
800002e0 | 0000 0000 0000 2000 0000 0000 0040 2a13
800002f0 | 4b4e 3000 b000 0000 0002 0000 0002 0000
80000300 | 0001 0000 00ff 0000 0113 1f40 ffff ffff
80000310 | ffff 0000 0000 0000 05b4 0000 0000 0080
80000320 | 0000 0000 0000 2000 0000 0000 0040 981c
80000330 | 44a6 4000 c000 0000 0002 0000 0002 0000
80000340 | 0001 0000 00ff 0000 0113 1f40 ffff ffff
80000350 | ffff 0000 0000 0000 05b4 0000 0000 0080
80000360 | 0000 0000 0000 2000 0000 0000 0040 26a9
80000370 | 54aa 5000 d000 0000 0002 0000 0002 0000
80000380 | 0001 0000 00ff 0000 0113 03e8 ffff ffff
80000390 | ffff 0000 0000 0000 05b4 0000 0000 0080
800003a0 | 0000 0000 0000 2000 0000 0000 0040 5f09
800003b0 | 936c 6000 e000 0000 0002 0000 0002 0000
800003c0 | 0000 0000 00ff 0000 0100 0000 ffff ffff
800003d0 | ffff 0000 0000 0000 0000 0000 0000 0080
800003e0 | 0000 0000 0000 2000 0000 0000 0040 4c7d
800003f0 | 4c7d 7000 f000 2000 2002 2000 2002 2000
계속 Loopback을 동작시키면 (while 사용하여) TX_LED는 주기적으로 깜빡거립니다.
이 LED 동작은 크라이언트로 설정된 socket6번에 의해 동작함을 확인했습니다.
그리고 연결된 Transformer의 TXP, TXN과 RXP, RXN 의 신호가 주기적으로 발생하는 것도 확인했습니다.
다만 허브와 연결된 RJ45 port를 제거하면 TX LED 는 계속 깜빡거리는데,
Transformer의 TX / RX 모든 신호의 움직임이 정지됩니다.
혹시 설정이 잘못되어 TX 신호 자체가 나가지 않고 있는것 아닌가 하는 의심을 하게 되네요.
위의 내용으로 제가 잘못설정한 부분을 알려주실수 있을까요?
혹시 더 필요하신 정보가 있으시면 말씀해 주시면 바로 대응하겠습니다.
감사합니다.