element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MicroZed Hardware Design Keep Linux and custom hardware in PL at power on
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • State Not Answered
  • Replies 10 replies
  • Subscribers 308 subscribers
  • Views 613 views
  • Users 0 members are here
Related

Keep Linux and custom hardware in PL at power on

Former Member
Former Member over 8 years ago

MicroZED with IO Carrier. My custom hardware PL application does not need the PS at all. My TOP design does however instantiate both the Base PS_module wrapper as well as my custom PL_module. And a bit file for this TOP design can be generated in Vivado.

Powering up the MicroZED and Carrier, boots Linux from QSPI and responds to serial Terminal commands. From the Vivado GUI with JTAG connected I can "Program Device" with the TOP bit file. After programming is done both Linux and my custom hardware in the PL are operating as expected. Also as expected, when power off then on, my custom hardware in the PL is no longer operational, and the device must be programmed again.

What do I do to program this TOP bit file into the QSPI so that the system boots to the Linux and my custom hardware in the PL is running and available at power up.

Thank you

  • Sign in to reply
  • Cancel
  • jafoste4
    0 jafoste4 over 8 years ago

    Hello Warrenh,

    I am going to refer you to our Zynq Software Speedways. Spefically lab 6 and lab 7.

    http://zedboard.org/course/developing-zynq%C2%AE-7000-all-programmable-soc-software-vivado-20133-201441-20152-and-20162

    In those two labs, first we creat a First stage bootloader, then we create the .mcs files image that will program the QSPI, and finally we program the flash(QSPI). In this example it is a baremetal design, however you are working on a Linux design. The process is almost nearly the same. When creating your linux .mcs image, instead of using the SDK boot image generator to add a baremetal application as the last partition in the boot image, the u-boot.elf executable is used instead. So the order of files would look like this:

    zynq.fsbl.elf

    system.bit

    uboot.elf

    U-boot is the Second Stage Bootloader (SSBL) which, in-turn, should know how to lead Linux using image.ub or ulmage depending on which flavor of Linux you are using.

    --Josh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 8 years ago in reply to jafoste4

    Hello Josh,

    I am in the process ot getting to lab 6 and lab 7 as you have recommended. How can I query my existing uZED to find out what "flavor" of Linux is already installed, and what is the difference?

    Thank you

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jafoste4
    0 jafoste4 over 8 years ago

    Hello Warrenh,

    Are you talking about the preloaded Pulsar Linux that comes loaded in the SD card? 

    Here is some information on what is meant by the different "flavors" of linux.

    http://www.linuceum.com/Distros/osLinuxDistros.php

    --Josh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 8 years ago in reply to jafoste4

    Hello,

    Adding the u-boot.elf executable as the last object in "Create Boot Image" programs my system.bit file into the PL while an OS boots as observed via a Terminal window. The issue that I have is that I can not find a uboot.elf that installs the desired OS. The board out of the box booted with a terminal prompt "zynq>" and recognized commands like "ls" and "pwd". The only u-boot.elf's that I can find for Creating Boot Image boot with a terminal prompt of U-Boot-PetaLinux>" or "zynq-uboot>" and do not recognize the "ls" or "pwd" commands. How can I get an .elf to include as the last object for "Create Boot Image" that will boot to the "zync" prompt as the original did?

    Thank you,

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 8 years ago in reply to jafoste4

    Hello,

    Yes, I guess that is what I would desire. How do I get the u-boot.elf which I will included as the last object in the Create Boot Image that would provide the Pulsar Linux as it wold comes loaded in the QSPI from the factory?

    Thank you

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jafoste4
    0 jafoste4 over 8 years ago

    Sorry Warrenh,

    I mispoke(I just corrected it above). Pulsar Linux comes pre loaded in the SD card we provide with the development kit. My guess is you were either previously running Pulsar Linux or PetaLinux as those are the two most common I see. Here is where you can find more information about them.

    PetaLinux

    http://zedboard.org/support/design/1519/10

    http://www.wiki.xilinx.com/PetaLinux

    https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/2014-4.html

    Pulsar Linux

    http://zedboard.org/support/design/1519/10

    I would also look at the Open Source Linux QSPI Image Tutorial at

    http://zedboard.org/support/design/1519/10

    --Josh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 8 years ago in reply to jafoste4

    Hello,

    Non of this reference documentation contains a u-boot.elf for the Pulsar Linux. I would desire to get  a u-boot.elf for the original Pulsar Linux to reference as the 3rd object for the Create Boot Image script for my project .mcs file. Where can I find a u-boot.elf file that would do a Second Stage Boot Load of the Pulsar Linux?

    Thank you

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jafoste4
    0 jafoste4 over 8 years ago

    Hello Warrenh, 

    It was just confirmed to me that you are most likely running Petalinux due to Pulsar Linux never booting up with a prompt of "zynq>". If you enter "uname -a" at your linux prompt you should be able to discern which kernel version you are running. 

    Now moving on to getting the u-boot.elf file you are requesting. U-boot.elf is somthing that is typically generated for your specific hardware. In your case it involves the MicroZed 7010 or 7020. So it is not a one u-boot.elf fits all kind of file. Here are the steps you will need to follow to generate your u-boot.elf file

    1. Download the PetaLinux BSP for your specific MicroZed at http://zedboard.org/support/design/1519/10

    2.Then go to http://zedboard.org/support/design/13076/106 and download the Application Not on Booting PicoZed Using QSPI and eMMC "Booting PicoZed Using QSPI and eMMC v2.1"

    3. Go through that tutorial, but remember that you are targeting your MicroZed not PicoZed so alter material accordingly. 

    4. By the end you should be able to boot from QSPI

    --Josh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • Former Member
    0 Former Member over 8 years ago in reply to jafoste4

    Hello,

    The application note specifies requirements to be

    The software requirements for this reference design are:
    • 64-bit Linux (can be Linux installed in a virtual machine on a 64-bit Windows host)

    I am using Vivado and SDK on a Windows platform and getting a Linux box is problematic. How can SDK on Windows get access to the correct BSP or .elf so that a build of my custom PL gets booted from the QSPI as well as keeping the Pulsar Linux that came with the board so that the Microzed board boots to the "Zync" prompt ?    

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jafoste4
    0 jafoste4 over 8 years ago

    Hi Warrenh,

    As stated above, you are proabbly looking to run PetaLinux, not Pulsar Linux. I personally do not know of any workaround to this issue. Perhaps you could try asking over at Xilinx to see if there is a workaround to their tool set.

    https://forums.xilinx.com/t5/Embedded-Linux/bd-p/ELINUX

    --Josh

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube