KV260 응용 프로그램 개발 방법 (1)

7463 단어 FPGAXilinxvvastech

1. 시작


지난번 KV260SmartCamera에서 앱 시연을 시작해 봤기 때문에 다음에 오리지널 앱을 어떻게 개발해야 할지 궁금하다.
Xilinx가 다음과 같은 개발 절차를 제시했기 때문에 이번에는 그 절차에 따라 보고 싶습니다.

2. 준비


여기서부터 개발환경Vitis2021.1을 기반으로 이슈를 추진하기 때문에 미리 설치해뒀다.
https://zenn.dev/youkou/articles/ef516373db9b55
PetaLinux2021.1도 미리 설치한다.
https://zenn.dev/youkou/articles/623f166387918e
다음은 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 도구에 패치를 적용해야 합니다.
https://support.xilinx.com/s/article/76960?language=ja
나의 환경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_1kv260_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 측의 절차를 살펴보겠습니다.

좋은 웹페이지 즐겨찾기