标签:
This is step-by-step tutorial on how to build reference design for Analog Devices ADV7511 HDMI encoder used on ZedBoard with PetaLinux 2013.10. It will be mostly based on AD HDL reference design http://wiki.analog.com/resources/fpga/xilinx/kc705/adv7511 and AD Linux drivers wiki page http://wiki.analog.com/resources/tools-software/linux-drivers/platforms/zynq and Xilinx PetaLinux documentation http://www.wiki.xilinx.com/PetaLinux .
As of today, 25 May 2014, to create HDL design for ADV7511 from scratch, we have to use Vivado 2013.4, even though Vivado 2014.1 is already available. The reason is some changes in a Xilinx IP‘s (which I didn‘t had a chance to figure out yet) prevent HDL design from build/work properly.
cd c:/Projects/FPGA/hdl-master/library/axi_clkgen
source ./axi_clkgen_ip.tcl
After script finish, close created project and build the next. For ZedBoard we have build the next IP‘s:
cd c:/Projects/FPGA/hdl-master/projects/adv7511/zed/
source ./system_project.tcl
Script will create block design, run synthesis and implementation, generate bitstream and even export software to SDK(without opening it). This was the case on my system - everything went smoothly. We are done with Vivado and can close it.
We have to create HDL in Vivado 2013.4, but later we can import created project into Vivado 2014.1 and update it to use latest Xilinx IP‘s.
We are done with Xilinx SDK. You can close it.
petalinux-create -t project -n ZedBoard-HDMI
cd ~/Projects/ZedBoard-HDMI-petalinux_bsp/
petalinux-config --get-hw-description -p ../ZedBoard-HDMI/
cd ~/Projects/ZedBoard-HDMI/
rm -r hw-description
cd ~/Projects/
git clone https://github.com/analogdevicesinc/linux.git analogdevices-kernel
cd analogdevices-kernel/
git checkout xcomm_zynq
cd ~/Projects/
mkdir ~/Projects/ZedBoard-HDMI/components
mkdir ~/Projects/ZedBoard-HDMI/components/linux-kernel
cp -a analogdevices-kernel ~/Projects/ZedBoard-HDMI/components/linux-kernel/
cd ZedBoard-HDMI
petalinux-config
Build Petalinux project, create BOOT.BIN and copy it together with Linux image file ‘image.ub‘ on SD card:
petalinux-build
petalinux-package --boot --fsbl
../ZedBoard-HDMI-FSBL/Release/ZedBoard-HDMI-FSBL.elf --fpga
../ZedBoard-HDMI-HW/system_top.bit --uboot --force -o
images/linux/BOOT.BIN
...
[drm] Initialized drm 1.1.0 20060810
/analogdevices-kernel/drivers/gpu/drm/adi_axi_hdmi/axi_hdmi_drv.c:axi_hdmi_platform_probe[176]
platform 70e00000.axi_hdmi: Driver axi-hdmi requests probe deferral
...
adv7511-hdmi-snd adv7511_hdmi_snd.2: adv7511 <-> 75c00000.axi-spdif-tx mapping ok
...
zed-adau1761-snd zed_sound.3: adau-hifi <-> 77600000.axi-i2s mapping ok
...
Console: switching to colour frame buffer device 180x56
axi-hdmi 70e00000.axi_hdmi: fb0: frame buffer device
axi-hdmi 70e00000.axi_hdmi: registered panic notifier
[drm] Initialized axi_hdmi_drm 1.0.0 20120930 on minor 0
/analogdevices-kernel/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
ALSA device list:
#0: HDMI monitor
#1: ZED ADAU1761
Freeing unused kernel memory: 23356K (c062b000 - c1cfa000)
INIT: version 2.88 booting
Starting Bootlog daemon: bootlogd.
...
_____ _ _ _
| ___ \ | | | | (_)
| |_/ / ___ | |_ __ _ | | _ _ __ _ _ __ __
| __/ / _ \| __| / _` || | | || ‘_ \ | | | |\ \/ /
| | | __/| |_ | (_| || |____| || | | || |_| | > <
\_| \___| \__| \__,_|\_____/|_||_| |_| \__,_|/_/\_
PetaLinux v2013.10 (Yocto 1.4) ZedBoard ttyPS0
ZedBoard login: root
Password:
login[923]: root login on `ttyPS0‘
root@ZedBoard:~# ls /dev/fb0
/dev/fb0
root@ZedBoard:~# uname -a
Linux ZedBoard 3.14.0-g681a2d8-dirty #2 SMP PREEMPT Sun May 25 22:46:28 EDT 2014 armv7l GNU/Linux
root@ZedBoard:~#
[转载]HDMI on ZedBoard with Petalinux.
标签:
原文地址:http://www.cnblogs.com/blinkingstar/p/4337535.html