[HAL, CubeMX, TrueSTUDIO를 이용한 STM32F4 속성 강의 강좌] 12-1강. ETH + LwIP (UDP Echo Server)

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ก.ย. 2024
  • ▷▶▷▶ 23년 봄 맞이 정기세일을 진행합니다. 전 품목 4월 한달 간 20% 할인된 금액으로 만나보실 수 있습니다. 많은 관심 부탁드립니다. (선착순 20대 한정) ◀◁◀◁
    smartstore.nav...
    ※ 영상에서 사용되는 실습 보드는 별도 구매하실 수 있습니다. smartstore.nav...
    안녕하세요 M-HIVE ChrisP 입니다.
    "HAL 드라이버, CubeMX, TrueSTUDIO를 이용한 STM32F4 속성으로 따라하기" 동영상 강좌 입니다.
    본 영상은 "12-1강. ETH + LwIP (UDP Echo Server)" 으로
    - OSI 7 계층 모델
    - TCP/IP의 계층 모델
    - 각 계층의 정의
    - OSI 모델에서 발신지로부터 수신지까지 데이터가 전달되는 과정
    - 본 과정에서 사용할 네트워크 망의 구조
    - PHY Transceiver DP83848의 역할
    - CubeMX로 ETH 설정
    - CubeMX로 LwIP 설정
    - CubeF4의 UDP Echo Server 예제 구현 (udp_echoserver.c 및 h 파일 추가)
    - udp_echoserver_receive_callback() 함수 설명
    - Ping 테스트
    - Hercules 소켓통신 프로그램으로 PC와 STM간의 UDP 데이터 송수신
    - 공유기 내부망에 연결된 장치들간의 데이터 흐름 과정
    에 대해서 설명합니다.
    TCP/IP 프로토콜은 매우 복잡한 구조를 가지고 있습니다. 제 수업에서 부족한 설명이나 잘못된 설명은 댓글로 정정해주시면 감사하겠습니다.
    많이 시청해주세요~

