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
    About the element14 Community
  • 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 Customer Zedboard firmware updates without Xilinx tools
  • 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 2 replies
  • Subscribers 367 subscribers
  • Views 253 views
  • Users 0 members are here
Related

Customer Zedboard firmware updates without Xilinx tools

Former Member
Former Member over 10 years ago

I'm currently running a Zedboard with bare-metal code in QSPI flash, programmed from the SDK. Once we ship systems to the customer, we'd like to be able to have them update in the field, as simply as possible.

The primary interface is Ethernet for the application (we use lwIP), but the J17 USB connector is theoretically also available to the customer.

It seems that any solution that involves reprogramming QSPI flash over J17 (USB-JTAG) will involve Xilinx tools -- the Lab Tools at a minimum. We consider this too much of a burden for technologically unsophisticated customers.

One option would be to program a fairly complicated update routine in our application that receives new firmware over Ethernet and then programs the QSPI. This seems doable, but may be a lot of work.

A second option would be to ship the customer an SD card containing Linux plus new firmware; the customer would change the boot jumpers to SD card mode, and from then on the SD card code would handle everything automatically, presumably using simple Linux commands to program the QSPI. Then the customer would reset the jumpers to QSPI boot mode. The downside of this approach is that the customer would have to open the box for access to the SD card and jumpers, but conceptually it seems quick to implement.

Have I missed another alternative? Is there a way to program QSPI over USB/JTAG that doesn't involve Xilinx tools? Thanks for any input.

  • Sign in to reply
  • Cancel
Parents
  • drozwood90
    0 drozwood90 over 10 years ago

    Hi there,

    Unfortunately, I think you hit all the methods that I am aware.  Anything else is too invasive - if you do not really even want the customer opening the product up.

    I think that putting the effort in to create something to load the firmware over Ethernet is going to be the most hands-off for customers.  One issue to consider, those customers that already have a product might require the SDCard upgrade just to get to the point of being able to load over Ethernet.

    I will offer from my experience, since this is such a low level of hardware/firmware, it is unlikely that the effort put in will be in vein with future products, as the protocols used at that level do not typically change.  Meaning that routine/mechanism you come up with will likely be able to be re-used for a long time.

    Some other things to consider:
    -Check-sum to validate data received
    -TFTP to get the update
    -How do you trigger a client to update? Manual?  Time Based?
    -What happens if something does go wrong (be it with SD or downloaded)?
    -Ensure your customer is informed before gathering information, but as part of checking for updates consider status tracking / error reporting. 

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • drozwood90
    0 drozwood90 over 10 years ago

    Hi there,

    Unfortunately, I think you hit all the methods that I am aware.  Anything else is too invasive - if you do not really even want the customer opening the product up.

    I think that putting the effort in to create something to load the firmware over Ethernet is going to be the most hands-off for customers.  One issue to consider, those customers that already have a product might require the SDCard upgrade just to get to the point of being able to load over Ethernet.

    I will offer from my experience, since this is such a low level of hardware/firmware, it is unlikely that the effort put in will be in vein with future products, as the protocols used at that level do not typically change.  Meaning that routine/mechanism you come up with will likely be able to be re-used for a long time.

    Some other things to consider:
    -Check-sum to validate data received
    -TFTP to get the update
    -How do you trigger a client to update? Manual?  Time Based?
    -What happens if something does go wrong (be it with SD or downloaded)?
    -Ensure your customer is informed before gathering information, but as part of checking for updates consider status tracking / error reporting. 

    --Dan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
No Data
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