W6100EVB CubeMX 사용 Loopback test
1. W6100EVB STLINK 연결
- W6100EVB와 Nucleo의 ST Link 연결 합니다. 주의 점퍼 제거 해야 합니다.
2. CubeMX 설정 방법
-
CubeMX를 실행 후 File -> New Project를 클릭합니다.
-
MCU chip 설정 후 더블클릭 합니다.
-
프로젝트가 생성이 된 후 아래와 같이 핀맵을 설정합니다. 통신 설정은 밑에 설명 합니다.
-
RCC 설정에서 High Speed Clock을 Crystal/Ceramic Resonator로 설정합니다.
-
Debug 설정 - Swdio를 쓰기 위하여 Serial Wire로 설정합니다.
-
Uart 설정 - 디버그 및 통신 용도를 위하여 Asynchronous로 설정합니다.
-
Uart 설정 - 메세지를 응답받을 때 인터럽르로 받기 위해 인터럽트 셋팅을 합니다.
-
SPI 설정 - MODE를 Full-Duplex Master로 설정 합니다. NSS설정은 위의 GPIO 설정에서 합니다.
-
Clock Configuration에서 아래와 같이 설정합니다.
-
Project Manager에서 프로젝트 이름과 Toolchain 설정을 합니다. 저희는 TrueSTUDIO를 사용할 예정이라 TrueSTUDIO를 설정합니다.
-
설정을 완료 후에 GENERATE CODE를 클릭하여 코드를 생성합니다. 그리고 Open Project를 선택합니다.
3. Driver file 다운로드 및 TrueSTUDIO 셋팅
-
Wiznet Git-Hub에서 Driver file을 다운받습니다. github site : https://github.com/Wiznet/io6Library.
-
다운 받은 파일을 생성한 프로젝트 폴더 안에 복사합니다.
-
다운 받은 파일 안에 Loopback 프로그램도 프로젝트 폴더 안에 복사합니다.
-
프로그램 프로젝트 폴더를 다른 위치에 복사해도 동작 시키기위해서 File Path를 설정해야 합니다.이전에 TrueSTUDIO의 프로젝트가 실행된 상태에서 왼쪽의 프로젝트명을 오른쪾 클릭하여 아래와 같이 나오면 특성을 클릭합니다.
-
창이 나오면 C/C++ Build에서 Environment를 클릭합니다.
-
Add를 눌러 나오는 창에 Name에 PROJECT, Value에 ${ProjDirPath}를 넣습니다.
-
C/C++ Geneal에서 Paths and Symbol에서 아래와 같이 입력합니다. 그리고 아까 추가했던 Driver File을 적용하기위해 File Path 하나를 더 추가 합니다.
4. LoopBack 프로그램
- Driver 코드와 Loopback 프로그램을 가져오기 위해서 아래와 같이 입력합니다.
-
코드입력은 왼쪽의 숫자와 각각의 생성된 주석을 참고 하여 입력합니다.
- 왼쪽 프로젝트 탐색기에서 Src폴더 안에 main.c 파일을 열어서 아래와 같이 입력합니다.
- 아래 코드는 _ write()함수는 uart를 printf로 쓰기위해서 필요합니다.
-
HAL_UART_RxCpltCallback()함수는 Uart응답 받았을 때 인터럽트에서 처리하는 코드를 넣어주기 위해 필요 합니다.
-
MAC과 IP등 설정을 입력합니다.
-
W6100 Initialize를 위한 함수를 입력합니다.
-
Main 함수에서 설정 함수와 Initialize 함수를 호출 하고 Loopback 프로그램을 입력합니다..
- 입력이 끝나면 위쪽의 도구모음에 망치 모양을 클릭하여 Build하고 풍댕이 모양의 debug를 클릭합니다.
5. LoopBack 프로그램
- 왼쪽에 테라텀을 이용해 시리얼 연결을 합니다.
- 열결해야 될 IP 주소 및 포트를 확인하고 Hercules 프로그램을 구동합니다.
- Hercules 프로그램의 TCP Client에서 확인한 IP주소 및 포트를 입력 후 연결합니다.
- Send 창에서 메세지를 입력하고 Send하면 그대로 메세지가 돌아오는 것을 확인 할 수 있습니다.
감사합니다.