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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • 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
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • 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 & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Avnet Boards General Using Linaro Linux and programming PL
  • 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 7 replies
  • Subscribers 354 subscribers
  • Views 1058 views
  • Users 0 members are here
Related

Using Linaro Linux and programming PL

Former Member
Former Member over 11 years ago

Hi,

I am relatively new to FPGA programming and I have a really simple question.

I have managed to boot Linaro UBUNTU on ZEDBoard from the SD card using the following guide:

http://svenand.blogdrive.com/archive/199.html#.VGvS3qEZW1E

It looks great! However, I cannot understand how I can have the PL programmed AND at the same time have Linaro UBUNTU running. For example, how can I program the PL side while booting AND run ubuntu on the PS side.

My target: what I want to do is process a signal on the PL side that is fed into the PL logic from a PMOD. Then the PL processes the signal and feeds it to the PS (running ubuntu). Then ubuntu decodes the signal and processes it (example: a video signal that is decoded by gstreamer on the PS and viewed on the monitor).

Thank you in advance,

Nick

  • Sign in to reply
  • Cancel
  • Former Member
    0 Former Member over 11 years ago

    Hi,

    After reading a few threads in the forum what I understand is that the PL can be programmed from the PS side after PS has boot-ed up.

    I found these useful :
    http://forums.xilinx.com/t5/Embedded-Linux/Zynq-Loading-bitfile-into-FPGA-from-Linux-xdevcfg/td-p/237850/page/4
    http://zedboard.org/content/it-possible-program-pl-linux-running-ps-after-linux-have-booted

    Based on the discussions in the above links, one can simply cat the bit file to /dev/xdevcfg to program the PL from the PS side. A couple of questions:

    1) Do I need to convert the .bit file to .bin as mentioned in a few of the posts? Is that conversion the 'bit reversing' (why is it needed?) ? Is this the command:
    bootgen u2013image bootimage.bif u2013split bin u2013o I boot.bin
    (How is the .bif file generated in the first place?)

    2) As I understand the design (.bit or .bin file) loaded into the PL should contain the bits and pieces (cores) that support the linux system. For example, display drivers and the processor core. If not then the OS (UBUNTU) system will crash as soon as PL programming finishes. Question:
    Where do I find the design used to build up the bitstream used in order to support the Linaro UBUNTU linux OS I downloaded from here:
    http://releases.linaro.org/12.09/ubuntu/precise-images/ubuntu-desktop

    ( linaro-precise-ubuntu-desktop-20120923-436.tar.gz )?
    I assume I need to extend this design in order to include my design.


    Please do correct me if anything mentioned in this post is wrong. If there is a different way to program the PL at boot up please advise me.

    Thank you in advance.

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

    Hi Again!

    I will try to answer my questions:

    1) According to :
    'Ubuntu Desktop Linux reference design'
    http://zedboard.org/sites/default/files/design/ZedBoard_Ubuntu_FAT_v2013_4.zip

    I have to use Xilinx SDK in order to create the Boot image which will incorporate:
    a) The First Stage Bool Loader
    b) PL bit stream
    c) U-BOOT
    The output would be a data structure called the Boot Image Format (BIF).

    2)I believe the answer to my 2nd question regarding the design is:

    HDMI Bare Metal Reference Design Using ADV7511 and ADI IP
    http://zedboard.org/sites/default/files/design/ZedBoard_HDMI_Ref_Des_2013_4.zip

    but I have NOT tried it yet.

    The (final?) question still remains whether the 'bit inversion' step is necessary.


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

    You do not need to perform any 'bit inversion step' if you plan to use the SDK to generate a Boot image that includes the PL bit stream to be loaded at boot time.

     

    If you want to prepare a PL bit file to load after Linux has booted (cat the bit file to /dev/xdevcfg) you will need to perform the file conversion to accomodate file differences.

     

    -Gary

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

    Hi again,

    I have followed the:
    HDMI Bare Metal Reference Design Using ADV7511 and ADI IP
    (I had to use VIVADO 13.4)
    and I got the result as shown on the reference design.

    By going through the folders of the design I can only find one file that can be loaded into vivado: projectsadv7511zedadv7511_zed.xpr

    (this file was generated by the tcl script built.tcl)

    Is it correct to assume that by changing the above mentioned design and re-generating the bit file I will have the new .bit file that needs to be used by SDK in order to create the .bif file to be used to create the boot.bin?

    or am I missing something? 

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

    You have it right. Once you rebuild your modified Vivado design successfully you then 'Export' the design, with bit stream, to the SDK.

     

    -Gary

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

    Troutchaser,

    is there a guide that will help me use the PL on the microzed with the windriver pulsar linux?

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

    Take a look at the last post on this forum thread:

    http://zedboard.org/content/how-interface-pl-logic-wind-river-pulsar%E2%84%A2-linux

    -Gary

    • 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 © 2026 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