News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TE0701_hdmi_tpg Project

Started by Fady, June 04, 2015, 10:32:07 AM

Previous topic - Next topic

Fady

Hi,

I'm using TRENZ TE0720 with vivado, SDK and Petalinux 2014.4. I want to test hdmi out on my board. so i connected the board to the screen using hdmi cable. I also downloaded TE0720-02.zip project from (http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs.html). Then i used these commands:
cd design/TE0720-02/TE0701_hdmi_tpg/
##Generates vivado project
vivado -mode batch -source make_project.tcl
##Executes Vivado flow until bitgen
vivado -mode batch -source run_one.tcl
##Generates BOOT images, if the Vivado flow has been executed
vivado -mode batch -source make_image.tcl
##Open Vivado and and then generate bitstream and export hardware to create .hdf file
vivado proj/hdmi_tpg.xpr

now how can i continue to test this reference project?
how to test design/TE0720-02/TE0701_hdmi_tpg/src/sw/hdmi_demo.elf

regards,

Antti Lukats

#1
the BOOT.BIN that is created should display a test pattern, and it should be possible to select the patterns from console.

Full C sources are currently not included with the design.

We have an upgraded, updated design that also includes VDMA and works as regular display with simple framebuffer.
This design most likely will supersede the testpattern only ref design.

http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs/d3/images/d4/SD/d5/hdmi_demo.html
this BOOT.bin does show splashscreen image that is loaded by FSBL

https://wiki.trenz-electronic.de/display/PD/HDMI+Design

There are some small things we need to do before the new design can be made available.

Currently ADV7511, VTC, TPG are initialized in FSBL, but the VDMA is not, for some reason the fsbl_bsp does want to include the axi vdma driver code, so as soon as we solve out we release.

Current version uses PINAPI, Arduino, and Bitlash SDK libraries ;) and this software needs a bit more work before release, that the reason the main c code for the hdmi tpg was not included in the first place.


Fady

hi,

thank u. i have tested both projects and it worked. :)
i also tested petalinux_hdmi_2014.4 project (http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs/d3/images/d4/SD/d5/petalinux_hdmi_2014.4.html) and it works well. thank u for providing these projects.
but when u will provide the vivado reference project for petalinux_hdmi_2014.4 if it is possible? 

thank u in advance,
best regards,

Antti Lukats

coming very soon

http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/ipcores/d2/2014.4.html

the small framebuffer adapter IP core is now separatly downloadable there

besides that only some code in FSBL and the hdmi_io are needed for the full desing (+ some xilinx ip)

Fady

hi,

now i have created and booted a petalinux image for  TE0701_hdmi_tpg (TE0720-02.zip project from http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs.html), from an sd card. i also tested a "hello world" application on my linux. then i copied hdmi_demo.elf to the sd card to test it, but i got

root@Linux_Cam_hdmi:~/tmp# ./hdmi_demo.elf                               
Illegal instruction 

how can i make it work

best regards,

Antti Lukats

Hi

the tpg ref design will be soon removed in favor to full design with framebuffer AND test pattern gen

https://wiki.trenz-electronic.de/display/PD/HDMI+Design
https://wiki.trenz-electronic.de/display/IP/AXIS_FB_Conv

hdmi_demo.elf was some standalone adv7511 init, not at all linux executable.

we will push the full hdmi ref design out asap, it should solve all the issues, there is no need in any drives or anything, all is taken care in FSBL, after that all hardware is initialized and ready to use



mark_8

Hi,

I try to build the project via Petalinux SDK 2014.4 on the way of generating the "Build System Image" a BOOT.bin for a SD card. I am following the step by "Petalinux step by step (ZYNQ) - without the use of BSP" on the following:

https://wiki.trenz-electronic.de/display/PD/Design+Flow

When I try to execute "petalinux-build" I got the failure:

