Jump to content

Ionel

Technical Forum Moderator
  • Posts

    183
  • Joined

  • Last visited

Everything posted by Ionel

  1. It looks like internet was cut off during build. Fetch tasks are responsible for downloading sources. What was the behavior on retry ?
  2. Hi @vinod You can boot from the qspi When you package BOOT.BIN with petalinux-package command you can specify what it should contain. A normal boot requires that BOOT.bin contains fsbl, bitstream, u-boot (u-boot containg a dtb) you can place BOOT.BIN in qspi. and the following thing should happen : 1. zsbl loads fsbl from qspi and gives control to it. 2. fsbl loads bitstream in PL. if no error it will go to next step (enable debugging for fsbl helps with debugging this) 3. fsbl loads ssbl(second stage boot loader which is u-boot) 4. u-boot searches for instructions on what to do which are in boot.scr which is not found so it lunches a prompt on serial terminal. At this point you can instruct u-boot what to do. In a normal boot flow, boot.scr instructs u-boot to load u-boot image(Image.ub a FIT file containing dtb,ramdisk, kernel image) from various sources (SD,TFTP,others). zybo-z7-10 has 16MB of flash so BOOT.BIN will have around 3 MB without kernel. Striping the kernel(about 54MB) to that level you have to give up a lot of functionality. You will also need a files system to contain the user-space/applications. However you can point u-boot to load Image.ub from SD or TFTP. for this you have to know a bit about u-boot. You can also boot a baremetal/standalone application (instead of u-boot and Linux kernel) . You can develop this application according to your needs. You can use XSDK or Vitis for this. Also please do not start a new thread for the same topic.
  3. petalinux 2019.1 latest supported ubuntu version is 18.04.1 (64bit) Newer version of petalinux supports newer version. Select version of petaliunx on this link https://docs.xilinx.com/r/en-US/ug1144-petalinux-tools-reference-guide/Setting-Up-Your-Environment Assuming you have created a new petalinux 2023.1 project petalinux-config --get-hw-description=/path/to/directory/containing/.xsa/file/ This steps imports your hardware descrption in your petalinux zynq project Building the project should generate a base OS which is a starting point for development. However it dose not contain the software required to use the hardware designed in Vivado Xilinx XSDK was replaced by Xilinx Vitis For your newly generated OS you can create an SDK that can be used in Vitis by running petalinux-build --sdk As a reference you can search https://github.com/Digilent/Eclypse-Z7 and sub repositories to find how various thing are achieved.
  4. To check if your boot.bin is ok. Enable fsbl debug and listen on UART during the boot process. You may need to connect as soon as you power the board to catch those messages. To enable fsbl debug: Create a .bbappend for fsbl recipe in your layer or directly edit fsbl recipe and add line: YAML_COMPILER_FLAGS_append = " -DFSBL_DEBUG_INFO" In newer version I think the syntax is: YAML_COMPILER_FLAGS:append = " -DFSBL_DEBUG_INFO" This way you know if there is something wrong on the first step of the boot process.
  5. zc702 is a different board that has same Zynq Architecture . Depending on what you want to do with the board there are some resources on the link you posted. For instance board files for Vivado can be found here: https://github.com/Digilent/vivado-boards/ Vivado projects(different branch => different example) https://github.com/Digilent/Eclypse-Z7-HW Bare-metal software (different branch => different example) https://github.com/Digilent/Eclypse-Z7-SW Operating System with examples(different branch => different example) (https://github.com/Digilent/Eclypse-Z7-OS An umbrella repository|entry point (different branch => different example) repository for synchronizing above resources https://github.com/Digilent/Eclypse-Z7
  6. Assuming petalinux was not installed with sudo (ownership of /opt/pkg directory was changed to current user). If NOT so then remove and install according to ug1144 https://docs.xilinx.com/r/2022.1-English/ug1144-petalinux-tools-reference-guide/Installing-the-PetaLinux-Tool Make sure you have all dependencies for Petalinux installed, https://support.xilinx.com/s/article/000033799?language=en_US found in 2022.1_PetaLinux_Package_List.xlsx file at the bottom of this page. Start a clean build
  7. According to https://docs.xilinx.com/r/2022.1-English/ug1144-petalinux-tools-reference-guide/Installation-Requirements In release notes: https://support.xilinx.com/s/article/000033799?language=en_US In 2022.1_PetaLinux_Package_List.xlsx file the following command is specified to install the required dependencies for Ubuntu Desktop/Server 64-bit: sudo apt-get install iproute2 gawk python3 python build-essential gcc git make net-tools libncurses5-dev tftpd zlib1g-dev libssl-dev flex bison libselinux1 gnupg wget git-core diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib automake zlib1g:i386 screen pax gzip cpio python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 A list of packages can be found in this file for your specific version of Ubuntu if one of packages in above command is not found in the repository.
  8. To check if your boot.bin is ok. Enable fsbl debug and listen on UART during the boot process. You may need to connect as soon as you power the board to catch those messages. To enable fsbl debug: Create a .bbappend for fsbl recipe in your layer or directly edit fsbl recipe and add line: YAML_COMPILER_FLAGS_append = " -DFSBL_DEBUG_INFO" In newer version I think the syntax is: YAML_COMPILER_FLAGS:append = " -DFSBL_DEBUG_INFO" This way you know if there is something wrong on the first step of the boot process.
  9. Have you tried using petalinux(based on yocto)? during boot zedboard searches for BOOT.BIN on the boot partition. This file contains the fsbl, bistream and u-boot(compiled to contain a dtb) . petalinux boot order: u-boot loads boot.scr(boot instruction for u-boot) which by default tries to boot from Image.ub (a FIT containing: .dtb, kernel, and initramfs) If you use yocto(not petalinux) make sure you generate a BOOT.BIN(enabling fsbl debug helps in this situation. Also after fsbl loads u-boot you can try various ways in u-boot CLI to load and boot linux kernel. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841862/Install+and+Build+with+Xilinx+Yocto#InstallandBuildwithXilinxYocto-InstalltheImages
  10. @mbritton HI quick check: Have you place the host jumper near the usb port on the board? In your second attempt you have a syntax error in your device tree(system-user.dtsi). You can find the exact issue in petalinux lol, not visible in image you attached(in a previous text line maybe)
  11. Welcome to the forum. It looks like you disabled or did not add eth0 in your hardware design. Check if &gem0 in <PROJECT>/components/plnx_workspace/device-tree/device-tree/pcw.dtsi exists and status="okay"; for this node
  12. https://github.com/Digilent/Zybo-Z7-HW/tree/4598deeee409a71ca205b41da2954dbc69e66814/hw_handoff
  13. Hi @toddsharpe does writing BOOT.BIN at the begging of QSPI boots into u-boot ? when qspi jumper is set? u-boot loads boot.scr and loads image.ub according to instructions in boot.scr if boot.scr has a wrong address for image.ub(is a FIT) the entire process fails. According to https://docs.xilinx.com/r/2021.2-English/ug1144-petalinux-tools-reference-guide/Configuring-U-Boot-Boot-Script-boot.scr expected boot.scr address is 0xFC0000
  14. @SIE can you post your <project>/components/plnx_workspace/device-tree/device-tree/pcw.dtsi file ?
  15. Here is the fix for this issue: https://github.com/Digilent/digilent-apps/commit/06ec7256376eba3010fd8dbf18a3e8da1327e3b5 Edit recipes(.bb) of your included packages as such. If your project is a git clone the alternative is to point digilent-apps git submodule to new URL & commit.
  16. Subprocess output: /mnt/2Tb/local/src/zyboZ7/build191/PetaLinux/zyboZ7/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0/system-user.dtsi:80.26-84.9: ERROR (phandle_references): /dma_smm_asymmetric: Reference to non-existent node or label "axi_dma_0" /mnt/2Tb/local/src/zyboZ7/build191/PetaLinux/zyboZ7/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0/system-user.dtsi:80.26-84.9: ERROR (phandle_references): /dma_smm_asymmetric: Reference to non-existent node or label "axi_dma_0" /mnt/2Tb/local/src/zyboZ7/build191/PetaLinux/zyboZ7/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0/system-user.dtsi:80.26-84.9: ERROR (phandle_references): /dma_smm_asymmetric: Reference to non-existent node or label "axi_dma_1" /mnt/2Tb/local/src/zyboZ7/build191/PetaLinux/zyboZ7/build/tmp/work/zynq_generic-xilinx-linux-gnueabi/device-tree/xilinx-v2022.1+gitAUTOINC+1b364a44fa-r0/system-user.dtsi:80.26-84.9: ERROR (phandle_references): /dma_smm_asymmetric: Reference to non-existent node or label "axi_dma_1" You have made changes to the design (xsa) wich leads to changes in pl.dtsi file. This took place after issuing `petalinux-config --get-hw-description` leading to removal of axi_dma_0 and axi_dma_1 nodes. In system-user.dtsi those exact node are referred leading to a device tree compilation error. If you did not do any changes to xsa then a clean build should solve this issue. (rm -rf build components && petaliunx-build). You may want to avoid removing build/download directory by moving it to a different path and make a symlink to it in build directrory after issuing petalinux-config --silent(creates the build directory).
  17. Hi @MichelleNicholes, You may know that GPIO are hardware resources and implicitly should be managed by the kernel via a driver. You can also manage them in user-space via /sys/class/ interface offered by the kernel. To implement this using Vitis(Cross Architecture and maybe Cross Platform) you must provide Vitis with a sysroot and maybe a toolchain found in petalinux SDK for your rootfs. This can be generated using petalinux: https://docs.xilinx.com/r/en-US/ug1144-petalinux-tools-reference-guide/Building-SDK. Starting there is mostly what you did in terminal (read write from /sys/ files). Here is a similar situation describe step by step. https://xilinx.github.io/Embedded-Design-Tutorials/docs/2022.2/build/html/docs/Introduction/ZynqMPSoC-EDT/6-build-linux-sw-for-ps.html#creating-linux-applications-in-the-vitis-ide
  18. Hi @sarvan You may want to see this: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841883/Yocto https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841862/Install+and+Build+with+Xilinx+Yocto, ( Build with Xilinx Yocto ) As James Watson mentioned you need to make sure features of the board that you want in your projects/applications are supported in u-boot & kernel of your chosen Yoctoproject version.
  19. 1. Please post output for ip a on both arty and host. 2. Are you running a dhcp client on Arty or a dhcp server? 3. Are you running ubuntu22 in VM. If yes with NAT or bridge ? 4. Post device tree node for axi_ethernetlite_0 found in <petalinux_project>components/plnx_workspace/device-tree/device-tree/pl.dtsi This may also help. https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841972/Linux+Emaclite+Driver
  20. On the Linux side after adding extra filters no changes should be done after Importing the new hardware (petalinux-config --get-hw-description=<path-to-xsa>) The exception is if the filter needs driving in which case: Add device tree node(s) for the filter(s) Add a kernel driver (see Linux Media Subsystem) Add some user-space app to use the driver if necessary. What lead to this conclusion?
  21. File <petalinux_project>components/plnx_workspace/device-tree/device-tree/pl.dtsi is where node axi_dma_0 or axi_dma_1 is generated according to hardware description in .xsa file imported with petalinux-config --get-hw-description=<path-to-xsa> (see UG1144). Dose your design(exported from Vivado) contains any axi_dma component? Only then a node in device tree is added for it. You need to also understand where dma_proxy node should be placed inside device tree. Normally under amba_pl. Use & when extending in system-user.dtsi example: &amba_pl { dma_proxy { .. }; }; Does axi_dma_0 component exist in pl.dtsi because it is referred by dma_proxy?
  22. local.conf is overwritten by petalinux actually the entire build directory. In newer versions of petalinux systemd is used by default. To backport this change you need to make changes to the rootfs in meta-user layer.
  23. Another solution is to make an ext4 partiton on the card and place the rootfs there. This way you are no longer constrained by the size of the RAM available on the board. https://docs.xilinx.com/r/2022.1-English/ug1144-petalinux-tools-reference-guide/Configuring-SD-Card-ext-File-System-Boot Make sure to select corresponding version of this User Guide for your petalinux version (in this case 2022.1
  24. It appears that `bsp.conf` is not included anywhere. However CONFIG_SYS_BOOTM_LEN is defined in zynq-common.h to (60*1024*1024) so if you need change the value you need to redefine it after including zynq-common.h in platform-top.h
  25. Recipes in https://github.com/Digilent/digilent-apps were changed to use the encrypted channel to fetch the sources. In petalinux project https://github.com/Digilent/Cora-Z7-OS branch `10/Petalinux/upgrade` was integrated in branch `10/master` To fetch the fix: git fetch git checkout 10/master git submodule update --init
×
×
  • Create New...