ZYBO (Zynq) 초보자 가이드 (13) LAN (Ethernet 0) 사용 (PetaLinux)

  • 첫 번째: 개발 환경 준비
  • 두 번째: Hello World 프로젝트
  • 3회째: PS의 GPIO로 L치카
  • 네 번째: PL AXI GPIO에서 PS에서 L 치카
  • 5회째: PL만으로 L치카
  • 6회째: 자작 IP로 L치카
  • 7번째: 부팅 이미지 만들기
  • 8번째: Linux 시작하기
  • 9번째: Linux 커널을 조금 커스터마이징
  • 10번째: 리눅스 루트FS 커스터마이징 / 파이썬에서 Hello World
  • 11 번째 : Linux 사용자 응용 프로그램에서 L 치카
  • 12번째: Linux 커널 모듈에서 L 치카
  • 13번째: LAN(Ethernet 0) 사용 <--- 이번 내용
  • 14번째: Linux 사용자 앱 디버깅 / RootFS로 가져오기
  • 15번째: Linux를 시작할 때 애플리케이션을 자동으로 실행
  • 16번째: Linux에서 자작 IP를 UIO로 제어
  • 17번째: 리눅스에서 자작 IP 디바이스 드라이버 만들기
  • 18회째: IoT화하여 스마트폰에서 L치카

  • 이 문서의 내용을 3분 안에 본다 ( htps: //같다. Be / n 2 y yu jD2Y 의 전반)

    ZYBO (Zynq) 초보자 가이드 (13) LAN (Ethernet 0) 사용 (PetaLinux)



    ZYBO에서 LAN(Ethernet 0)을 사용하여 네트워크 연결하기 위한 방법입니다. 몇 시간 빠져서, 넷의 정보도 찾아 버려 마침내 할 수 있게 되었습니다. 문제는 Vivado의 하드웨어 설정이었습니다. (장치 트리 (dtsi) 편집 필요 없음)

    환경


  • 개발 PC: Windows 10 64-bit
  • Vivado 2017.4 WebPACK 라이센스
  • Xilinx SDK 2017.4 <- 이번에는 사용하지 않습니다

  • 개발용 PC(Linux): Ubuntu 16.04 본가 (일본어 버전이 아님) (on VirtualBox 5.2.4)
  • PetaLinux 2017.4

  • 타겟 보드: ZYBO (Z7-20)
  • 보드 파일: htps : // 기주 b. 코 m/ぢぎぇt/ゔぃゔぁどーぼあrds/あrちゔぇ/마s r. 지 p


  • Vivado로 하드웨어 만들기



    Vivado 프로젝트를 만듭니다. 보드에 Z7-20을 지정하여 IP Integrator에서 PS만 배치합니다. 이 기사의 전반 를 참고해 주세요.



    PS의 Peripheral I/O Pins 설정



    이것이 중요

    아래는 Zybo Z7 Board Reference Manual에 기재된 Ethernet PHY의 신호 접속도입니다. 이것을 보면 MDIO는 MIO52와 MIO53에 연결됩니다.



    프로젝트의 초기 상태라면 이더넷 0의 MDIO는 EMIO에 연결되어 있으므로 MIO52와 MIO53으로 바꿉니다. IP Integrator에서 PS 블록을 두 번 클릭하여 Peripheral I/O Pins 탭을 열고 다음과 같이 MDIO를 선택합니다.



    htps : // 흠 m.ぢぎぇちん c. 코 m / 토피 c / 4975 - 그 l ゔ ぇ d - 에 ぇ r t phy - 온 - zy 보라 rd - 우신 g - ぃ ゔ ぁ 20172 /
    htps : // 흠 m.ぢぎぇちん c. 코 m / 토피 c / 4964 - zy bo - z 7 - 20s - m-be-d-x-x-ld-t-t-c-e-r-t-s-e-a-b gーーーーぇーーーーーーーーーーーーーーーー

    2017/10/10에 안의 사람 같은 사람이, 「보드 파일 만들고 있는 엔지니어에게 이 문제를 알려 줘」라고 말하고 있으므로, 아마 이것은 Digilent의 보드 파일의 버그. 아직 낫지 않은 것 같다.

    PetaLinux로 Linux 이미지 만들기



    PetaLinux 도구로 Linux 이미지를 만듭니다. Vivado에서 만든 hdf(project_1.sdk 폴더)를 Ubuntu 측에 복사하고 다음 명령을 실행합니다. 여기 를 참고해 주세요.

    개발 PC(Linux) 터미널
    cd ~/work/peta
    petalinux-create --type project --template zynq --name SimplePS
    cd SimplePS/
    petalinux-config --get-hw-description=../project_1.sdk
    petalinux-build
    petalinux-package --boot --force --fsbl images/linux/zynq_fsbl.elf --fpga images/linux/design_1_wrapper.bit --u-boot
    

    커널 구성이나 장치 트리 (dtsi)를 변경할 필요가 없습니다.

    확인



    완성 된 BOOT.bin과 image.ub를 SD 카드에 복사하여 시작합니다. ZYBO 보드의 LAN 포트에는 LAN 케이블을 찔러 가정의 라우터에 연결합니다 (DHCP 유효).

    기동 후, ifconfig로 확인하면, 제대로 네트워크에 접속되어, IP 주소도 취득 할 수 있습니다.

    Zybo 터미널
    oot@Eth:~# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0A:35:00:1E:53
              inet addr:192.168.1.87  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::20a:35ff:fe00:1e53%lo/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:9 errors:0 dropped:0 overruns:0 frame:0
              TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:1076 (1.0 KiB)  TX bytes:1709 (1.6 KiB)
              Interrupt:27 Base address:0xb000
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1%1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
    

    같은 라우터에 연결된 Windows PC에서 ping을 치십시오. 제대로 통신 할 수 있는지 확인할 수 있습니다.

    PC 명령 프롬프트
    C:\Users\tak>ping 192.168.1.87
    
    192.168.1.87 に ping を送信しています 32 バイトのデータ:
    192.168.1.87 からの応答: バイト数 =32 時間 <1ms TTL=64
    192.168.1.87 からの応答: バイト数 =32 時間 =1ms TTL=64
    

    또한 Google에 연결해 보겠습니다. 제대로 컨텐츠를 취득 할 수 있습니다.

    Zybo 터미널
    root@Eth:~# wget http://www.google.co.jp/
    Connecting to www.google.co.jp (216.58.196.227:80)
    
    index.html           100% |*******************************| 11289   0:00:00 ETA
    root@Eth:~# more index.html
    <!doctype html><html itemscope="" itemtype="http://schema.org/WebPage" lang="ja"><head><meta content="
    

    요약



    그래서 나쁜 것은 모두 Vivado에서 IO 연결 설정이었습니다.

    좋은 웹페이지 즐겨찾기