ความคิดเห็น • 67

  • @om_WHAT
    @om_WHAT 2 ปีที่แล้ว +2

    정말 감사합니다. 덕분에 한번에 시험해 볼 수 있었습니다. 고맙습니다^^

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  2 ปีที่แล้ว

      안녕하세요! 잘 진행되셨다니 다행입니다~ 제 강의가 도움이 되었길 바랍니다 :)

  • @mertcangedik3346
    @mertcangedik3346 3 ปีที่แล้ว +1

    thank you my frend

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  3 ปีที่แล้ว +1

      You're welcome. Hope my course is useful.

  • @hinoehime8576
    @hinoehime8576 3 ปีที่แล้ว

    🙏🙏🙏 감사합니다.

  • @ericmoon6899
    @ericmoon6899 6 ปีที่แล้ว +1

    어느덧 강의 종반에 가까워 지네요.
    동영상 보면서 따래 배웠습니다.
    감사드림니다 ,최고의 강의였습니다

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  6 ปีที่แล้ว

      네 어느덧 CAN 통신만 남았습니다 ㅎㅎ 계획대로 마무리 되어가는거 같아서 다행입니다.. 특히 ETH이랑 CAN이 걱정이 됐는데, ETH은 어찌저찌 마무리가 되었네요. 부족한게 많지만.. CAN도 곧 준비해서 올리고 강좌를 마무리 할 예정입니다. 사실 USB도 정말 해보고 싶은 기능인데 이번에는 제가 준비가 안되서 진행은 못했고, 다음에 언젠가 준비되면 영상 올릴 예정입니다.
      강의 봐주셔서 감사합니다~ :) 즐거운 추석연휴 되세요!

  • @bryannoh9743
    @bryannoh9743 5 ปีที่แล้ว +1

    잘봤습니다. 좋은 강의 감사합니다.

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  5 ปีที่แล้ว

      좋게 봐주셔서 저도 감사합니다~

  • @장영식-n4v
    @장영식-n4v 5 ปีที่แล้ว +1

    좋은자료 잘 봤습니다.~

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  5 ปีที่แล้ว

      네 제 영상이 도움이 되었으면 좋겠습니다~ :)

    • @장영식-n4v
      @장영식-n4v 5 ปีที่แล้ว +1

      @@ChrisWonyeobPark 아주 많은 도움이 됩니다^^ 좋은 저녁되세요~

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  5 ปีที่แล้ว

      @@장영식-n4v 감사합니다~

  • @jinoung
    @jinoung 2 ปีที่แล้ว

    External PHY를 사용할 때 어떻게 해야되나 찾아보다가 이 영상도 보게 되었는데요, MX에서 PHY의 register address를 적어주게 되어 있군요!!!

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  2 ปีที่แล้ว

      네 맞습니다! CubeMX에서는 DP83848 과 LAN8742(맞나모르겠네요) 두 MACPHY 칩셋의 주소를 기본으로 제공하고 그 외의 칩셋은 직접 입력할 수 있도록 되어있습니다!!

  • @영인박-l4i
    @영인박-l4i 11 หลายเดือนก่อน

    stm32f407IGT 칩을 사용하여 이더넷 통신을 하고 있습니다 근데 문제는 잘하다가 UI에서 통신을 9번 정도 보내면 이더넷이 끊깁니다 다시 리셋을 돌리면 이더넷 연결이 되고 다시 9번정도 통신을 보내면 또 끊기고 혹시 유사한 에러가 발생하신적 있으신가요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  11 หลายเดือนก่อน +1

      안녕하세요! 통신이 아예 안되는게 아니고 잘 되다가 안되는 것은 소프트웨어적인 이슈일 것 같습니다. 아마 버퍼관리쪽에 문제가 있지 않나 싶은데 그쪽을 확인해보세요~
      수신과 송신을 각각 따로 확인해보시면 문제찾기가 수월할 것 같습니다.

    • @영인박-l4i
      @영인박-l4i 10 หลายเดือนก่อน +1

      @@ChrisWonyeobPark 이번에도 힌수 배웠습니다 말씀 하신데로 버퍼 문제 였습니다 항상 진심으로 감사 드립니대

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  10 หลายเดือนก่อน

      @@영인박-l4i 문제를 찾으셨다니 다행입니다! 잘 해결하셨기를 바랍니다~

  • @user-vi4fy9gv8n
    @user-vi4fy9gv8n 5 ปีที่แล้ว

    MII와 RMII 차이를 설명해주시면 클럭 속도가 차이가 난다고 말씀해주셨는데, 아무래도 trade off가 있다고 생각을 할 수 밖에 없는데. 무슨 말이냐면 핀 수를 줄이는 대신 클럭이 높아지고 그렇잖아요? 그러면 이더넷 통신에서 클럭이 높아지는 것이 안좋다고 말할 수 있나요? 굳이 그러면 MII를 사용할 이유가 없다고 생각이 들어서요

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  5 ปีที่แล้ว +1

      네 핀수를 줄이고 클럭을 높이는 식이죠. 그래서 본 강의에서도 RMII를 사용합니다. MII는 요새는 잘 사용되지 않는것 같기도 합니다 ㅎㅎ

  • @masdarwis6345
    @masdarwis6345 4 ปีที่แล้ว +1

    how do i get the english translation? thank you

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  4 ปีที่แล้ว

      I'm sorry but no English translation supported. Please try auto translation. Thank you.

  • @박혜지-v8f
    @박혜지-v8f 3 ปีที่แล้ว +1

    좋은자료 감사합니다. 궁금한게 있는데 stm32f4에 물리계층인 PHY가 내장되어 있다면 커넥터같은 별도의 외부장치가 없어도 되나요??

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  3 ปีที่แล้ว

      안녕하세요 STM32F4에는 PHY 기능이 없기 때문에 외부에 PHY 칩을 달아주어야 합니다. 제 수업에서는 DP83848 이라는 칩셋을 사용합니다. 또한 RJ45 커넥터는 DP83848에 연결됩니다. 감사합니다!

    • @박혜지-v8f
      @박혜지-v8f 3 ปีที่แล้ว

      @@ChrisWonyeobPark제가 영상의 실습보드말고 stm32f4디스커버리 쓰고있는데.. 혹시 dp83848에 연결되는 stm32f4의 핀은 stmCubeMX에서 핀설정을 따로 해줘야되는 건가요? dp83848의 VCC랑 GND외에 다른 핀은 일단 stm의 입출력 핀에 꽂았는데 이게 맞는지도 잘모르겠어요...ㅜㅜ

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  3 ปีที่แล้ว

      @@박혜지-v8f 아마 제 강의처럼 CubeMX에서 ETH와 LWIP, RMII를 설정하시면 기본 설정되는 핀대로 선 연결하시면 될 겁니다. 선 연결하셨으면 우선 한번 시도해보세요~

    • @박혜지-v8f
      @박혜지-v8f 3 ปีที่แล้ว

      @@ChrisWonyeobPark 제가 아직 성공을 못해서 그런데..ㅜㅜ ping 까지는 되어도 hercules에 에코동작이 안되는 건 혹시 pc내 방화벽이라던가 보안상 제한문제로 안될수도 있는건가요??

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  3 ปีที่แล้ว

      @@박혜지-v8f 아 핑 테스트했을때 응답이 왔나요? 그럼 거의 성공한 듯 합니다. 방화벽이나 보안상의 문제일 가능성은 낮다고 보입니다. 아마 에코로 보내는 코드를 잘 못 작성하신게 아닐까 하네요!

  • @devshin8039
    @devshin8039 6 ปีที่แล้ว

    STM32F746G-DISCOVERY 보드를 사용해 진행하고 있는데요, 이더넷 포트가 기본으로 있어서 userPHY를 사용하지 않고 기본 값으로 하고 따라가던 중 질문 몇 가지만 드리겠습니다.
    1. while문에 추가한 코드 중 sys_check_timeouts(); 코드에서 undefined reference to `sys_check_timeouts' 와 같은 에러로 디버깅이 실패하는데 어떻게 해야할까요? F3으로 따라가면 함수는 있습니다.
    2. sys_check_timeouts();를 주석을 처리하고 ping test를 하면 '대상 호스트에 연결할 수 없습니다'라는 오류 4번은 뜨지만 '보냄=4, 받음=4'로 손실은 없는데 어떻게 해결해야 할까요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  6 ปีที่แล้ว

      안녕하세요~ 우선 보드의 칩시리즈가 다릅니다. 제 강의영상은 STM32F407을 사용한 실습보드에 타겟이 맞춰져있습니다. cubeF7을 받으셔서 하셔야할텐데 제가 직접 F7을 사용해보진 않아서 확답을 드리긴 어렵습니다 ㅜㅜ 크게 차이가 있을거같진 않지만 그래도 혹시모르니 cubeF7의 예제를 따라해보시길 추천드립니다! 화이팅입니다~~

  • @박진욱-c9b
    @박진욱-c9b 2 ปีที่แล้ว

    아주 감사합니다!
    f407에 같은 phy 칩 모듈을 사용하였습니다.
    결선은 보드 ---(lan cable)--- PC 이렇게 되는게 맞나요?
    똑같이 따라했는데 결선을 해도 rj45 led가 켜지지 않네요.
    ping을 쏴도 응답이 없습니다...
    이것은 하드웨어 문제라고 봐야 하는 걸까요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  2 ปีที่แล้ว

      안녕하세요! link LED까지 켜지지 않는다면 펌웨어의 문제가 아니라 하드웨어적인 문제입니다. 그 상태에서는 당연히 ping test를 해도 응답이 오지않겠죠.
      공유기의 전원이 잘 켜져있는지, LAN 선에는 문제없는지, phy 칩에도 전원이 잘 들어가있는지 등을 확인해보셔야 할 것 같습니다~

    • @박진욱-c9b
      @박진욱-c9b 2 ปีที่แล้ว +1

      ​@@ChrisWonyeobPark 답변 진심으로 감사합니다! 항상 많이 배우고 있습니다. 큰도움이 되었습니다!
      몇가지 더 질문이 있습니다.
      1. 궁금한 점이 공유기없이 ((pc --- lan cross cable ---보드)) 이런 형태는 불가능한지 궁금합니다.! 공유기를 사용하는 이유는 크로스케이블이 없는사람들을 위한 건가요?
      2. fw/hw 상관없이 link led 는 dp83848 모듈에 전원만 들어간 상태(다른 핀들은 연결되지 않고) 라면 켜져야 정상인 건가요?
      3. 공유기는 허브 모드여야 하는 건가요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  2 ปีที่แล้ว

      @@박진욱-c9b 좋은 말씀 감사드립니다!
      질문에 대한 답을 드리자면,
      1. 음,, 저도 공유기 없이 사용해보지는 않았는데요, 공유기를 사용하는 이유는 크로스케이블이 없는 사람을 위해서라기 보다는 용도 자체가 다르기때문일 것 같습니다. 공유기를 사용하게 되면 내부망을 구성할 수 있게되고요, 다른 여러 장치들과 공유기를 통해 통신할 수 있게 됩니다. 만약 공유기가 없다면 1:1 통신밖에 안될 텐데요, 이렇게 구성가능한지는 확인해보지는 않았습니다.
      공유기의 역할은, 여러 장치의 IP주소를 할당하고, 게이트웨이로서의 역할을 하게 되는데, 공유기가 없다면 게이트웨이가 없어지게 되는 것이라서, 이렇게 1:1 네트워크를 구성할 수 있게 되는지는 저도 좀 더 구글링이 필요할 듯 하네요ㅠ
      2. 네 맞습니다. macphy 칩에 전원이 들어가있고 공유기와 잘 연결되어있고 랜선에도 문제가 없다면 link LED는 불이 들어와야 합니다. 펌웨어에는 상관이 없고 하드웨어적인 선 연결 등에 문제가 없으면 불이 들어옵니다.
      3. 공유기가 허브모드라는게 잘 이해가 안되는데요, 강의대로 네트워크를 구성하기 위해서 공유기의 모드 설정이 따로 필요하진 않습니다.
      질문에 대한 답이 되어드렸나 모르겠네요~ 랜선 연결을 잘 했는데도 link에 불이 안들어오는 문제인가요? 그럼 공유기나 랜선을 다른걸로 교체해보셔서 확인을 해보시는것도 좋겠네요!

  • @_HF-uw1ov
    @_HF-uw1ov ปีที่แล้ว

    데이터 시트를 찾아봤는데 STM32F407IGT와 STM32FVET 차이가 클락 차이말고 도 이더넷 차이도 혹시 있나요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  ปีที่แล้ว

      칩 파트넘버마다 약간씩 기능이 다른데 그 내용은 ST 홈페이지에 가시면 쉽게 비교하실 수 있습니다.

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  ปีที่แล้ว

      www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html
      이곳에 아주 잘 정리되어있습니다!

  • @gomshinji
    @gomshinji 4 ปีที่แล้ว

    ping test 로 확인이 되었는데 hercules 프로그램 실행후 send 하면 recieve 가 되질 않습니다. ip 설정 및 port 설정을 제대로 했구요. 어떤부분을 확인을 해야할까요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  4 ปีที่แล้ว

      핑테스트는 잘 되는데 데이터 송수신에 문제가 있나보네요. 이건 문제를 찾기가 좀 어려울 것 같습니다.ㅜㅜ
      가끔 랜선이 문제인 경우도 있는것 같으니 랜선을 한번 바꿔서 해보시고, 공유기도 여분이 있다면 그걸로 한번 해보세요.
      코드도 다시 다운로드 받아보시고 다운로드 후에 리셋을 한번 해보고 진행해보세요!

  • @케이시-c5x
    @케이시-c5x 2 ปีที่แล้ว

    이더넷 꽂는데다가 공유기랑 연결된 랜케이블이 아니라 공유기 없이 인터넷 회선을 꽃아도 되나요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  2 ปีที่แล้ว

      안녕하세요. 제가 알기론 그렇게는 바로 사용할 수 없고 크로스케이블로 연결해야 하는 것으로 알고 있습니다. 시중에 크로스케이블이 따로 판매되고 있으니 그걸로 해보시기 바랍니다!

  • @josephahn2624
    @josephahn2624 6 ปีที่แล้ว

    안녕하세요. 기본적인 질문이 있습니다.
    "이더넷 어댑터 로컬영역 연결" 이 뜨지 않는데 어떻게 해결해야하나요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  6 ปีที่แล้ว

      음 이렇게만 질문주시면 답을 드리기 어렵습니다 ㅠㅠ 랜선이 잘 꽂혀있는지부터 확인해보시고 소스코드를 제 강의영상을 따라 작성하셨는지 확인해보세요!

    • @josephahn2624
      @josephahn2624 6 ปีที่แล้ว

      노트북에 랜선을 연결하지 않고 와이파이로 했는데 그래서 안되는 건가요?
      유선으로 해야 "이더넷 어댑터 로컬영역 연결"이 나오는 건가요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  6 ปีที่แล้ว

      아 와이파이로 연결하면 이더넷이 아닌 무선으로 연결이 되셨을겁니다. 이더넷은 보통 유선을 의미하니깐요. 그래도 공유기에 잘 접속이 됐다면 ping을 통해서 확인하시면 응답은 받을수 있을겁니다. 한번 확인해보세요!

  • @didiq
    @didiq 5 ปีที่แล้ว

    TCP/IP도 가능한가요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  5 ปีที่แล้ว

      네 가능합니다! CubeF4 에 보시면 TCP/IP의 예제도 있으니 한번 참고해보셔도 좋을것 같네요~:)

    • @didiq
      @didiq 5 ปีที่แล้ว

      별도의 외부칩이 필요없이, IP통신이 되는 군요.

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  5 ปีที่แล้ว

      @@didiq 아닙니다. MACPHY IC가 외부에 있어야 합니다 ㅎㅎ 동영상 강좌에도 DP83848을 사용합니다.

  • @두둠칫-b9g
    @두둠칫-b9g 4 ปีที่แล้ว

    ping 테스트 과정에서 한번 안되면 계속 안되고 여러번 리셋하다보면 되다가 또 안되고 너무 불안정 합니다. 원인을 알 수 있을까요?

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  4 ปีที่แล้ว

      안녕하세요! 됐다가 안되는 경우엔 하드웨어적인 문제가 있을수 있으니 공유기 또는 랜선 연결이 잘 되었는지 확인해보시고 랜선 다른게 있으시면 교체해서 해보시기 바랍니다.
      정확한 원인은 제가 말씀드리기가 어려울 것 같네요. 먼저 하드웨어가 문젠지 소프트웨어가 문젠지 찾아보세요~

    • @두둠칫-b9g
      @두둠칫-b9g 4 ปีที่แล้ว

      @@ChrisWonyeobPark 지금은 노트북이랑 보드를 크로스 케이블로 다이렉트로 연결해놨는데 한번 연결되면 도중에 끊기는 경우는 없는데 리셋해서 핑이 안날라가면 리셋을 계속 하지않으면 안날라가네요

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  4 ปีที่แล้ว

      @@두둠칫-b9g 저번에 어떤분도 다이렉트 케이블로 연결해서 했는데 잘 안된다고 하시던데 그 분 문제는 케이블이었습니다. 케이블 교체해서 해결하셨다고 하니 님께서도 여분 케이블이 있으면 한번 해보세요!

    • @두둠칫-b9g
      @두둠칫-b9g 4 ปีที่แล้ว +1

      @@ChrisWonyeobPark 좀더 해보겠습니다 친절한 답변 감사합니다

    • @ChrisWonyeobPark
      @ChrisWonyeobPark  4 ปีที่แล้ว

      @@두둠칫-b9g 네 꼭 성공하시길 바랍니다! :)