반응형

[보류]

 

Python 을 이용해서 ZYNQ 보드를 제어할 수 있다고 하길래 한 번 해본다.

오랜만에 vivado 를 다시 다뤄서 까먹은 내용이 많을 수 있다. 

+) smallpdf 의 pdf 번역 기능을 사용해서 진행했다.

 

튜토리얼(01PYNQ~~) 은 Ubuntu 실제 머신에서 진행한다고 하는데, 나는 가상 머신에서 한 번 돌려보도록 한다.

 

PYNQ 는 네트워크 포트를 기반으로 개발되고, HDMI 디스플레이 인터페이스는 없다.

 

또한, petalinux 및 linaro linux 를 이전에 경험 해 보고 오는것이 좋다고 권장하고 있다.

 

+) vivado 2018.3 버전은 PYNQ v2.4 구성 요소를 필요로 한다.

+) 사용하는 petalinux 버전은 2018.3이고, 이는 linaro linux 에서 사용한 petalinux 버전과 동일하다. 이전 튜토리얼들을 보면 알 수 있다. 물론, 셀러가 준 파일에 프로젝트가 그대로 담겨 있으니, 실행은 그걸로만 해도 상관 없겠다.

 

먼저, 프로젝트를 하나 생성한다.

프로젝트 이름은 zynq_run_pynq 로 지정해둔다.

이후 RTL 프로젝트, xc7z010clg400-1 설정까지 하고 프로젝트를 생성해 준다.

 

 

프로젝트 생성을 마쳤다.

이제 해야 할 것들:

UART 설정

USB 포트

이더넷

SD card

MDIO 설정 (이더넷 사용 시 MDIO 를 반드시 설정해야 하고, 설정하지 않으면 linux 실행시 phy 연결(아마 물리적 연결 정보인 듯 함) 상태 정보를 얻을 수 없어 네트워크 포트가 작동하지 않아 실패의 원인이 됨)

 

IP Generator 의 Create Block Design 으로 디자인을 하나 생성해 준다.

 

이후 diagram 탭에서 + 를 눌러 IP를 찾아준다. zynq 를 검색해 나오는 것을 선택한다(ZYNQ7 Processing System)

 

생성된 ZYNQ 를 더블클릭해 config 창에 들어간다.

 

PS-PL Config > General > FCLK_RESET0_N 해제

 

AXI Non Secure Enablement > GP Master AXI interface > M AXI GP0 interface 해제

 

Peripheral I/O Pins > Ethernet 0, USB 0, SD 0, UART 1 체크 > Ethernet 0 의 Enet0 을 선택해서 활성화 해 주기

 

MIO Config > Bank1 I/O Voltage > LVCMOS 1.8V

 

I/O peripherals > ENET0 > MDIO MIO 52 .. 53 선택

MDIO 최대화 해서 MIO 52, 53 도 보이게 하기 > ENET0 의 모든 속성의 Speed 를 Fast 로 변경

 

USB0 의 속성들의 Speed 를 모두 fast 로 설정

 

아래로 내려서 GPIO > GPIO MIO 를 선택하고 저것과 동일하게 체크해 준다.

46번 핀을 reset 핀과 공유한다는 의미니 reset 될 때 usb 도 reset 된다는 의미인 것 같다.

 

SD 0 > 속성들의 Speed 를 fast 로 설정 해 준다.

 

Clock Config > PL Fabric Clocks > FCLK_CLK0 해제

 

DDR Config > DDR Controller config > Memory Part 를 MT41J256M16 RE-125 로 설정 해 준다.

 

이후 OK를 눌러 나가 준다.

이런 상태가 되는데, 위의 초록색 바로 표시된 Run Block Automation 을 선택 해 준다.

 

OK를 눌러 준다.

 

그럼 이렇게 output  이 생기게 된다.

 

튜토리얼에서 이 두 과정을 해 줘서 최종 출력을 생성한다고 되어 있다. 그냥 창이 뜨면 일단 OK 눌러서 넘겨 준다.

 

이후 bitstream 을 생성 해 준다.

생성 되었다면 export 해 줄 차례이다.

좌상단 Files > Export > Export Hardware > include bitstream 체크

 

Export 가 끝나면 Launch SDK 를 클릭해 실행한다.

 

이후 우리가 생성한 bitstream 파일(.bit), system.hdf 가 필요하기 때문에 따로 저장해 둔다.

 

내 경우 경로는 다음과 같다.

C:\Users\admin\Desktop\vivado_pynq\znyq_run_pynq\znyq_run_pynq.sdk\design_1_wrapper_hw_platform_0

현재 프로젝트 경로의 sdk 폴더로 들어가면 나온다.

 


이후 petalinux 가 필요하다.

다른 튜토리얼 문서 petalinux 2018.3 ~~ 를 참고한다.

 

우분투에서 vivado 설치하기

Vivado 설치 안내

설치 준비

  1. 압축 해제
    • Vivado 압축 파일을 해제하기 전에, 해당 파일을 Ubuntu로 복사합니다.
  2. 사용자 및 그룹 설정
    •  명령어를 사용하여 소유자를 일반 사용자로 변경합니다.
    • 저장 폴더도 동일하게 설정합니다.

설치 과정

  • 이 부분은 petalinux 2018.3 설치와 유사합니다.
  1. Vivado 폴더로 이동
    • 압축 해제 후, Vivado 폴더로 이동합니다.
  2. 설치 실행
    • 파일을 찾아서, 터미널에서 다음 명령어를 입력합니다:

오류 처리

  • 첫 번째 설치 시 오류
    • 설치 중 Java 프로그램 권한 문제로 오류가 발생할 수 있습니다.
    • 오류 메시지에 따라 해당 파일의 경로를 찾아서, 다음 명령어로 실행 권한을 부여합니다:
  1. 재설치 시도
    • 권한을 부여한 후, 다시 명령어를 입력하여 설치를 진행합니다.

설치 경로

  • 기본적으로 설치 경로는 로 설정됩니다.

이 과정을 통해 Vivado를 성공적으로 설치할 수 있습니다.

 

라고 한다..만 아무리 봐도 petalinux 를 설치할 때 vivado 를 설치한 적은 없다

일단 가상 머신(나의 경우 virtualbox 를 사용해서 지금까지 진행해 왔다) 을 켜 준다.

petalinux 를 제대로 설치하기 위해서는 ubuntu 16.x 버전이 필요하다.(중요)

나는 기존에 헤딩하면서 테스트 해본 포스팅도 있으니 크게 설명은 하지 않겠다.

 

일단 6) ubuntu 에 vivado 설치하기는 잠시 넘어간다.

 

중간에 git checkout v2.4 를 통해서는 넘어가지 않아 image_v2.4 브랜치를 통해서 버전 변경함

근데 이거도 좀 이상해 보임

git checkout -b ZYBO-Z7 를 이용해서 브랜치 변경(버전은 변경하지는 못함, detached head 뜸)

 

wiki.qemu-project.org 를 wiki.qemu.org 로 변경해 줘야 동작함

 

하다 보니까 느낀 건데. petalinux 설치 부터 경로가 잘못 지정된 느낌이다

/opt 내부에 다 들어가야 하는데 안 들어가고 경로가 이상한 듯

반응형

+ Recent posts