INFO: Checking component...
INFO: Generating make files and build linux
INFO: Generating make files for the subcomponents of linux
INFO: Building linux
[INFO ] pre-build linux/rootfs/fwupgrade
[INFO ] pre-build linux/rootfs/peekpoke
[INFO ] pre-build linux/rootfs/uWeb
[INFO ] build linux/kernel
[INFO ] update linux/u-boot source
[INFO ] generate linux/u-boot configuration files
[INFO ] build linux/u-boot
[INFO ] build zynq_fsbl
[INFO ] build linux/rootfs/fwupgrade
[INFO ] build linux/rootfs/peekpoke
[INFO ] build linux/rootfs/uWeb
[INFO ] build kernel in-tree modules
[INFO ] modules linux/kernel
[INFO ] post-build linux/rootfs/fwupgrade
[INFO ] post-build linux/rootfs/peekpoke
[INFO ] post-build linux/rootfs/uWeb
[INFO ] pre-install linux/rootfs/fwupgrade
[INFO ] pre-install linux/rootfs/peekpoke
[INFO ] pre-install linux/rootfs/uWeb
[INFO ] install system.dtb
[INFO ] install linux/kernel
[INFO ] update linux/u-boot source
[INFO ] generate linux/u-boot configuration files
[INFO ] build linux/u-boot
[INFO ] install linux/u-boot
[INFO ] install sys_init
[INFO ] install linux/rootfs/fwupgrade
[INFO ] install linux/rootfs/peekpoke
[INFO ] install linux/rootfs/uWeb
[INFO ] install kernel in-tree modules
[INFO ] modules_install linux/kernel
[INFO ] post-install linux/rootfs/fwupgrade
[INFO ] post-install linux/rootfs/peekpoke
[INFO ] post-install linux/rootfs/uWeb
[INFO ] package rootfs.cpio to /home/mark/zynq_xilinx/Trenz/design/TE0720-02/TE0701_hdmi_tpg/proj_2/petalinux_2/images/linux
[INFO ] Update and install vmlinux image
[INFO ] vmlinux linux/kernel
[INFO ] install linux/kernel
[INFO ] package zImage
[INFO ] zImage linux/kernel
[INFO ] install linux/kernel
[INFO ] Failed to copy images to TFTPBOOT /tftpboot

