사용 보드 : F429ZI
프로그램 : CubeIDE
TCP/IP OSI Layer Model [OSI Layer Model 설명 블로그]
STM32-> UDP Server
PC -> Client
Data 전송 (Data) <-Frame 하여 보낸 후
수신하는 부분에서 Frame 을 해제하여 받음
각 계층마다 어떤 데이터가 붙는지 알 수 있다.
DP83848 PHY Transceiver : RJ45 커넥터 (Eth 신호 -> 3.3V Digital 신호)
1Layer인 물리 계층의 전기적 신호를 전달하는 과정을 해줌
<영상의 프로젝트 과정>
ETH -> LwIP stack (third party open source) -> UDP echo server -> User Application
내가 사용하는 보드 F429ZI 는 Ethernet Port가 존재함
UTP (Unshieled Twisted Pair) 케이블 : 절연체로 보호받지 않은 두 줄씩 페어로 묶인 케이블
종류 : Direct Cable(T568B), Cross Cable(T568A)
.ioc 파일에서
Connectivity -> ETH -> RMII
Middleware -> LWIP -> Enabled
ethernetif.c -> low_level_init : mac address 초기화
lwip.c -> MX_LWIP_Init : ip 초기화
알집을 풀고나서
Project -> STM32xG_EVAL -> Application -> LwIP -> LwIP_UDP_Echo_Server 예제
자신의 원래 프로젝트에
Inc -> udp_echoserver.h
src -> udp_echoserver.c
다음 파일을 복사하고
#include "udp_echoserver.h"
한다.
lwip.c 에서 가져온 struct netif gnetif; 를 -> lwip.h 에 extern 사용
main 안쪽에
init 한줄 while 문에 코드 두 줄을 입력한다.
window 버튼 + R -> cmd
ping 192.168.0.235 <- 본인이 설정한 stm32 ip 주소
hercules setup utility
udp_echoserver.h 의 default port는 7번이다.
실행 후 UDP 선택<작성중>