인프런 커뮤니티 질문&답변

공기정님의 프로필 이미지

작성한 질문수

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

WSL상에서 FPGA에 bitstream upload 하는 법 (usbpid 이용)

23.01.21 12:57 작성

·

1.6K

·

수정됨

2

https://github.com/dorssel/usbipd-win/releases 들어가서

usbipd-win_[버전].msi를 설치한다.

 

제대로 설치 안됐을 수도 있어 파워셀상에서 한번 더 설치한다.

winget install --interactive --exact dorssel.usbipd-win

[출처: https://learn.microsoft.com/ko-kr/windows/wsl/connect-usb]

 

그리고 WSL상에서

sudo apt install linux-tools-virtual hwdata
sudo update-alternatives --install /usr/local/bin/usbip usbip `ls /usr/lib/linux-tools/*/usbip | tail -n1` 20

[출처: https://choiseokwon.tistory.com/354]

 

전부 설치 완료되면 WSL은 일단 나가고 파워셀을 나갔다 다시 들어간다.

 

파워셀상에서

usbipd list 

하면

이게 뜬다 맨 왼쪽 BUSID를 주목한다. 3-1에 Serial이라고 써져있는거 보니 이거를 WSL에 연결하면 될 것 같다.

 

usbipd bind --force -b 3-1

3-1을 윈도우상에서 사용 중이면 연결이 안되기 때문에 bind명령을 통해 usbipd가 usb 장치를 먼저 점유하도록 한다.

 

usbipd wsl attach -b 3-1

attach 명령으로 3-1을 WSL에 연결한다.

 

제대로 연결 되었는지 확인하기 위해

usbipd list

맨 오른쪽에 STATE를 주목한다 Attached라고 써져있는 것을 보니 제대로 연결되었다

 

WSL에 다시 들어간다.

lsusb

Bus 001 Device 002에 제대로 잡힌 것을 볼 수 있다.

 

Vivado상에서 USB가 잡히는지 테스트 해본 결과

Hardware manager에서 [사용자 계정]에서는 USB가 안 잡히고 루트계정에서만 USB가 잡힌다.

그러므로 루트계정의 .bashrc도 수정해서 루트계정상에서 Vivado를 실행할 수 있도록 한다.

 

su

 

vi ~/.bashrc

vi 에디터에 들어가서

source /home/[사용자 계정]/tools/xilinx/Vivado/2022.2/settings64.sh 

 를 맨 밑에 추가해준다

vivado

실행하고

 

FPGA 1장의 예제로 테스트 해보았다.

Vivado에서 제대로 잘 잡히는지 Zybo에 업로드가 잘 되는지도 확인해본다.

잘 된다.

 

잘못된 정보 있으면 피드백 부탁드립니다. 감사합니다!

답변 3

1

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

2023. 01. 23. 14:31

피드백 드릴꺼는 저도 모르는 내용인지라 없고요. 엄지척 드립니다.

 

와... 진짜 뭐죠...?

이거 진짜 해보고 싶었는데 ㅠㅠㅠ

너무너무 친절하게 적어주시고 감사합니다.

시간내서 꼭 해보겠습니다. 진심으로 감사드립니다.

 

공기정님의 프로필 이미지
공기정
질문자

2023. 01. 23. 22:23

대학교 3학년 제게 RTL설계를 위한 시야를 넓혀주신

설계독학맛비님께 더 감사드립니다. 더 열심히 하겠습니다!! ㅎㅎㅎ

요즈음 날씨가 많이 추워진다고 하니 건강 유의하시기 바라고 행복하십쇼!!

0

Byeong Gwan님의 프로필 이미지

2024. 04. 08. 22:22

vivado sudo에서 대해서 하나 말씀드리면, Install Cable Drivers (Linux Only) - Digilent Reference

wsl내에서 xilinx 케이블 드라이버 설치하면 sudo 없이도 hardware manager에서 디바이스가 잡힙니다.

udev룰이 없어서 sudo말고는 다른 유저에게는 권한을 막은 것이 원인으로 보입니다.

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

2024. 04. 10. 18:40

오...???! 리눅스 전용 driver 가 있었군요.

꿀팁 공유 감사합니다 !!

0

공기정님의 프로필 이미지
공기정
질문자

2023. 01. 24. 16:06

Vitis에서도 테스트 해보았습니다. 일단 chapter 10의 예제로 돌려보았습니다.

imagemake 프로그램이 설치가 안되었다고 해서 빌드가 안됩니다 그래서

sudo apt install make-guile

그냥 make도 있지만

"make-Guile는 Lisp의 발전된 문법인 Scheme을 기반으로 한 고수준의 일반 목적 프로그래밍 언어 및 인터프리터입니다. 그는 응용 프로그램의 일부분으로 사용되어 작업을 자동화하고, 스크립트로도 사용될 수 있습니다."

그래서 뭔지 모르겠지만 그냥 make-guile로 깔았습니다.

imagevitis에서도 잘 동작합니다 ㅎㅎ

 

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

2023. 01. 25. 15:47

오 그렇군요.

제가 보았을때는 wsl 의 vitis/vivado 에서는 저보다 훨씬 전문가십니다.

매번 이렇게 기록으로 남겨주셔서, 진심으로 정말정말 감사드립니다.

새해 복 많이 받으세요 :)