본문 바로가기

Xilinx SoC20

[Linux+HDMI](0)개요 미려한 유저 인터페이스 화면 표시를 하기 위해 임베디드 리눅스에서 HDMI 출력할 수 있어야 한다. 이를 위해 하드웨어 설계, 디바이스 트리, 리눅스 커널에 이르기까지 조치가 필요하다. 타겟 보드 : Zybo Z7 10보드 Vivado 하드웨어 설계 파일 : https://github.com/Digilent/Zybo-Z7-10-base-linux.gi 리눅스 커널 : https://github.com/Digilent/linux-digilent.git 루트파일 시스템 : Linaro Vivado 하드웨어는 Digilent IP를 이용한다.(dynamic Clock, RGB to DVI) Vivado 하드웨어를 Linux에서 사용할 수 있도록 Device Tree Blob을 준비한다. SD카드에서 부팅하도록.. 2022. 7. 3.
6.리눅스 디바이스 트리 파일 만들기 SD카드에 넣을 리눅스용 디바이스 트리 파일을 준비한다. Vivado에서 생성한 BitStream 파일에서 디바이스 트리를 추출한다. 이를 위해 device-tree-xlnx를 Xilinx Github에서 다운받아 Vitis 레포지토리에 등록해야 한다. $git clone https://github.com/Xilinx/device-tree-xlnx.git Vitis Xilinx>>Repositories Preferences >> Xilinx >> Software Repositories >> Local Repositories New Add device-tree-xlnx 폴더 Vitis에서 Xilinx>>Generate Device Tree Generate 실행하면, 아래 파일이 생성된다. zynq-7000.. 2022. 5. 7.
2-1. Vitis 프로젝트 소스 수정하기 2장에서 FSBL 어플리케이션 프로젝트를 2개 만들었다. Zynqberry 보드는 부트 모드를 선택할 수 없다. 전원이 켜지면, QSPI로 부팅하려고 한다. Flash에 부트를 설치하려면, 강제적으로 JTAG 부트해야 한다. 이를 위해 JTAG용 FSBL을 만들 필요가 있다. src/main.c를 수정한다. /* * Read bootmode register */ BootModeRegister = Xil_In32(BOOT_MODE_REG); BootModeRegister &= BOOT_MODES_MASK; /* * Read bootmode register */ BootModeRegister = Xil_In32(BOOT_MODE_REG); BootModeRegister &= BOOT_MODES_MASK; B.. 2022. 5. 7.
4. BOOT.BIN 만들고, Program Flash 하기 Vitis로 돌아간다. Xilinx >> Create Boot Image Create Image를 누르면 아래와 같이 성공 메시지 확인할 수 있다. bootgen -image zynq_fsbl_system.bif -arch zynq -o /home/dovob/trenz_demo/boot/BOOT.bin ****** Xilinx Bootgen v2020.2 **** Build date : Nov 18 2020-09:50:31 ** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved. [INFO] : Bootimage generated successfully Zynqberry Program Flash 하기. Image File에 아까 만든 BOOT.bin을 선택한다.. 2022. 5. 7.