How can I resolve this problem?  :(
My Ubuntu version 14.04.2 LTS

Oleksandr Kiyenko

Hi Mark,

If you mean this message
[INFO ] Failed to copy images to TFTPBOOT /tftpboot
you need to create /tftpboot folder and allow write to this folder to user
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot
It's not a critical error as this folder used only if you using network boot and have configured TFTP server for this folder.

Best regards
Oleksandr Kiyenko

mark_8

Hi,

I tried to make exactly your TE0701_hdmi_tpg Project on "TE0715" board and I 've successfully generated the bitstearm of the project. However, when I loaded the bit file to petalinux to build, the TE0715 board does not detect the BOOT.BIN file when the SD card is inserted. I am not really sure was that I did not create the petalinux files properly or I guess that is the SC0720 system controller does not work with TE0715 board?Would you please release a compatible SC controller for TE0715? or any possible reason?

Oleksandr Kiyenko

Hi Mark,

If your BOOT.BIN not working, you have some problem with project settings and/or FSBL. If you want to use HDMI with TE0715 you need to start from TE0715 reference project and add HDMI functionality.
You don't need TE0720 system controller in TE0715 project as this core hardcoded to this module.
You need:
- Add I2C connection to corresponding pins to see ADV7511 chip
- Change/add xdc file to connect video interface to correct TE0715 pins

Best Regards
Oleksandr  Kiyenko

mark_8

Hi,

I have build the petalinux following exactly the step for Petalinux step by step (ZYNQ) - without the use of BSP:
https://wiki.trenz-electronic.de/display/PD/Design+Flow

But the TE0715-05 board does not read the "boot.bin" from SD card? I build the zynq_fsbl.elf in the petalinux, and do I need to generate it in SDK for the FSBL? How to generate FSBL file correctly?


Antti Lukats

we have only had random success with FSBL generated by petalinux for reasons not clear.

so we mostly generate FSBL in SDK and not with petalinux

Fady

hello,

now i have downloaded and extracted TE0720-02-hdmi.zip project (http://www.trenz-electronic.de/de/download/d0/Trenz_Electronic/d1/TE0720-GigaZee/d2/reference_designs/d3/2014.4.html).
then i created the vivado project:
- vivado -mode batch -source make_project.tcl
-cd design/TE0720-02/TE0701_hdmi_tpg/
-vivado -mode batch -source run_one.tcl
after that i generated the bitsream and exported the hardware to create .hdf file with bitsream
then i created the fsbl using xsdk using the file provided in TE0720-02-hdmi/design/TE0720-02/src/sw/FSBL/
then i used petalinux to create boot image (boot.bin and uboot)
note: i have modified system-top.dts and included simple buffer in the kernel config
i copied the boot image to the sd card. the linux boots but i got no image on the screan.
any idea why? or if i did something wrong

thanks,
best regards,

Antti Lukats

for this design to work ALL video init must be done in the FSBL.. if that code is not present, nothing will happen on hdmi display

Fady

hi,

any help plz how to initialize all video in FSBL or if there is any doc that i can use.
my purpose at the end is to use linux to display a .pgm image, from the sd card, on the hdmi display.

best regards,

Antti Lukats

#15
Hi

the TE0720-02-hdmi.zip

includes a working project, at least it works here.

you have to use the .c files included for the FSBL

then when you add a bitmap image to BOOT.BIN it would be displayed in FSBL already, and you can also use it in uboot and linux

we are testing it one more time here, does your console show:


FSBL...
HDMI Init 720p60
ADV7511 Initialization          Done

Video TPG Version 0x06000000
VTC Enabled!

only if this init has completed, and the hardware design is correct and Jumper settings are correct something will be displayed on hdmi monitor




Antti Lukats

Hi

our test engineer did take the ZIP from public download, implemented the design, and it just worked. No issues.

https://wiki.trenz-electronic.de/display/PD/HDMI+Design

if you add a RGBA converted image at proper offset into BOOT.bin, then it will be displayed as splashcreen during FSBL startup.

mark_8

Hi,

The way I build on petalinux and generating "BOOT.bin" by SDK and still doesn't work. :(

How can I purely run all the process in SDK? Because, when I go my Vivdao File -> Export -> Export Hardware, and it just create a single *.hdf file. How can you build the "image.ub", "zynq_fsbl", and "u-boot.elf" without petalinux? I mean by SDK?

Fady

hi,

now it works. a pattern is displayed on the screen. i had a prob because i didn't define TE_VIDEO_INIT in te_fsbl_config.h. also i added adv7511_init and vtc_init to te_fsbl_hooks.c.
note: i have created the boot image and rootfs using Petalinux 2014.4
now i want to use linux to display an image (from the sd card-rootfs partition) on the screen..

best regards,

Fady

hi,

one more quest. how can i use Linux in this project to display an image (from SD card rootfs partition) on hdmi display.
on my sd card i have two partition: boot.bin and rootfs.

best regards

Antti Lukats

we have only provided full design for Linux Framebuffer, any drivers and tools that can use standard linux framebuffer will work. but we have not any demo at the moment.

baically if you can memcopy the image to 0x38000000 then it would be displayed


markh

Just a note: on our setup there are 40 seconds from "FPGA programming done" to the first serial console output. So it may appear that nothing is happening, but some software is just very busy!

There is no noticeable delay with a simple petalinux project that has no PL-side peripherals.

Mark

Antti Lukats

this could be that the adv i2c init in FSBL gets timeout on all calls?

markh

That is with a standard FSBL.
However... it's quite possible the FSBL is trying to communicate with something that isn't on the TE0715/TE0701 combination.