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
      •  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 & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
Ultra96 Hardware Design Debugging on the Ultra96
  • 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 6 replies
  • Subscribers 347 subscribers
  • Views 1273 views
  • Users 0 members are here
Related

Debugging on the Ultra96

jhane
jhane over 6 years ago

Hello,

 

So I've got all the pieces for my design built, bitstream from from Vivado, a Linux image from petalinux for the APUs and a freeRTOS app for RPU0.   However, I'm not clear on how to get it all booted, running and then connecting the debugger to the R5.   What I want to do is boot the APUs and load the PL from the SD card. After that, I want to load and debug the R5 via JTAG.  However, since the dip switches are set to boot from SD this seem to indicate i can't switch them after booting to boot the R5 from jtag.   I haven't tried this yet so I'm curious if this would work.

Or can I create a bif file that will also boot the RPU from the BOOT.BIN on a SD card?   If the dip switches are set to SD, can I still connect to RPU0 via JTAG after boot for debugging?

 

thanks,

jeff

  • Sign in to reply
  • Cancel

Top Replies

  • jhane
    jhane over 6 years ago in reply to clem57 +1
    Hi Clem, That could be one way but really that would have to be a complete act of desperation and really it would only get me part way since in the end I would still need to debug the real system. Some…
  • jhane
    jhane over 6 years ago in reply to bhfletcher +1
    Hi Bryan, Yes, I did eventually find that page and it does explain what is happening. The same thing happen if you connect Vivado to the board after linux has booted. However, before I found that page…
Parents
  • clem57
    0 clem57 over 6 years ago

    Yes you have a dilemma. So how about working on the  R5 without the rest. Any place you communicate with other parts, build fake req/reply logic for testing. Once all is working, put back the real parts for the fake ones and continue your project.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • jhane
    0 jhane over 6 years ago in reply to clem57

    Hi Clem,

    That could be one way but really that would have to be a complete act of desperation and really it would only get me part way since in the end I would still need to debug the real system.

     

    Some good new, booting from JTAG and loading from JTAG are different.  I can boot the APU and PL from SD and still download the RPU code via JTAG.  However, there is only one UART for both the APU and RPU and only one should be driving it.  And for a Wifi only system like the Ultra96 not having a serial console to the APU is not good.   Have also discovered that connect the debugger to RPU0 via the SDK seem to bring brick APU0, so the linux side is then dead.

     

    This seems like a pretty common use case so I'm not sure why this seems such a pain to get working and other than the single UART I don't think this is Ultra96 specific.

     

    thanks,

    jeff

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • bhfletcher
    0 bhfletcher over 6 years ago in reply to jhane

    There is a bit of information over on the Xilinx forums for debugging the R5

    https://forums.xilinx.com/t5/OpenAMP/JTAG-debug-of-RPU-r5-code-while-running-petalinux-on-APU/td-p/941473

     

    Bryan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Reply
  • bhfletcher
    0 bhfletcher over 6 years ago in reply to jhane

    There is a bit of information over on the Xilinx forums for debugging the R5

    https://forums.xilinx.com/t5/OpenAMP/JTAG-debug-of-RPU-r5-code-while-running-petalinux-on-APU/td-p/941473

     

    Bryan

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
Children
  • jhane
    0 jhane over 6 years ago in reply to bhfletcher

    Hi Bryan,

      Yes, I did eventually find that page and it does explain what is happening.  The same thing happen if you connect Vivado to the board after linux has booted.

    However, before I found that page I found a different solution that doesn't require modifying the the boot process.

     

    start xsdb and then enter the following commands

     

    connect -url tcp:127.0.0.1:3121

    targets -set -filter {name =~ "Cortex-A53 #0"}

    configparams -context $::xsdb::curtarget disable-access 1

    targets -set -filter {name =~ "Cortex-A53 #1"}

    configparams -context $::xsdb::curtarget disable-access 1

    targets -set -filter {name =~ "Cortex-A53 #2"}

    configparams -context $::xsdb::curtarget disable-access 1

    targets -set -filter {name =~ "Cortex-A53 #3"}

    configparams -context $::xsdb::curtarget disable-access 1

    configparams force-mem-access 1

     

     

    As long as xsdb is running, jtag access is disable to the APU even across reboots

     

    I'm really surprise this information was not easier to find since this seems like a very common use case.

     

    thanks,

    jeff

    • Cancel
    • Vote Up +1 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