본문 바로가기

전체 글46

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.
3. U-BOOT 빌드하기 1. u-boot-xlnx 를 다운로드 ~/trenz_demo$ git clone https://github.com/Xilinx/u-boot-xlnx.git 2. arch/arm/dts/zynq-zynqberry.dts 만들기 u-boot에 주변 하드웨어를 알려 줄 수 있는 디바이스 트리를 설계해야 한다. /* * TrenzElectronic TE0720 board DTS * * Copyright (C) 2011 - 2015 Xilinx * * SPDX-License-Identifier:GPL-2.0+ */ /dts-v1/; #include "zynq-7000.dtsi" / { model = "TrenzElectronic TE0726-03M ZynqBerry"; compatible = "xlnx,zynq.. 2022. 5. 7.