top of page

Search Results

464 items found for ""

  • Breaking Down a Bitbake Line: The 'do_compile' Step for Xilinx Linux with petalinux-build

    This post shows a single line of bitbake output decoded, specifically the do_compile step of the Xilinx Linux kernel as started via petalinux-build. A Single Line of Bitbake Output 0: linux-xlnx-6.1.5-xilinx-v2023.1+gitAUTOINC+716921b6d7-r0 do_compile - 1m43s (pid 412225) Decoded 0: This is the task number or ID. When you run bitbake, and it starts building various tasks, each task is assigned a unique ID. This makes identifying and tracking tasks easier, especially if you need to diagnose build issues. linux-xlnx-6.1.5-xilinx-v2023.1+gitAUTOINC+716921b6d7-r0: This is the name and version of the recipe being built. linux-xlnx: The recipe name. This indicates a Linux kernel recipe specifically tailored for Xilinx devices. 6.1.5: The base version of the Linux kernel being used. xilinx-v2023.1: A custom version tag; a Xilinx-specific revision based on the 2023.1 release. +gitAUTOINC+716921b6d7: A bitbake-specific suffix: gitAUTOINC: Indicates that the recipe fetches sources from a git repository, and the version is automatically determined from the latest commit. 716921b6d7: A shortened git commit hash; the exact commit from which the source was fetched. -r0: Revision number of the recipe. The number after -r denotes the revision. If the recipe is updated or patched, this number will increment. do_compile: This indicates the task being performed for the recipe. In Yocto/OpenEmbedded, the build process is divided into several tasks, such as fetching (do_fetch), patching (do_patch), configuring (do_configure), compiling (do_compile), installing (do_install), and packaging (do_package), among others. The do_compile task, is responsible for compiling the source code. - 1m43s: This is the time taken to complete the do_compile task or the time it has taken up to this point. In this case, it took 1 minute and 43 seconds. (pid 412225): This indicates the Process ID (PID) associated with the task. This is useful for debugging or tracking the task in the system's process list. Related bitbake linux-xlnx:do_listtasks do_assemble_fitimage do_assemble_fitimage_initramfs do_build Default task for a recipe - depends on all other normal tasks required to 'build' a recipe do_build_without_rm_work do_bundle_initramfs Combines an initial ramdisk image and kernel together to form a single image do_checkuri Validates the SRC_URI value do_clean Removes all output files for a target do_cleanall Removes all output files, shared state cache, and downloaded source files for a target do_cleansstate Removes all output files and shared state cache for a target do_compile Compiles the source in the compilation directory do_compile_kernelmodules Compiles loadable modules for the Linux kernel do_config_analysis do_configure Configures the source by enabling and disabling any build-time and configuration options for the software being built do_deploy Writes deployable output files to the deploy directory do_deploy_setscene Writes deployable output files to the deploy directory (setscene version) do_deploy_source_date_epoch do_deploy_source_date_epoch_setscene (setscene version) do_devshell Starts a shell with the environment set up for development/debugging do_diffconfig Compares the old and new config files after running do_menuconfig for the kernel do_fetch Fetches the source code do_install Copies files from the compilation directory to a holding area do_kernel_checkout Checks out source/meta branches for a linux-yocto style kernel do_kernel_configcheck Validates the kernel configuration for a linux-yocto style kernel do_kernel_configme Assembles the kernel configuration for a linux-yocto style kernel do_kernel_generate_rsa_keys do_kernel_link_images Creates a symbolic link in arch/$arch/boot for vmlinux and vmlinuz kernel images do_kernel_metadata do_kernel_version_sanity_check do_listtasks Lists all defined tasks for a target do_menuconfig Runs 'make menuconfig' for the kernel do_package Analyzes the content of the holding area and splits it into subsets based on available packages and files do_package_qa Runs QA checks on packaged files do_package_qa_setscene Runs QA checks on packaged files (setscene version) do_package_setscene Analyzes the content of the holding area and splits it into subsets based on available packages and files (setscene version) do_package_write_rpm Creates the actual RPM packages and places them in the Package Feed area do_package_write_rpm_setscene Creates the actual RPM packages and places them in the Package Feed area (setscene version) do_packagedata Creates package metadata used by the build system to generate the final packages do_packagedata_setscene Creates package metadata used by the build system to generate the final packages (setscene version) do_patch Locates patch files and applies them to the source code do_populate_lic Writes license information for the recipe that is collected later when the image is constructed do_populate_lic_setscene Writes license information for the recipe that is collected later when the image is constructed (setscene version) do_populate_sysroot Copies a subset of files installed by do_install into the sysroot in order to make them available to other recipes do_populate_sysroot_setscene Copies a subset of files installed by do_install into the sysroot in order to make them available to other recipes (setscene version) do_prepare_recipe_sysroot do_pydevshell Starts an interactive Python shell for development/debugging do_rm_work Removes work files after the build system has finished with them do_rm_work_all Top-level task for removing work files after the build system has finished with them do_savedefconfig Creates a minimal Linux kernel configuration file do_shared_workdir do_shared_workdir_setscene (setscene version) do_sizecheck Checks the size of the kernel image against KERNEL_IMAGE_MAXSIZE (if set) do_strip Strips unneeded sections out of the Linux kernel image do_symlink_kernsrc do_transform_kernel do_uboot_assemble_fitimage do_uboot_generate_rsa_keys do_unpack Unpacks the source code into a working directory do_validate_branches Ensures that the source/meta branches are on the locations specified by their SRCREV values for a linux-yocto style kernel Per https://www.yoctoproject.org/logos-and-guidelines/ the "Yocto Project and all related marks and logos are trademarks of The Linux Foundation. This website is not, in any way, endorsed by the Yocto Project or The Linux Foundation."

  • Booting U-Boot via JTAG with PetaLinux Tools – Commands and Logs for Verifying a Functional System

    For those working with AMD embedded systems, especially those harnessing the power of Zynq UltraScale+ MPSoC, booting your system correctly is crucial. A useful approach? Utilizing JTAG to boot U-Boot via PetaLinux Tools. In this post, I'll show the command for JTAG booting and list its inner workings. Whether you're troubleshooting issues or keen on executing commands step-by-step, this post should help. Booting U-Boot via JTAG with PetaLinux Tools petalinux-boot --jtag --fpga --u-boot --hw_server-url TCP:localhost:3121 --verbose [INFO] Sourcing buildtools INFO: Use bitstream: "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.bit. INFO: Please use --fpga --bitstream to specify a bitstream if you want to use other bitstream. XSDB Script: connect -url TCP:localhost:3121 for {set i 0} {$i < 20} {incr i} { if { [ta] != "" } break; after 50 } puts stderr "INFO: Configuring the FPGA..." puts stderr "INFO: Downloading bitstream: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.bit to the target." fpga "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.bit" targets -set -nocase -filter {name =~ "*PSU*"} mask_write 0xFFCA0038 0x1C0 0x1C0 targets -set -nocase -filter {name =~ "*MicroBlaze PMU*"} if { [string first "Stopped" [state]] != 0 } { stop } puts stderr "INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/pmufw.elf to the target." dow "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/pmufw.elf" con targets -set -nocase -filter {name =~ "*A53*#0"} rst -processor -clear-registers source /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/project-spec/hw-description/psu_init.tcl puts stderr "INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/zynqmp_fsbl.elf to the target." dow "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/zynqmp_fsbl.elf" con after 4000 stop psu_ps_pl_isolation_removal; psu_ps_pl_reset_config puts stderr "INFO: Loading image: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.dtb at 0x00100000" dow -data "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.dtb" 0x00100000 puts stderr "INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/u-boot.elf to the target." dow "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/u-boot.elf" puts stderr "INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/bl31.elf to the target." dow "/home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/bl31.elf" con exit INFO: Launching XSDB for file download and boot. INFO: This may take a few minutes, depending on the size of your image. rlwrap: warning: your $TERM is 'xterm-256color' but rlwrap couldn't find it in the terminfo database. Expect some problems.: Inappropriate ioctl for device INFO: Configuring the FPGA... INFO: Downloading bitstream: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.bit to the target. INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/pmufw.elf to the target. INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/zynqmp_fsbl.elf to the target. INFO: Loading image: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/system.dtb at 0x00100000 INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/u-boot.elf to the target. INFO: Downloading ELF file: /home/demouser/work/baseaddr/xilinx-zcu102-2023.1/images/linux/bl31.elf to the target. Other Useful References Output From 'print' print arch=arm baudrate=115200 board=zynqmp board_name=zcu102 board_rev=1.0 board_serial=881461172208-66530 boot_a_script=load ${devtype} ${devnum}:${distro_bootpart} ${scriptaddr} ${prefix}${script}; source ${scriptaddr} boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} $ {fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi boot_efi_bootmgr=if fdt addr -q ${fdt_addr_r}; then bootefi bootmgr ${fdt_addr_r};else bootefi bootmgr;fi boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}${boot_syslinux_conf} boot_net_usb_start=usb start boot_prefixes=/ /boot/ boot_script_dhcp=boot.scr.uimg boot_scripts=boot.scr.uimg boot.scr boot_syslinux_conf=extlinux/extlinux.conf boot_targets=jtag pxe dhcp jtag mmc0 mmc1 qspi0 nand0 usb0 usb1 scsi0 pxe dhcp bootcmd=run distro_bootcmd bootcmd_dhcp=devtype=dhcp; run boot_net_usb_start; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr -q ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladd r};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci; bootcmd_jtag=echo JTAG: Trying to boot script at ${scriptaddr} && source ${scriptaddr}; echo JTAG: SCRIPT FAILED: continuing...; bootcmd_mmc0=devnum=0; run mmc_boot bootcmd_mmc1=devnum=1; run mmc_boot bootcmd_nand0= nand info && nand read $scriptaddr $script_offset_f $script_size_f && echo NAND: Trying to boot script at ${scriptaddr} && source ${scriptaddr}; ec ho NAND: SCRIPT FAILED: continuing...; bootcmd_pxe=run boot_net_usb_start; dhcp; if pxe get; then pxe boot; fi bootcmd_qspi0=sf probe 0 0 0 && sf read $scriptaddr $script_offset_f $script_size_f && echo QSPI: Trying to boot script at ${scriptaddr} && source ${scriptaddr}; echo QSPI: SCRIPT FAILED: continuing...; bootcmd_scsi0=devnum=0; run scsi_boot bootcmd_usb0=devnum=0; run usb_boot bootcmd_usb1=devnum=1; run usb_boot bootcmd_usb_dfu0=setenv dfu_alt_info boot.scr ram $scriptaddr $script_size_f && dfu 0 ram 0 60 && echo DFU0: Trying to boot script at ${scriptaddr} && source ${sc riptaddr}; echo DFU0: SCRIPT FAILED: continuing...; bootcmd_usb_dfu1=setenv dfu_alt_info boot.scr ram $scriptaddr $script_size_f && dfu 1 ram 1 60 && echo DFU1: Trying to boot script at ${scriptaddr} && source ${sc riptaddr}; echo DFU1: SCRIPT FAILED: continuing...; bootcmd_usb_thor0=setenv dfu_alt_info boot.scr ram $scriptaddr $script_size_f && thordown 0 ram 0 && echo THOR0: Trying to boot script at ${scriptaddr} && source ${scriptaddr}; echo THOR0: SCRIPT FAILED: continuing...; bootcmd_usb_thor1=setenv dfu_alt_info boot.scr ram $scriptaddr $script_size_f && thordown 1 ram 1 && echo THOR1: Trying to boot script at ${scriptaddr} && source ${scriptaddr}; echo THOR1: SCRIPT FAILED: continuing...; bootdelay=2 bootm_low=0 bootm_size=7fe00000 cpu=armv8 distro_bootcmd=scsi_need_init=; for target in ${boot_targets}; do run bootcmd_${target}; done efi_dtb_prefixes=/ /dtb/ /dtb/current/ ethaddr=00:0a:35:07:8f:88 fdt_addr_r=0x40000000 fdt_size_r=0x400000 fdtcontroladdr=7bbf8dc0 fdtfile=xilinx/zynqmp-zcu102-rev1.0.dtb kernel_addr_r=0x18000000 kernel_comp_addr_r=0x30000000 kernel_comp_size=0x3C00000 kernel_size_r=0x10000000 load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile} loadaddr=0x8000000 mmc_boot=if mmc dev ${devnum}; then devtype=mmc; run scan_dev_for_boot_part; fi modeboot=jtagboot multiboot=0 preboot=run scsi_init;usb start pxefile_addr_r=0x10000000 ramdisk_addr_r=0x02100000 reset_reason=EXTERNAL sata_boot=if sata dev ${devnum}; then devtype=sata; run scan_dev_for_boot_part; fi scan_dev_for_boot=echo Scanning ${devtype} ${devnum}:${distro_bootpart}...; for prefix in ${boot_prefixes}; do run scan_dev_for_extlinux; run scan_dev_for_scripts; done;run scan_dev_for_efi; scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done; setenv devplist scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;run boot_efi_bootmgr;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${boot_syslinux_conf}; then echo Found ${prefix}${boot_syslinux_conf}; run boot_extlinux; echo EXTLINUX FAILED: continuing...; fi scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done script_offset_f=3e80000 script_size_f=0x80000 scriptaddr=20000000 scsi_boot=run scsi_init; if scsi dev ${devnum}; then devtype=scsi; run scan_dev_for_boot_part; fi scsi_init=if ${scsi_need_init}; then scsi_need_init=false; scsi scan; fi soc=zynqmp stderr=serial,vidconsole stdin=serial stdout=serial,vidconsole ubifs_boot=if ubi part ${bootubipart} ${bootubioff} && ubifsmount ubi0:${bootubivol}; then devtype=ubi; devnum=ubi0; bootfstype=ubifs; distro_bootpart=${bootubivol}; run scan_dev_for_boot; ubifsumount; fi usb_boot=usb start; if usb dev ${devnum}; then devtype=usb; run scan_dev_for_boot_part; fi vendor=xilinx Environment size: 6010/262139 bytes readelf -l Of Each ELF pmufw.elf ~/tools/amd/Vitis/2023.1/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-readelf -l ~/work/baseaddr/xilinx-zcu102-2023.1/images/linux/pmufw.elf Elf file type is EXEC (Executable file) Entry point 0xffdd1188 There are 3 program headers, starting at offset 52 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x0000a0 0xffdc0000 0xffdc0000 0x16cac 0x1a9e0 RWE 0x20 LOAD 0x016d4c 0xffdda9e0 0xffdda9e0 0x0091c 0x01920 RW 0x4 LOAD 0x017668 0xffddf6e0 0xffddf6e0 0x00400 0x00400 RW 0x4 Section to Segment mapping: Segment Sections... 00 .vectors.reset .vectors.sw_exception .vectors.interrupt .vectors.hw_exception .text .rodata .data .sdata2 .bss 01 .srdata .stack 02 .xpbr_serv_ext_tbl The ELF file is an executable that will start executing at 0xffdd1188. It has 3 segments 00, 01, 02. Segment 00 starts at file offset 0x0000a0 and is loaded at memory address 0xffdc0000. This segment has permissions to read, write, and execute. The segment contains the actual code (.text), read-only data (.rodata), and some initialized data (.data). Segment 01 starts at file offset 0x016d4c and is loaded at memory address 0xffdda9e0. This segment has permissions to read and write. The segment contains the stack (.stack). Etc. zynqmp_fsbl.elf ~/tools/amd/Vitis/2023.1/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-readelf -l ~ /work/baseaddr/xilinx-zcu102-2023.1/images/linux/zynqmp_fsbl.elf Elf file type is EXEC (Executable file) Entry point 0xfffc0000 There are 4 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000000200 0x00000000fffc0000 0x00000000fffc0000 0x00000000000202c8 0x0000000000026048 RWE 0x100 LOAD 0x0000000000000000 0x00000000fffe9e00 0x00000000fffe9e00 0x0000000000000000 0x0000000000000088 RW 0x8 LOAD 0x0000000000000000 0x00000000ffff0040 0x00000000ffff0040 0x0000000000000000 0x000000000000fc00 RW 0x40 NOTE 0x0000000000016894 0x00000000fffd6694 0x00000000fffd6694 0x0000000000000024 0x0000000000000024 R 0x4 Section to Segment mapping: Segment Sections... 00 .text .note.gnu.build-id .init .fini .rodata .sys_cfg_data .mmu_tbl0 .mmu_tbl1 .mmu_tbl2 .data .sbss .bss .heap .stack .dup_data 01 .handoff_params 02 .bitstream_buffer 03 .note.gnu.build-id u-boot.elf ~/tools/amd/Vitis/2023.1/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-readelf -l ~/work/baseaddr/xilinx-zcu102-2023.1/images/linux/u-boot.elf Elf file type is EXEC (Executable file) Entry point 0x10080000 There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000010000 0x0000000010080000 0x0000000010080000 0x0000000000158d90 0x0000000000158d90 RWE 0x10000 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 0x10 Section to Segment mapping: Segment Sections... 00 .text .efi_runtime .text_rest .rodata .hash .data .got .got.plt __u_boot_list .efi_runtime_rel .rela.dyn .bss_start .bss 01 bl31.elf ~/tools/amd/Vitis/2023.1/gnu/aarch64/lin/aarch64-linux/bin/aarch64-linux-gnu-readelf -l ~/work/baseaddr/xilinx-zcu102-2023.1/images/linux/bl31.elf Elf file type is EXEC (Executable file) Entry point 0xfffea000 There are 2 program headers, starting at offset 64 Program Headers: Type Offset VirtAddr PhysAddr FileSiz MemSiz Flags Align LOAD 0x0000000000000000 0x00000000fffe0000 0x00000000fffe0000 0x0000000000016092 0x000000000001e000 RWE 0x10000 GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 0x0000000000000000 RW 0x10 Section to Segment mapping: Segment Sections... 00 .text .rodata .data stacks .bss xlat_table coherent_ram 01 References Logo from https://library.amd.com/media/ (requires a password)

  • Decoding Vivado Design Tools Device Codes and Device Ordering Information

    This blog post lists pointers to help you understand Vivado Design Tools Device Codes and AMD Part Numbers, often called Vivado Part Numbers and Manufacturer Part Numbers. Specifically, we'll focus on one example from each category: the xcve2302-sfva784-1LP-e-S Vivado Design Tools Device Code and the XCVE2302-1LSESFVA784 Device Ordering Information. Vivado Design Tools Device Code aka Vivado Part Number: xcve2302-sfva784-1LP-e-S The complete definition of this Vivado Part Number can be found at https://www.xilinx.com/support/documents/data_sheets/ds957-versal-ai-core.pdf#page=7 The document clarifies that the Vivado design tools device selection code contains: Speed grade (-3, -2, -1) Operating voltages (HP, MP, MHP, MM, LP, LHP, LLI) Temperature grade (-i, -e, -m) Maximum static power screen (-S, -L) AMD Part Number: XCVE2302-1LSESFVA784 This Device Ordering Information can be decoded using the https://docs.xilinx.com/v/u/en-US/ds950-versal-overview#page=35. Here's a breakdown of the example given: XCVE2302-1LSESFVA784-ES9780 XC: Xilinx Commercial V: Versal E: AI Edge Series Value Index: 2302 1: Slowest Speed Grade L: Low (0.7V) S: Standard Static Screen E: Extended Temperature Grade S: 0.8mm Ball Pitch F: Lidded V: Pb-free Ball A784: Package Footprint In conclusion, understanding these codes can help ensure you use the right part in your Vivado design. We hope this guide simplifies your decoding process! References Logo from https://library.amd.com/media/ (requires a password)

  • Swift PetaLinux 2023.1 Installation on Ubuntu 22.04.1 Made Easy

    Slash installation time in half! Discover the essential packages and bash shell setup needed for seamless PetaLinux 2023.1 installation and execution on Ubuntu 22.04.1. Skip the trial and error – our concise guide shares precise steps, sparing you from multiple reinstallation attempts. Swift PetaLinux 2023.1 Installation on Ubuntu 22.04.1 Made Easy: Steps # Install missing packages before installing PetaLinux Tools: sudo apt-get update sudo apt-get install gawk sudo apt-get install gcc sudo apt-get install xterm autoconf libtool texinfo zlib1g-dev gcc-multilib build-essential sudo apt-get install zlib1g sudo apt-get install ncurses-bin sudo apt-get install ncurses-dev # Run the installer: ~/Xilinx_Unified_2023.1_0507_1903/xsetup # Before running PetaLinux, change the shell: sudo ln -sf bash /bin/sh # Reverse using: sudo ln -sf dash /bin/sh Note: You'll only need this once unless you reset it. # Test that PetaLinux 2023.1 Runs source ~/tools/amd/PetaLinux/2023.1/tool/settings.sh petalinux-create --help On Error On package error, run this to delete PetaLinux and try again: rm -rf /home/demouser/tools/amd/.xinstall/PetaLinux_2023.1/ rm -rf /home/demouser/tools/amd/PetaLinux/ References Logo from https://library.amd.com/media/ (requires a password)

  • Trenz Electronic TE0950-02-EGBE21A At-A-Glance

    Get a quick look at the Trenz Electronic TE0950-02-EGBE21A with our 'At-A-Glance' guide. Included: The specific Versal part A board system diagram A link to the schematic How to find the board rev ID Where the power jack is, the type of power jack, power requirements, and where to order a power supply A board rendering (3D) The assembly diagram Board dimensions Links to the original docs TE0950-02-EGBE21A Versal: VE2302 Versal AI Edge Series TE0950-02-EGBE21A System Diagram From: https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Development_Boards/TE0950/REV02/Documents/SCH-TE0950-02-EGBE21A.PDF [ cached ] Schematic https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Development_Boards/TE0950/REV02/Documents/SCH-TE0950-02-EGBE21A.PDF Parts Where is the Rev # on the TE0950-02-EGBE21A? Rev 2 in this case. Power (J16) Some Power Specs DC Output Connector: 2.1∅ x 5.5∅ x 11 mm Barrel Plug Output Power: 30 W Output Voltage-Channel 1: 12 V Output Current-Channel 1: 2.5 A Manufacturer: Mean Well Manufacturer's article number: GE30I12-P1J [ order ] [ spec ] [ cached spec ] And Plug US [ order ] https://shop.trenz-electronic.de/en/28169-Interchangeable-Plug-with-four-adapters-and-cable-12V/2.5A Ordering Example Cart Mouser #:709-ACPLUG-US Mfr. #:AC PLUG-US Mfr.:MEAN WELL Mouser #:709-GE30I12-P1J Mfr. #:GE30I12-P1J Mfr.:MEAN WELL TE0950-02-EGBE21A 3D TE0950-02-EGBE21A 3D Top From: https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Development_Boards/TE0950/REV02/Documents/3DT-TE0950-02-No%20Variations.PDF [ cached ] TE0950-02-EGBE21A 3D Bottom From: https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Development_Boards/TE0950/REV02/Documents/3DB-TE0950-02-No%20Variations.PDF [ cached ] TE0950-02-EGBE21A Assembly TE0950-02-EGBE21A Assembly Top TE0950-02-EGBE21A Assembly Bottom From: https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Development_Boards/TE0950/REV02/Documents/AD-TE0950-02-EGBE21A.PDF [ cached ] TE0950-02-EGBE21A Dimensions TE0950-02-EGBE21A Dimensions Top TE0950-02-EGBE21A Dimensions Bottom From: https://shop.trenz-electronic.de/trenzdownloads/Trenz_Electronic/Development_Boards/TE0950/REV02/Documents/DIM-TE0950-02-No%20Variations.PDF [ cached ] Additional Links Purchase & Description, Downloads, Resources @ https://shop.trenz-electronic.de/en/TE0950-02-EGBE21A-AMD-Versal-AI-Edge-Evalboard-with-VE2302-ES-device-8-GB-DDR4-SDRAM-15x12cm Online Docs @ https://wiki.trenz-electronic.de/display/PD/TE0950+Resources Logo from https://www.trenz-electronic.de/ Trenz Electronic TE0950-02-EGBE21A At-A-Glance

  • TE0950-02-EGBE21A Unboxing

    This post shows a TE0950-02-EGBE21A unboxing. The TE0950-02-EGBE21A is an "AMD VersalTM AI Edge Evalboard with VE2302 (ES) device, 8 GB DDR4 SDRAM, 15x12cm" sold by Trenz Electric from Germany. Buy your own at: https://shop.trenz-electronic.de/en/TE0950-02-EGBE21A-AMD-Versal-AI-Edge-Evalboard-with-VE2302-ES-device-8-GB-DDR4-SDRAM-15x12cm?c=256. TE0950-02-EGBE21A Unboxing Block Diagram from Trenz From: https://shop.trenz-electronic.de/en/TE0950-02-EGBE21A-AMD-Versal-AI-Edge-Evalboard-with-VE2302-ES-device-8-GB-DDR4-SDRAM-15x12cm?c=256 References AMD Logo https://library.amd.com/media

  • Add Vitis 2023.1 to an Existing Vivado Install

    This post shows step-by-step how to add Vitis 2023.1 to an existing Vivado install. It also contains links to all of the license agreements you'll need to agree to so you can view them outside of the installer. Notes Vivado was installed in this directory: ~/tools/amd/vivadoml/2023.1 We'll install Vitis to: ~/tools/amd/ This post is the continuation of: https://www.centennialsoftwaresolutions.com/post/install-2023-1-vivado-ml-enterprise-on-ubuntu-22-04-1 Requirements 209.28 GB disk needed Run the installer ~/Xilinx_Unified_2023.1_0507_1903/xsetup Select Vitis and click Next >. Leave the defaults selected and click Next >: Agree to all and click Next > Copies of the agreements End User License Agreement for Vitis https://docs.google.com/document/d/17T08wNEfwoogH36Hw1Z5MBJdVBfnqLTud07rKezp--4/edit?usp=drive_link End User License Agreement for Vivado https://docs.google.com/document/d/1xGPLXSnHc5D80wxQ0yP-cGj2Tfoqgx-Kcmm-zp4PYRQ/edit?usp=sharing End User License Agreement for DocNav https://docs.google.com/document/d/1VRF2rpShNnmFL9OGu-OjPLFfzX91MTtZKZwVcKxZHS8/edit?usp=sharing End User License Agreement for Model Composer https://docs.google.com/document/d/11C5P2pTDUT7V4B1hRV8BELkjp7wJ9cnVORsmqUrsP5c/edit?usp=sharing Third Party Software End User License Agreement for Vitis https://docs.google.com/document/d/1VMFxLCrALTJ4f7UEkSPEsmDozKVXl6Ew3jBI2KpW9BY/edit?usp=sharing Third Party Software End User License Agreement for DocNav https://docs.google.com/document/d/1JgLEJ1u_bJM_6JfMdY-7Yqagbn-gly9ixzn68DvixTM/edit?usp=sharing Third Party Software End User License Agreement for Vivado https://drive.google.com/file/d/1N18Gn5n0feV4S0vQtD56H0W5Q1dN0n86/view?usp=sharing Third Party Software End User License Agreement for Model Composer https://docs.google.com/document/d/1HeDiG3ArcRLYjK8cCxWNdWOFtBH2zG0w22PdidmVmtA/edit?usp=sharing Use /home/demouser/tools/amd as the installation directory, deselectoff Create program group entries, click Next > Click Install This took 41 minutes on my computer. Note the additional installation prompt and click OK Source the environment source ~/tools/amd/Vitis/2023.1/settings64.sh Run vitis vitis Note: If you see a small clipped window, close Vitis and relaunch it. Here's the IDE If you want to try and see the new IDE, click Yes Note: I clicked this and did not see the new IDE. This post showed how to add Vitis 2023.1 to an existing Vivado install. References Logo https://library.amd.com/media/?mediaId=84C3498C-1B51-4965-93729CC284CD2DC2

  • Resize a Virtual Machine Hard Disk in VMware Workstation 16 and Ubuntu 22.04.1 LTS

    This post shows step-by-step how to resize a Virtual Machine Hard Disk in VMware Workstation 16 and Ubuntu 22.04.1 LTS. Prereqs You'll need the sudo password in your Ubuntu install Expand the Disk in VMware Workstation 16 Launch VMware Workstation Pro Find the VM that needs a larger hard disk. Double-click the Hard Disk (SCSI) and click Expand... Increase the Maximum disk size (GB) and click Expand (this may take a moment - it took my computer 10 minutes). Click OK: Note: you may need to move the disk from, for example, C:\Users\Zach Pfeffer\Documents\Virtual Machines\vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01\vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01.vmdk to a disk with more room. See How to Permanently Mount an External Drive as a Folder on Windows 10 to ensure this location persists. Expand the Disk In Ubuntu Power on the virtual machine and boot Ubuntu completely Run disks Select the drive, select the partition, click the gear: Click Resize... Drag the slider to the right and click Resize Versions In PowerShell: Windows version: systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version" Output: OS Name: Microsoft Windows 10 Pro OS Version: 10.0.19045 N/A Build 19045 VMware Workstation version: Get-WmiObject -Class Win32_Product | where vendor -eq "VMware, Inc." | select Name, Version Output: Name Version ---- ------- VMware Workstation 16.2.4 In a terminal on Ubuntu: lsb_release -a Output: No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 22.04.1 LTS Release: 22.04 Codename: jammy This post showed how to resize a Virtual Machine Hard Disk in VMware Workstation 16 and Ubuntu 22.04.1 LTS. References VMware Workstation 16 Logo from: https://commons.wikimedia.org/wiki/File:Vmware_workstation_16_icon.svg

  • Upgrading a Lenovo P52 M.2 MZ-VLB1T0B 1TB SSD to a 2TB Samsung 970 EVO Plus MZ-V782T0

    This post covers upgrading a Lenovo P52 M.2 MZ-VLB1T0B 1TB SSD to a 2TB Samsung 970 EVO Plus MZ-V782T0, cloning the old disk to the new one, booting off the new one, and installing a second drive. It also lists links to Lenovo hardware maintenance documentation and links to a detailed listing of the P52. System Details https://www.zachpfeffer.com/single-post/2020/08/24/new-lenovo-p52-thinkpad-system-information Instructions for Hardware Drive Replacement Follow the instructions to replace "M.2 solid-state drive" FRU @ "1030 Storage drive" in ThinkPad P52 Hardware Maintenance Manual [link] FRU stands for "Field Replacement Unit," see https://support.lenovo.com/us/en/solutions/ht118572-what-is-a-field-replacement-unit-fru-service-part . The Drive Being Replaced We're replacing a Samsung MZVLB1T0HBLR-000L7 (MZ-VLB1T0B) https://semiconductor.samsung.com/us/ssd/pc-ssd/pm981a/mzvlb1t0hblr-00-00-07/ Specification Model: PM981a Interface: PCIe 3.0 x4 Form Factor: M.2 Capacity: 1 TB Sequential Read (128 KB): 3500 MB/s Sequential Write (128 KB): 3000 MB/s Random Read (4 KB): 580K IOPS Random Write (4 KB): 500K IOPS Product Status: Archived The Drive We're Installing ...with a Samsung SSD 970 EVO Plus Specs https://www.samsung.com/us/computing/memory-storage/solid-state-drives/ssd-970-evo-plus-nvme-m-2-2-tb-mz-v7s2t0b-am/#specs Model: MZ-V782T0 Type Product Type NVMe SSD Storage Type Internal Interface PCIe Gen 3.0 x4, NVMe 1.3 Read/Write Speeds 3,500/3,300 MB/s Usage Application Client PCs Series 970 EVO Plus Application Consumer Yes Storage Capacity 2,000GB (1GB=1 Billion byte by IDEMA) * Actual usable capacity may be less (due to formatting, partitioning, operating system, applications or otherwise) Key Features Sequential Read Speed (Same) Up to 3,500 MB/s * Performance may vary based on system hardware & configuration Sequential Write Speed (300 MB/s faster) Up to 3,300 MB/s * Performance may vary based on system hardware & configuration Random Read Speed Random Read (4KB, QD32): Up to 620,000 IOPS; Random Read (4KB, QD1): Up to 19,000 IOPS * Performance may vary based on system hardware & configuration Random Write Speed Random Write (4KB, QD32): Up to 560,000 IOPS; Random Write (4KB, QD1): Up to 62,000 IOPS * Performance may vary based on system hardware & configuration Controller In-house NAND Flash Samsung V-NAND 3-bit MLC Cache Memory Samsung 2GB Low Power DDR4 SDRAM Trim Support (TRIM support helps the operating system organize data efficiently) Supported AES Encryption (Types of software and hardware encryption that is supported) AES 256-bit Encryption (Class 0)TCG/Opal IEEE1667 (Encrypted drive) Security AES 256-bit Full Disk Encryption, TCG/Opal V2.0, Encrypted Drive (IEEE1667) S.M.A.R.T. Support (Self-Monitoring, Analysis and Reporting Technology is a monitoring system that help the drive detect errors and reports reliability issues) Supported GC (Garbage Collection) (GC is similar to TRIM support which helps the drive organize data) Auto Garbage Collection Algorithm WWN Support Not supported Device Sleep Mode Support Yes Internal Storage (Drive is situated inside the device) Samsung V-NAND 3-bit MLC Temperature proof Yes NVMe (NVMe (Non-Volatile Memory Express) is an open logical-device interface specification for accessing non-volatile storage media attached via PCI Express bus.) Yes Gaming SSDs Yes M.2 2280 Yes General Average Power Consumption (system level) (Average during normal operations of the device, Actual power consumption may vary depending on system hardware & configuration) *Average: 6 W*Maximum: 9 W (Burst mode)* Actual power consumption may vary depending on system hardware & configuration Power consumption (Idle) (Power consumption at an idle state) Max. 30 mW * Actual power consumption may vary depending on system hardware & configuration Voltage (Amount of power require to operate the device) 3.3 V ± 5 % Allowable voltage Reliability (MTBF) (Life span of the device measured in MTBF) 1.5 Million Hours Reliability (MTBF) Environmental Specs Operating Temperature 0 - 70 ℃ Operating Temperature Shock (The amount of force the device can sustain before serious damage is caused) 1,500 G & 0.5 ms (Half sine) Form Factor (The size, configuration or physical arrangement of drive) Product M.2 (2280) Dimensions (W x H x D) (The size, configuration or physical arrangement of drive) Product 3.16" x 0.87" x 0.09" Weight (The size, configuration or physical arrangement of drive) Product 0.3 oz. Software Management SW Magician Software for SSD management Warranty (The size, configuration or physical arrangement of drive) Product 5-Year Limited Warranty or: 1200 TBW Limited Warranty Unboxing Model: MZ-V782T0 Model Code: MZ-V7S2T0B/AM Installing # Remove the battery # Remove the cover # Make sure the drive is fully seated: # Reinstall the back cover and battery # Boot the computer # Make sure the drive shows up in the Device Manager (if you failed to seat it completly, it won't show up). Install the Support Tools https://semiconductor.samsung.com/consumer-storage/support/tools/ # Run the Samsung Migration tool # Update the Samsung tool to the latest version Do Data Migration From the Old Drive to the New # Close all applications # Clone # Clone progress # Boot from the new drive: Reboot, and press F12 during boot to enter the Windows Boot Manager: # Check the new drive in Windows Explorer # Check the drive in Samsung's tool: # Install the Second Drive Format The Second Drive # Open: Disk Management # Choose GPT MBR vs. GPT: Which Should You Use for Your SSD? https://www.makeuseof.com/tag/mbr-vs-gpt/#:~:text=MBR%20vs.%20GPT%3A%20Which%20Is,newer%20and%20more%20reliable%20standard. Should I use MBR or GPT when I intend to use both Ubuntu and Windows? https://askubuntu.com/questions/1364349/should-i-use-mbr-or-gpt-when-i-intend-to-use-both-ubuntu-and-windows#:~:text=Both%20Windows%20and%20Ubuntu%20support,sometimes%20get%20picky%20with%20MBR. Windows and GPT FAQ https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-and-gpt-faq?view=windows-11 # Right-click. select Done! This post covered upgrading a Lenovo P52 M.2 MZ-VLB1T0B 1TB SSD to a 2TB Samsung 970 EVO Plus MZ-V782T0. Issues that Popped Up Adobe Acrobat failed to start. After logging into Adobe's account manager via Adobe Acrobat, I had to "log off" my machine and log back on. I found this issue when I tried to create a PDF from Chrome, and I got an error message. I had to close and relaunch Chrome to fix it. References Lenovo icon clipped from https://www.lenovo.com/us/en/?orgRef=https%253A%252F%252Fwww.google.com%252F

  • Use ZC702 serial and JTAG in a VMWare Ubuntu 22.04.1 VM on VMware Workstation 16 Pro on Windows 10

    This post shows how to use ZC702 serial and JTAG in a VMWare Ubuntu 22.04.1 VM on VMware Workstation 16 Pro running on Windows 10. It shows how to apply a fix to the VM's VMX file to enable USB devices to connect to the VM, how to configure Minicom to talk to the serial port, and how to configure the ZC702 board to enable Vivado to connect to the JTAG port via USB. Related Posts Install Ubuntu 22.04.1 in VMware and Launch the Vivado 2023.1 Installer https://www.centennialsoftwaresolutions.com/post/install-ubuntu-22-04-1-in-vmware-and-launch-the-vivado-2023-1-installer Install 2023.1 Vivado ML Enterprise On Ubuntu 22.04.1 https://www.centennialsoftwaresolutions.com/post/install-2023-1-vivado-ml-enterprise-on-ubuntu-22-04-1 Run the Xilinx ZC702 Built-In Self-Test on Windows 10 https://www.centennialsoftwaresolutions.com/post/run-the-xilinx-zc702-built-in-self-test-on-windows-10 Check Versions # Get the Windows Version Windows systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List -Property 'OS Version' # OS Version : 10.0.19045 N/A Build 19045 $PSVersionTable # Name Value # ---- ----- # PSVersion 5.1.19041.2673 # PSEdition Desktop # PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} # BuildVersion 10.0.19041.2673 # CLRVersion 4.0.30319.42000 # WSManStackVersion 3.0 # PSRemotingProtocolVersion 2.3 # SerializationVersion 1.1.0.1 # Check VMWare Version # Version Summary Ubuntu 22.04.1 VMware® Workstation 16 Pro 16.2.4 build-20089737 Windows 10 PSVersion: 10.0.19041.2673 Edit VMX So USB Devices Can Connect to the VM # Locate the VMX file # Open "C:\Users\Zach Pfeffer\Documents\Virtual Machines\vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01\vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01.vmx" # Change: usb.restrictions.defaultAllow = "FALSE" To: usb.restrictions.defaultAllow = "TRUE" Connect The Serial Port # Attach a USB hub to your computer I used a Targus USB 3.0 4-port HUB model #: ACH124 (Avaialbe at https://www.amazon.com/Targus-4-Port-USB-3-0-ACH124US/dp/B00P937GQ4 ) # Power off the ZC702 # Connect a Mini-B USB cable to the JTAG module # Power on the ZC702 You should see: # Select Connect to a virtual machine, select the virtual machine, and click OK Set Up Minicom to Test the Serial Port) See this link for more explicit instructions: https://www.centennialsoftwaresolutions.com/post/configure-minicom-for-a-usb-to-serial-converter # Add demouser to dialout (use your username) sudo usermod -a -G dialout demouser # Log out and back in # Check tty sudo dmesg | grep ttyUSB You should see: [ 51.667710] usb 3-2: cp210x converter now attached to ttyUSB0 [ 627.308359] usb 3-4.1: FTDI USB Serial Device converter now attached to ttyUSB1 [ 627.309684] usb 3-4.1: FTDI USB Serial Device converter now attached to ttyUSB2 # Install sudo apt-get install minicom # Set up sudo minicom -s # Scroll to Serial port setup Use: A - Serial Device : /dev/ttyUSB0 B - Lockfile Location : /var/lock C - Callin Program : D - Callout Program : E - Bps/Par/Bits : 115200 8N1 F - Hardware Flow Control : No G - Software Flow Control : No H - RS485 Enable : No I - RS485 Rts On Send : No J - RS485 Rts After Send : No K - RS485 Rx During Tx : No L - RS485 Terminate Bus : No M - RS485 Delay Rts Before: 0 N - RS485 Delay Rts After : 0 # Select Save setup as dfl # Select Exit from Minicom # Run minicom # Press SW1 You should see: ******************************************************** ******************************************************** ** Xilinx Zynq-7000 AP SoC ZC702 Evaluation Kit ** ******************************************************** ******************************************************** Choose Feature to Test: 1: UART Test 2: LED Test 3: IIC Test 4: TIMER Test 5: SWITCH Test 6: SCUGIC Test 7: DCFG Test 8: DDR3 Memory Test 9: Interrupt Test A: Watchdog Timer Test 0: Exit Open Hardware Manager and Connect to JTAG # Run Vivado and click Open Hardware Manager If you see this, its likely that SW10 is not set correctly or is still in its default: # Turn off the ZC702 # Switch SW10 to: ...per: # Turn on the ZC702 # Connect the JTAG device to the VM You should see: Try readback_hw_device # In Vivado ... ...run: readback_hw_device -readback_file /home/demouser/bitstream.rbd -bin_file /home/demouser/bitstream.bin You should see: INFO: [Labtools 27-3158] Creating file: /home/demouser/bitstream.rbd INFO: [Labtools 27-3158] Creating file: /home/demouser/bitstream.bin The first part of bitstream.rbd: 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 00000000000000000000000000000000 This post has shown how to use ZC702 serial and JTAG in a VMWare Ubuntu 22.04.1 VM on VMware Workstation 16 Pro on Windows 10. References Xilinx UG926 Zynq-7000 All Programmable SoC: ZC702 Evaluation Kit and Video and Imaging Kit Getting Started Guide (ISE Design Suite 14.5) https://docs.xilinx.com/v/u/4.0-English/UG926_Z7_ZC702_Eval_Kit All USB devices are greyed out https://communities.vmware.com/t5/VMware-Workstation-Player/All-USB-devices-are-greyed-out/m-p/2878267/highlight/true#M38018

  • Run the Xilinx ZC702 Built-In Self-Test on Windows 10

    This post shows how to run the Xilinx ZC702 Built-In Self-Test on Windows 10. It follows the original instructions included in the kit and substitutes tools available for Windows 10. Install the CP210x USB-to_UART Drivers # Check version of Windows 10 is at least 1803 (we're at 19045) Using this command from [ https://stackoverflow.com/questions/7330187/how-to-find-the-windows-version-from-the-powershell-command-line ]: systeminfo /fo csv | ConvertFrom-Csv | select OS*, System*, Hotfix* | Format-List Output: OS Name : Microsoft Windows 10 Pro OS Version : 10.0.19045 N/A Build 19045 OS Manufacturer : Microsoft Corporation OS Configuration : Standalone Workstation OS Build Type : Multiprocessor Free System Boot Time : 5/11/2023, 12:59:23 PM System Manufacturer : LENOVO System Model : 20MAS87F00 System Type : x64-based PC System Directory : C:\WINDOWS\system32 System Locale : en-us;English (United States)Hotfix(s) : 22 Hotfix(s) Installed.,[01]: KB5022502,[02]: KB4562830,[03]: KB4580325,[04]: KB5000736,[05]: KB5012170,[06]: KB5015684,[07]: KB5026361,[08]:KB5006753,[09]: KB5007273,[10]: KB5011352,[11]: KB5011651,[12]: KB5014032,[13]: KB5014035,[14]: KB5014671,[15]: KB5015895,[16]: KB5016705,[17]:KB5018506,[18]: KB5020372,[19]: KB5022924,[20]: KB5023794,[21]: KB5025315,[22]: KB5005699 # Download https://www.silabs.com/documents/public/software/CP210x_Universal_Windows_Driver.zip from https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers?tab=downloads to Downloads # Extract All # Browse to the unzipped folder C:\Users\Zach Pfeffer\Downloads\CP210x_Universal_Windows_Driver # Right-click on the silabser.inf file and select Install # Follow the instructions Install PuTTY # Go to https://www.putty.org/ # Use 64-bit x86: putty-64bit-0.78-installer.msi # Install using defaults Check the Jumpers Zynq-7000 All Programmable SoC: ZC702 Evaluation Kit and Video and Imaging Kit Getting Started Guide (ISE Design Suite 14.5) https://docs.xilinx.com/v/u/4.0-English/UG926_Z7_ZC702_Eval_Kit Cached @ v4.0 @ https://drive.google.com/file/d/1BCOOiHd-l49l2lzBhSG0p8bUClJnt1Fi/view?usp=sharing Set Boot Mode Switches # Connect USB to the computer # Connect power and turn on the board Get the COM # # Run System Information # Expand Components and Ports and click Serial COM7, in this case Configure and Open PuTTY # Select Serial and fill in COM7 (read above), 115200 baud, 8 data bits, 1 stop bit, no parity, no flow control. # Select Session and select Serial. The COM should automatically populate. Click Open. # Press SW1 (POR_B) You should see: This post showed how to run the Xilinx ZC702 Built-In Self-Test on Windows 10. References Xilinx logo clipped from xilinx.com

  • Install 2023.1 Vivado ML Enterprise On Ubuntu 22.04.1

    This post shows how to install 2023.1 Vivado ML Enterprise On Ubuntu 22.04.1. It also demonstrates how to recover from a failed installation. Before you Start This installation may take a full workday to complete. You will need between 400 and 500 GB of free space. You will also need a network connection of at least 8 MB/sec download to complete this install in about a day. Create a Directory for the Install mkdir -p ~/tools/amd/vivadoml/2023.1 Option 1: Run the Installer That Downloads Components Warning: Don't use this option because when it fails you'll need to re-download everything (probably) chmod +x /mnt/hgfs/Installers/Xilinx/2023.1/Xilinx_Unified_2023.1_0507_1903_Lin64.bin /mnt/hgfs/Installers/Xilinx/2023.1/Xilinx_Unified_2023.1_0507_1903_Lin64.bin Note: record where the installer is located, how you launched it, and where you installed it. You'll run this installer multiple times to install different tools. Option 2: Extract The Single File Download and Run the Installer rsync -ah --progress /mnt/hgfs/Installers/Xilinx/2023.1/Xilinx_Unified_2023.1_0507_1903.tar.gz ~/ cd ~/ tar -xvf Xilinx_Unified_2023.1_0507_1903.tar.gz ./Xilinx_Unified_2023.1_0507_1903/xsetup Note: again, I recommend downloading the SFD and using it. If the "downloading installer" fails, you may need to redownload everything again. Install Additional Packages to Ensure "Vivado ML 2021.2 is stuck on Generating installed device list" Doesn't Happen # Run: sudo apt-get install libtinfo5 Install Preferences Proxy setting preferences Cores/CPUs settings preferences Disk usage settings preferences Installation This vvv window is not present on the SFD. # Select Vivado # Select Vivado ML Enterprise # The default installation options # Accept all license agreements Use /home/demouser/tools/amd/vivadoml/2023.1 as the installation directory. SFD Installer: Downloading installer version: SFD installer version: Downloading installer version: Installer Progress SFD Installer: Downloading installer version: Downloading installer after 3h and 17 min and 82% installation In the installation hangs here see the fix above (you will need to cancel the install and redo the entire thing): The completed install screen is not shown. Generate a License and Save It # Got to https://xilinx.entitlenow.com/AcrossUser/main.gsp?product=&tab=&req_hash=& # Click the "Create New Licenses" tab # Select the Vivado ML Enterprise Edition, Node-Locked License # Click the "Generate Node-Locked License" button # Under 2 SYSTEM INFORMATION, select the pull down next to the Select a host... button and click "Add a host..." # Host Name: fpgadev (type: "hostname" on Linux) Operating System: Linux 64-bit Host ID Type: Ethernet MAC Host ID Value: (type: "sudo apt-get install net-tools" then "ifconfig | grep ether") # Add a comment: For Zach Pfeffer's vmwaredisk-20230708-vivado_22.04.1-on-ubuntu_22.04.01 # Click Next # On the REVIEW LICENSE REQUEST window, click Next # Save the emailed license (Xilinx.lic) to ~/ cp /mnt/hgfs/Installers/Xilinx/Xilinx.lic ~/ # Click Load License # Click Copy License # Find the Xilinx.lic You should see: Run Vivado Install Cable Drivers on Linux Adapted from https://docs.xilinx.com/r/en-US/ug973-vivado-release-notes-install-license/Installing-Cable-Drivers cd ~/tools/amd/vivadoml/2023.1/Vivado/2023.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/ sudo ./install_drivers You should see output similar to: [sudo] password for demouser: INFO: Installing cable drivers. INFO: Script name = ./install_drivers INFO: HostName = fpgadev INFO: RDI_BINROOT= . INFO: Current working dir = /home/demouser/tools/amd/vivadoml/2023.1/Vivado/2023.1/data/xicom/cable_drivers/lin64/install_script/install_drivers INFO: Kernel version = 5.19.0-46-generic. INFO: Arch = x86_64. Successfully installed Digilent Cable Drivers --File /etc/udev/rules.d/52-xilinx-ftdi-usb.rules does not exist. --File version of /etc/udev/rules.d/52-xilinx-ftdi-usb.rules = 0000. --Updating rules file. --File /etc/udev/rules.d/52-xilinx-pcusb.rules does not exist. --File version of /etc/udev/rules.d/52-xilinx-pcusb.rules = 0000. --Updating rules file. INFO: Digilent Return code = 0 INFO: Xilinx Return code = 0 INFO: Xilinx FTDI Return code = 0 INFO: Return code = 0 INFO: Driver installation successful. CRITICAL WARNING: Cable(s) on the system must be unplugged then plugged back in order for the driver scripts to update the cables. Recover from a Crashed Install Note: depending on when the installation crashes, the installer may redownload all components. To recover from a crashed install: Run: rm -rf "/home/demouser/.config/menus/applications-merged/Xilinx Design Tools.menu" cd ~/tools/amd/vivadoml/2023.1 rm -rf Vivado/ rm -rf Vitis_HLS/ rm -rf Model_Composer/ This post has shown how to install 2023.1 Vivado ML Enterprise on Ubuntu 22.04.1. References Logo https://library.amd.com/media/?mediaId=84C3498C-1B51-4965-93729CC284CD2DC2 Vivado 2020.2 Installation stuck at "Generating installed device list" on UBUNTU 20.04LTS https://support.xilinx.com/s/question/0D52E00006hpRxQSAU/vivado-20202-installation-stuck-at-generating-installed-device-list-on-ubuntu-2004lts?language=en_US 76616 - Vitis 2021.1 - Install - Install hangs on Ubuntu 20.04 https://support.xilinx.com/s/article/76616?language=en_US&topicId=0TO2E000000YKXwWAO&topicName=Installation%20And%20Licensing 63794 - Install - What Ubuntu files are required for Vivado to run successfully? https://support.xilinx.com/s/article/63794?language=en_US

bottom of page