KV260 응용 프로그램 개발 방법 (1)
1. 시작
지난번 KV260
SmartCamera
에서 앱 시연을 시작해 봤기 때문에 다음에 오리지널 앱을 어떻게 개발해야 할지 궁금하다.Xilinx가 다음과 같은 개발 절차를 제시했기 때문에 이번에는 그 절차에 따라 보고 싶습니다.
2. 준비
여기서부터 개발환경
Vitis2021.1
을 기반으로 이슈를 추진하기 때문에 미리 설치해뒀다.PetaLinux2021.1도 미리 설치한다.
다음은 Giithub에서 KV260의 참고 디자인을 다운로드합니다.
이번에는 이 참고 디자인을 참고해서 확인해 봅시다.
$ git clone --recursive https://github.com/Xilinx/kv260-vitis.git
Vitis를 읽는 환경$ source /tools/Xilinx/Vitis/2021.1/settings64.sh
3. 하드웨어 플랫폼의 제작
하드웨어 플랫폼을 만듭니다.개발 프로세스맵의 왼쪽 상단에 해당하는 작업.
여기서 VIVADO의 하드웨어 설계에서 VITIS로 가져온 XSA(Xilinx Support Archive) 파일을 생성합니다.
이번엔 해보고 싶어
SmartCamera
.SmartCamera
하드웨어 설계가 있는 디렉터리로 이동합니다.$ kv260-vitis/platforms/vivado/kv260_ispMipiRx_vcu_DP
Vivado 프로젝트를 구축하고 XSA 파일을 만듭니다.$ make xsa
처리가 완료된 후kv260-vitis/platforms/vivado/kv260_ispMipiRx_vcu_DP/project
kv260_ispMipiRx_vcu_DP.xsa
의 이름으로 XSA 파일을 생성합니다.kv260-vitis/platforms/vivado/kv260_ispMipiRx_vcu_DP/project
에서 kv260_ispMipiRx_vcu_DP.xpr
의 이름으로 VIVADO 프로젝트 파일을 생성하므로 하드웨어를 변경할 때 VIVADO를 통해 직접 편집하여 XSA 파일을 생성할 수도 있습니다.4. 응용 프로그램 플랫폼의 제작
다음은 Vitis 개발 환경의 응용 플랫폼을 제작한다.
참조 설계가 있는 디렉토리로 이동합니다.
$ cd kv260-vitis
응용 프로그램 플랫폼을 생성한다.$ make platform PFM=kv260_ispMipiRx_vcu_DP
구축 시 다음과 같은 오류가 발생합니다.ERROR: '2203260850' is an invalid argument. Please specify an integer value.
while executing
"rdi::set_property core_revision 2203260850 {component component_1}"
invoked from within
"set_property core_revision $Revision $core"
(file "run_ippack.tcl" line 1956)
INFO: [Common 17-206] Exiting Vivado at Sat Mar 26 08:50:50 2022...
ERROR: [IMPL 213-28] Failed to generate IP.
INFO: [HLS 200-111] Finished Command export_design CPU user time: 16.21 seconds. CPU system time: 1.38 seconds. Elapsed time: 18.78 seconds; current allocated memory: 1.067 GB.
command 'ap_source' returned error code
while executing
"source pp_pipeline_accel.tcl"
("uplevel" body line 1)
invoked from within
"uplevel \#0 [list source $arg] "
이 오류가 발생하면 Xilinx 도구에 패치를 적용해야 합니다.나의 환경
Vitis2021.1
이기 때문에 아래의 지령으로 패치한다.$ sudo cp y2k22_patch-1.2.zip /tools/Xilinx/
$ cd /tools/Xilinx/
$ sudo unzip y2k22_patch-1.2.zip
$ export LD_LIBRARY_PATH=$PWD/Vivado/2021.1/tps/lnx64/python-3.8.3/lib/
$ sudo Vivado/2021.1/tps/lnx64/python-3.8.3/bin/python3 y2k22_patch/patch.py
애플리케이션 플랫폼을 다시 생성합니다.$ make platform PFM=kv260_ispMipiRx_vcu_DP
처리가 순조롭게 끝났다kv260-vitis/platforms/xilinx_kv260_ispMipiRx_vcu_DP_202110_1
는 kv260_ispMipiRx_vcu_DP.xpfm
의 이름으로 응용 플랫폼 파일을 생성했다.5. 덮어쓰기를 플랫폼에 통합
응용 프로그램 플랫폼을 덮어쓸 기능을 통합합니다.
FPGA로 가속하는 기능이
XCLBIN
형태로 생성됩니다.가속을 실행하면 XCLBIN이 FPGA에 로드되고 실행됩니다.
참조 설계 디렉토리로 이동합니다.
$ cd kv260-vitis
컴파일링을 덮어쓰고 플랫폼에 통합합니다.$ make overlay OVERLAY=smartcam
처리가 완료되면 kv260-vitis/overlays/examples/smartcam/binary_container_1
이름이 dpu.xclbin
인 덮어쓰기 프로그램을 생성합니다.kv260-vitis/overlays/examples/smartcam/binary_container_1/link/int
에서 system.bit
라는 비트 파일을 생성했습니다.6.끝
이번에 KV260에서
SmartCamera
앱의 시연을 참고하여 오리지널 앱 개발의 플랫폼과 커버의 개발 절차를 확인하였다.다음에 Peta Linux 측의 절차를 살펴보겠습니다.
Reference
이 문제에 관하여(KV260 응용 프로그램 개발 방법 (1)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/youkou/articles/186ffcd2c87bc8텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)