↧
Zynq UltraScale MPSoC Base TRD 2016.4 - Design Module 3
↧
PS and PL based Ethernet in Zynq MPSoC
...
Run petalinux-create command on the command console:petalinux-create -t project -s <path-to-bsp>
bash> cd
bash> petalinux-create
...
project -s 2.4.1.2 Configure petalinux
bash> mv xilinx-zcu102-2016.4 xapp1305_pl_eth_1g
↧
↧
Zynq UltraScale+ MPSoC USB 3.0 CDC Device Class Design
...
The gadget serial driver is a Linux USB gadget driver, a USB device side driver. It runs on a Linux system that has USB device side hardware; for example, a PDA, an embedded Linux system, or a PC with a USB development card. The gadget serial driver talks over USB to either a CDC ACM driver or a generic USB serial driver running on a host PC. On the device-side Linux system, the gadget serial driver looks like a serial device. On the host-side system, the gadget serial device looks like a CDC ACM compliant class device or a simple vendor specific device with bulk in and bulk out endpoints, and it is treated similarly to other serial devices.The host side driver can potentially be any ACM compliant driver or any driver that can talk to a device with a simple bulk in/out interface. With the gadget serial driver and the host side ACM or generic serial driver running, you should be able to communicate between the host and the gadget side systems as if they were connected by a serial cable.Configuring and building the Linux Operating System for Zynq Ultrascale + MPSoCFollow the PetaLinux SDK installation user guide in this document. Execute the steps till the PetaLinux Working Environment Setup section for installing PetaLinux SDK to your Linux machine.
...
PetaLinux project. After installing
...
–n <project_name> -s <path-to-bsp> commandAbove command will create a project with the user provided name under the PetaLinux installed directory. Change the directory to project directory which is created above. $ cd <project_name>
Configure the Linux source to support communication device class driver by executing PetaLinux command $ petalinux-config -c kernel
↧
xapp1305.jpg
Uploaded
↧
xapp1306.jpg
Uploaded
↧
↧
PS and PL based Ethernet in Zynq MPSoC
...
This DIrectory is refered as XAPP_HOME in rest of section. 2.2.1 xapp1305
{xapp1305.jpg}
2.2.2 xapp1306
2.3 PS MIO and PS EMIO Ethernet
2.3.1 PS MIO and PS EMIO Ethernet BSP installation
↧
PS and PL based Ethernet in Zynq MPSoC
...
After that add below lines to to <PROJ_DIR>\meta-user\recipes-fsbl\fsbl_%.bbapend file.SRC_URI += "\
"
This should have same name as the file present in <PROJ_DIR>\project-spec\meta-user\recipes-fsbl\fsbl\.
...
name is How to patch Device Tree in petalinux2016.4:
SRC_URI += "file://0001-fsbl-si570-clk-156MHz.patch"
↧
Zynq UltraScale MPSoC Base TRD 2016.3
...
Set boot mode according to your board and silicon revisionFor rev D with ES1 silicon: SW6[4:1] - on,off,on,off
...
SW6[4:1] - Configure USB 2.0 jumpers for host mode
J110: 2-3
↧
PS and PL based Ethernet in Zynq MPSoC
...
In my case, the patch name is 0001-fsbl-si570-clk.patch.How to patch Device Tree in petalinux2016.4:
Create PetaLinux BSP for PS-EMIO and PL Ethernet project
This section describes how to create PetaLinux BSP from scratch. It is assumed that PetaLinux environment is set properly.
NOTE : The instructions remain the same for both PL Ethernet and PS EMIO designs.
1 Create Ethernet project
bash> petalinux-create -t project -n <project-name>
bash> cd <project-name>
2 Sync HW description
petalinux-config --get-hw-description=<path-to-hw-description-hdf>
Set one of local directory as tmp directory of petalinux and Save the changes and exit.
SRC_URI += "file://0001-fsbl-si570-clk-156MHz.patch"
$XAPP_HOME/xapp1305-ps-pl-ethernet-based-solution
↧
↧
bsp_download.JPG
Uploaded
↧
petalinux_download.JPG
Uploaded
↧
Rev_D_dts.JPG
Uploaded
↧
Zynq UltraScale+MPSoC Graphics- GPU Profiling using ARM Streamline performance analyzer
Note:This page is under construction ,changes are expected !!!!
Document History
Date
...
Rajesh GugulothuInitial Release
2.0
Rajesh Gugulothu
Updated with 2016.4 tools Release and Added design
files to support zcu102 Rev-B/Rev-C/Rev-D ,Rev-1.0 boards
Implementation
Implementation Details
...
DDR controller,UART,SD/eMMC interface, USB 3.0,DisplayPortBoards/Tools
ZCU102 Rev-B/Rev-C/Rev-D,Rev-1.0
Xilinx Tools Version
SDK
Other Details
ARM® DS-5 Development Streamline performance analyzer
...
Below are the main topics which are covered in this tech tip :Executing the tech tip with prebuilt images.
...
building Linux Compiling & building gator module and gator daemon.
Installing ARM Streamline performance analyzer tool on windows machine.
...
This section helps how to execute this this tech tip using the prebuilt images supplied along with this tech tip.If you want to build all the images from the scratch then, skip this section.First of all install the performance analyzer tool by following the section "Installing ARM Streamline performance analyzer tool on windows machine " below.
...
extracted as Copy
Rev_1_0_Desing_Files - These images are for zcu102 Rev-1.0 board.
Rev_D_Desing_Files - These images are for zcu102 Rev-B/Rev-D/Rev-C boards.
According to the board, copy all
Do the board setup by following the "ZCU102 board setup" section below in this page.
Once board setup is done,follow the section "profiling an example graphics application " to execute the demo.
Compiling and building Linux with profiling options :
...
to compile...
the Petalinux BSP Creation
Kernel Configuration
...
Preparing the FSBLPreparing the BOOT.bin file
...
the Petalinux ...
the path {petalinux_download_1.PNG} Fig:Petalinux SDK Installer and
{petalinux_download.JPG} {bsp_download.JPG}
Note:Download the bsp based on the board you have.Download the ZCU102 BSP for Rev-B/Rev-C/Rev-D boards and ZCU102 ES2.0 Rev1.0 for Rev-1.0 board.
Install the Petalinux by running the above downloaded installer
...
. / Note: Refere
...
user guide$ source <Petalinux_installation_path>/settings.sh
After installation is done set the Petalinux environment by running below command in bash shell
...
$ echo $PETALINUXCreate the Petalinux project with the below command
...
downloaded zcu102 Change the directory to created Petalinux project and Apply the BSP settings as per the hardware definition
...
located at ...
the following Note:Find the system.hdf file in the design files directory according to the board revisions.
$ petalinux-config --oldconfig
Note: Find the rootfs configuration file at <Local_directory>/Desing_files/Rootfs_configuration/ directory.
Run the command shown below to configure the rootfs and save.
$petalinux-config -c rootfs
Filesystem Packages > libs> libmali-xlnx > libmali-xlnx
Filesystem Packages > libs > libmali-xlnx > libmali-xlnx-dev
Filesystem Packages > misc> packagegroup-petalinux-xlite > packagegroup-petalinux-x11
Filesystem Packages > misc > packagegroup-petalinux-xlite > packagegroup-petalinux-x11-dev
After enabling all the packages, save the
CONFIG_PRINTK_TIME=y
CONFIG_DEBUG_INFO=y
CONFIG_MAGIC_SYSRQ=y
CONFIG_FTRACE=y
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_GENERIC_TRACER=y
CONFIG_FUNCTION_TRACER=y
CONFIG_TRACING=y
CONFIG_ARM_MALI=y
CONFIG_MALI400_PROFILING=y
CONFIG_MALI400_INTERNAL_PROFILING=y
CONFIG_MALI_SHARED_INTERRUPTS=y
$ Petalinux-config –c kernel
Do the following device tree modifications.The device tree source files are at project location Xilinx-ZCU102-2016.3/subsystems/linux/configs/device-tree.
Edit pcw.dtsi
Add the
&xilinx_drm {
status = "okay";
};
&xlnx_dp_sub {
status = "okay";
xlnx,vid-clk-pl;
};
And add the following line to &xlnx_dp section:
phy-names = "dp-phy0", "dp-phy1";
phys = <&lane1 5 0 3 27000000>, <&lane0 5 1 3 27000000>;
and after update it will be as follows:
&xlnx_dp {
phy-names = "dp-phy0", "dp-phy1";
phys = <&lane1 5 0 3 27000000>, <&lane0 5 1 3 27000000>;
status = "okay";
};
Edit and change the section of zynqmp-clk.dtsi as follows
&xilinx_drm {
clocks = <&drm_clock>;
};
with
&xilinx_drm {
clocks = <&si570_1>;
};
Edit zynqmp.dtsi set status=”okay” for xilinx_drm, xlnx_dp, sections with xilinx_dp_snd_ and Xilinx_dpdma
{Rev_D_dts.JPG}
Once the above changes are done, build the petalinux project.
$ Petalinux-build
...
under the Create BOOT.bin
...
created under $ Petalinux-package --boot --fsbl
Copy the BOOT.BIN,image.ub files on to a SD card.
x-Compiling & building gator module and gator daemon:Compiling & building gator module and gator daemon:
This section explains about how to compile & build gator kernel module and daemon.
Clone the
https://github.com/ARM-software/gator
change the directory to daemon directory under the Gator source and run the below command to build the gator daemon.
...
$bash$ export CROSS_COMPILE=<petalinux_installed_directory>/tools/linux-i386/aarch64-linux-gnu/bin/aarch64-linux-gnu-
$ GATOR_WITH_MALI_SUPPORT=MALI_4xx
...
in above After executing the above
Now copy the above built gatord and gator.ko files on to the SD card( The once which used above to copy the BOOT.bin,image.ub images).
Make sure that below listed images are present on the SD card and use this for executing the demo.
...
gatordgator.ko
...
from the Installing ARM Streamline performance analyzer tool on windows machine :
In this section goes through the procedure for installing streamline performance analyzer tool on windows machine.
Note:This tech tip assumes host machine as windows 64-bit.
...
windows host ...
this installation.Note:Install the Latest ARM DS-5 5.26.2 version.
Follow the below link to set the tool for 30 days evaluation license.
https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/getting-started-with-ds-5-development-studio
...
Appendix A:File Description in Design directoryARM_Streamline_performance_analyzer.zip is extracted as
HDF:
HDF_File: contains hardware description file
Rootfs_configuration: contains root filesystem configuration file
Prebuilt_images
Prebuilt_SD_Images
BOOT.BIN
image.ub
gatord
gator.ko
tri_cube
Rev_D_Desing_Files
HDF_File: contains hardware description file
Prebuilt_SD_Images
BOOT.BIN
image.ub
garord
gator.ko
tri_cube
↧
↧
Zynq UltraScale+MPSoC Graphics- GPU Profiling using ARM Streamline performance analyzer
...
Rev_1_0_Desing_Files - These images are for zcu102 Rev-1.0 board.Rev_D_Desing_Files - These images are for zcu102 Rev-B/Rev-D/Rev-C boards.
...
board, copy Do the board setup by following the "ZCU102 board setup" section below in this page.
Once board setup is done,follow the section "profiling an example graphics application " to execute the demo.
↧
Zynq UltraScale+MPSoC Graphics- GPU application debugging using ARM Mali Graphics Debugger tool
Note:This page is under construction ,changes are expected !!!!
Document History
Date
...
Executing the tech tip with prebuilt images.Installing ARM Mali graphics debugger tool on windows-64 bit machine.
...
building Linux Debugging an example graphics application.
Requirements:
...
Executing the tech tip with prebuilt images:This section helps how to execute this this tech tip using the prebuilt images supplied along with this tech tip.If you want to build all the images from the source then, skip this section.
...
extracted as copy all the files under
Rev_1_0_Desing_Files - These images are for zcu102 Rev-1.0 board.
Rev_D_Desing_Files - These images are for zcu102 Rev-B/Rev-D/Rev-C boards.
According to the
Now copy the Mali Interceptor libraries and the Mali debugger daemons on to the SD card from the Mali installation directory of windows host machine.
Find the libinterceptor.so, mgddemon files under the path C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v3.3.0\target\linux\arm64 of host machine and copy them on to the SD card.
...
In this section we are going to explain step by step procedure for installing ARM Mali Graphics debugger tool on windows machine.As the host machine ( windows) and target boards are communicates through the Ethernet.Download the ARM DS-5 tool chain for windows-64 bit machine from ARM Mali developer’s website. and install it on your windows host machine.ARM Mali Graphics debugger tool comes along with this installation.
Note:It is remanded to install ARM DS-5 5.26.2 version.
Follow the below link to set the tool for 30 days evaluation license.
https://developer.arm.com/products/software-development-tools/ds-5-development-studio/resources/tutorials/getting-started-with-ds-5-development-studio
...
This section goes through the procedure to compile and build the Linux with profiling option enabled.it covers the following topicsFollow the section "compiling and builidng Linux with profiling options" from the GPU profiling using ARM Streamline performance analyzer tech tip to build all the images and prepare the SD card.
...
the example...
tech tip.Now copy the Mali Interceptor libraries and the Mali debugger daemons on to the SD card from the Mali installation directory of windows host machine.
Find the libinterceptor.so, mgddemon files under the path C:\Program Files\ARM\Mali Developer Tools\Mali Graphics Debugger v3.3.0\target\linux\arm64 of host machine and copy them on to the SD card.
BOOT.BIN
image.ub
...
Set the Interceptor Libraries path.$LD_LIBRARY_PATH=/usr/malidebug/:
Start the Mali debugger daemon process in the background with the command
$ cd /usr/malidebug
...
{frame_analysis} Fig:Single Frame captureAppendix A:File Description in Design directoryGraphics_application_debugging.zip is extracted as
HDF:contains
HDF_File: contains hardware description file
Prebuilt_images
Prebuilt_SD_Images
BOOT.BIN
image.ub
gatord
gator.ko
tri_cube
Rev_D_Desing_Files
HDF_File: contains hardware description file
Prebuilt_SD_Images
BOOT.BIN
image.ub
garord
gator.ko
tri_cube
↧
Zynq UltraScale+MPSoC Graphics- GPU application debugging using ARM Mali Graphics Debugger tool
...
Rajesh GugulothuInitial Release
2.0
Rajesh Gugulothu
Updated with 2016.4 tools Release and Added design
files to support zcu102 Rev-B/Rev-C/Rev-D ,Rev-1.0 boards
Summary
Zynq® UltraScale+™ MPSoC delivers unprecedented levels of heterogeneous multi-processing and combines seven user programmable processors including Quad-coreARM® Cortex™-A53 Application Processing Unit (APU), Dual-core 32-bit ARM® Cortex™-R5 Real Time Processing Unit (RPU), and ARM® Mali™-400 MP2 Graphics Processing Unit (GPU). It is Industry’s First All Programmable Multi-Processor SoC delivering 5x system level performance-per-watt and any-to-any connectivity.
↧
Zynq UltraScale+ MPSoC Graphics - 3D Vehicle Model
Note:This page is under construction , changes are expected !!!
Document History
Date
Initial Release
2.0
Rajesh Gugulothu
Updated with 2016.4 tools Release and Added design
files to support zcu102 Rev-B/Rev-C/Rev-D ,Rev-1.0 boards
Summary:
Zynq® UltraScale+™ MPSoC delivers unprecedented levels of heterogeneous multi-processing and combines seven user programmable processors including Quad-core ARM® Cortex™-A53 Application Processing Unit (APU), Dual-core 32-bit ARM® Cortex™-R5 Real Time Processing Unit (RPU), and ARM® Mali™-400 MP2 Graphics Processing Unit (GPU). It is Industry’s First All Programmable Multi-Processor SoC delivering 5x system level performance-per-watt and any-to-any connectivity.
Note: If you want to build the complete software from the sources , skip this section and follow from the next section on wards.
ZCU102_Rev_C_D_Releas_1.0_3D_Graphics.zipZCU102_3D_Graphics.zip file andDesign_filesbelow directories
Design_files directory.
change the directory to <Extracted_local_dire>/Design_files/Prebuilt_images. This directory has 3D_Car_Demo.img disk image file which needs to be burn on to a 4GB or above SD card using windows or Linux machine.
For Windows machine users
Document History
Date
...
Rajesh GugulothuInitial Release
2.0
Rajesh Gugulothu
Updated with 2016.4 tools Release and Added design
files to support zcu102 Rev-B/Rev-C/Rev-D ,Rev-1.0 boards
Summary:
Zynq® UltraScale+™ MPSoC delivers unprecedented levels of heterogeneous multi-processing and combines seven user programmable processors including Quad-core ARM® Cortex™-A53 Application Processing Unit (APU), Dual-core 32-bit ARM® Cortex™-R5 Real Time Processing Unit (RPU), and ARM® Mali™-400 MP2 Graphics Processing Unit (GPU). It is Industry’s First All Programmable Multi-Processor SoC delivering 5x system level performance-per-watt and any-to-any connectivity.
...
The fastest way to execute the demo is using prebuild images supplied with this tech tip. This section explains step by step procedure to execute the demo with prebuilt images.Note: If you want to build the complete software from the sources , skip this section and follow from the next section on wards.
...
the supplied ...
extracted as Design_files directory.
change the directory to <Extracted_local_dire>/Design_files/Prebuilt_images. This directory has 3D_Car_Demo.img disk image file which needs to be burn on to a 4GB or above SD card using windows or Linux machine.
For Windows machine users
↧
↧
Zynq UltraScale+ MPSoC Graphics - 3D Vehicle Model
...
The fastest way to execute the demo is using prebuild images supplied with this tech tip. This section explains step by step procedure to execute the demo with prebuilt images.Note: If you want to build the complete software from the sources , skip this section and follow from the next section on wards.
...
the supplied ...
extracted asDesign_files directory.
change the directory to <Extracted_local_dire>/Design_files/Prebuilt_images. This directory
Rev_1_0_Desing_Files -It has
For Windows machine users
Download the Win32DiskImage and follow the steps to install it.
Burn 3D_Car_Demo.img image using the Win32 disk Image writer, as described below
Insert the SD in to the windows machine.
Open Win32 Disk Imager.
{win32.PNG} Fig: Wind32DiskImager
Browse the path to 3D_Car_Demo_GPU.img file as shown in figure as Step 1.
Under Device (2nd step) select the SD card partition (This
Rev_D_Desing_Files-It has
Step 3 select the option to write to SD card selected in Device option.It will take time, wait
For Linux machine user:
Using DD command Insert SD
OSG_Files-It has OSG prebuilt binaries and card
Connect
Copy the
Execute dmesg command .The last lines of the “dmesg” output should tell you under which device file the inserted SD card is available in the system.
Note: The following steps will use '/dev/sdX' to refer to the SD card device. Replace this with the actual device
Type following DD command to write to 3D_Car_Demo.img in
dd if=<path to 3D_Car_Demo.img> of=</dev/sdX>
3. setup
Boot the
Once the board boots up, login username and
mount the SD card
4. Follow
$mount /dev/mmcblk0p1 /media
$cp lib.tar.gz bin.tar.gz run_osg F612_mod.osg
5. Change the directory to /home/root/prebuit_osg directory and below command to run a OSG based 3D card model.
$ ./run_osg.sh
...
This section walks through the step by step procedure to build the OSG source for Zynq® UltraScale+™ MPSoC target on Linux host machine.And also has the procedure to build the Linux images ,preparing the SD card for execution.Procedure to compile and build OSG:
1.Download the
2.Create a directory ( Example : Rootfs ) and go to that directory to extract the root.cpio file using below command.
$cd <Local_directroy_path>Rootfs
...
4.Replace the line " #ifndef HAVE_BOOLEAN " with #ifdef HAVE_BOOLEAN in the <extracted OSG source directory>/src/osgPlugins/jpeg/ReaderWriterJPEG.cppAppendix B:File Description in Design directory
Design_files
BOOT
Rev_1_0_Desing_Files
BOOT.bin: Boot-able image
image.ub: kernel image and Device tree blob
HDF:contains hardware description file
configure.sh: OSG configuration file
Prebuilt_images
3D_Car_Demo.img: Complete disk
BOOT.bin: Boot-able image
image.ub: kernel image and Device tree blob
OSG_Files
lib.tar.gz: osg libraries
bin.tar.gz: osg binaries
F612_mod.osg:osg card model
↧
PS and PL based Ethernet in Zynq MPSoC
...
Navigate to hardware/vivado/scripts/pl_eth_10g for PL Ethernet 10G BASE-R design$ vivado -source pl_eth_10g_top.tcl
{pl_eth_10g_1.JPG}
3. In the Flow Navigator panel, click on 'Generate Bitstream' to implement the design and get a bitstream.
...
4. On completion of bitstream generation, open the implemented design (see below Figure).{pl_eth_10g_3.JPG}
5. Click On File --> Export-->Export hardware to SDK ( see below Image)
{pl_eth_10g_4.JPG}
6. Choose "Include bitstream" option, and click OK.
{pl_eth_10g_8.JPG}
↧
PS and PL based Ethernet in Zynq MPSoC
...
Navigate to hardware/vivado/scripts/pl_eth_10g for PL Ethernet 10G BASE-R design$ vivado -source pl_eth_10g_top.tcl
{pl_eth_10g_1.JPG}
3. In the Flow Navigator panel, click on 'Generate Bitstream' to implement the design and get a bitstream.
↧