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
Ultra96 Hardware Design PetaLinux u-boot issue with ultra96v2
  • 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 3 replies
  • Subscribers 318 subscribers
  • Views 3997 views
  • Users 0 members are here
Related

PetaLinux u-boot issue with ultra96v2

talvlad29
talvlad29 over 5 years ago

HI,

I work with ultra96v2 board from AVNET (Part="xczu3eg-sbva484-1-e"). I created HW design (I used vivado 2019.2) based on step by step tutorial (https://highlevel-synthesis.com/2019/11/07/how-to-create-ultra96v2-linux-based-platform-in-xilinx-vitis-2019-2/comment-page-1/#comment-1383) and build PetaLinux package (I used PetaLinux 2019.2). I tried to run it from SD card but it got stuck at boot stage (boot mode was selected to boot from SD). I tried to download the same image via JTAG and received the following response:

vladimir@vladimir-virtual:~/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux$
vladimir@vladimir-virtual:~/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux$ petalinux-boot --jtag --u-boot --fpga --pmufw
INFO: sourcing build tools
INFO: Use bitstream: "/home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/system.bit.
INFO: Please use --fpga --bitstream <BITSTREAM> to specify a bitstream if you want to use other bitstream.
INFO: Launching XSDB for file download and boot.
INFO: This may take a few minutes, depending on the size of your image.
rlwrap: warning: your $TERM is 'xterm-256color' but rlwrap couldn't find it in the terminfo database. Expect some problems.: Inappropriate ioctl for device
INFO: Configuring the FPGA...
INFO: Downloading bitstream: /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/system.bit to the target.
INFO: Downloading ELF file: /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/pmufw.elf to the target.
INFO: Downloading ELF file: /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/zynqmp_fsbl.elf to the target.
INFO: Downloading ELF file: /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/u-boot.elf to the target.
Memory write error at 0x8000000. MMU fault at VA 0x8000000. Translation fault, second level
invoked from within
"::tcf::eval -progress {
apply {{info} {
switch -- [lindex $info 0] {
"info" {
puts -nonewline "\r[lindex $info 1]"
}
"warning" {
puts "\n[lindex $info 1]"
}
"data" {
puts -nonewline "\r[lindex $info 1] of [lindex $info 2] complete"
}
"done" {
puts "\n[lindex $info 1]"
}
}
flush stdout
::xsdb::abort_check
}}} {::tcf::cache_enter tcfchan#0 {tcf_cache_eval {download_cache_client ::tcfclient#0::arg}}}"
(procedure "::tcf::cache_eval_with_progress" line 2)
invoked from within
"::tcf::cache_eval_with_progress $params(chan) [list download_cache_client $argvar] {
apply {{info} {
switch -- [lindex $info 0] {
"info" ..."
(procedure "dow" line 78)
invoked from within
"dow "/home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/u-boot.elf""
(file "/tmp/tmp.tBvV3aPdLo" line 28)
INFO: The XSDB log is as follows
attempting to launch hw_server

****** Xilinx hw_server v2019.2
**** Build date : Oct 23 2019 at 23:11:29
** Copyright 1986-2019 Xilinx, Inc. All Rights Reserved.

INFO: hw_server application started
INFO: Use Ctrl-C to exit hw_server application

INFO: To connect to this hw_server instance use url: TCP:127.0.0.1:3121

100% 5MB 0.8MB/s 00:06
Downloading Program -- /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/pmufw.elf
section, .vectors.reset: 0xffdc0000 - 0xffdc0007
section, .vectors.sw_exception: 0xffdc0008 - 0xffdc000f
section, .vectors.interrupt: 0xffdc0010 - 0xffdc0017
section, .vectors.hw_exception: 0xffdc0020 - 0xffdc0027
section, .text: 0xffdc0050 - 0xffdd11bb
section, .rodata: 0xffdd11bc - 0xffdd32d3
section, .data: 0xffdd32d4 - 0xffdd75cb
section, .sdata2: 0xffdd75cc - 0xffdd75cf
section, .sdata: 0xffdd75d0 - 0xffdd75cf
section, .sbss: 0xffdd75d0 - 0xffdd75cf
section, .bss: 0xffdd75e0 - 0xffddb60f
section, .srdata: 0xffddb610 - 0xffddbf33
section, .stack: 0xffddbf34 - 0xffddcf37
section, .xpbr_serv_ext_tbl: 0xffddf6e0 - 0xffddfadf
100% 0MB 0.0MB/s 00:02
Setting PC to Program Start Address 0xffdd03dc
Successfully downloaded /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/pmufw.elf
Downloading Program -- /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/zynqmp_fsbl.elf
section, .text: 0xfffc0000 - 0xfffce353
section, .init: 0xfffce380 - 0xfffce3b3
section, .fini: 0xfffce3c0 - 0xfffce3f3
section, .note.gnu.build-id: 0xfffce3f4 - 0xfffce417
section, .rodata: 0xfffce440 - 0xfffce8b7
section, .sys_cfg_data: 0xfffce8c0 - 0xfffcf117
section, .mmu_tbl0: 0xfffd0000 - 0xfffd000f
section, .mmu_tbl1: 0xfffd1000 - 0xfffd2fff
section, .mmu_tbl2: 0xfffd3000 - 0xfffd6fff
section, .data: 0xfffd7000 - 0xfffd83b7
section, .sbss: 0xfffd83b8 - 0xfffd83bf
section, .bss: 0xfffd83c0 - 0xfffda47f
section, .heap: 0xfffda480 - 0xfffda87f
section, .stack: 0xfffda880 - 0xfffdc87f
section, .dup_data: 0xfffdc880 - 0xfffddc37
section, .handoff_params: 0xfffe9e00 - 0xfffe9e87
section, .bitstream_buffer: 0xffff0040 - 0xfffffc3f
100% 0MB 0.0MB/s 01:07
Setting PC to Program Start Address 0xfffc0000
Successfully downloaded /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/zynqmp_fsbl.elf
Downloading Program -- /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/u-boot.elf
section, .data: 0x08000000 - 0x080863a5
aborting, 1 pending requests...
Failed to download /home/vladimir/vitis/ultra96v2_vitis_pkg/ultra96v2-petalinux/images/linux/u-boot.elf

How can I fix this issue?

Thank you,

Vladimir

  • Sign in to reply
  • Cancel

Top Replies

  • quiqueacín
    quiqueacín over 3 years ago +3
    I have just a similar problem with another board (which is not AVNET) but may be can help you. As you I faced the same problem. when I do " petalinux-boot --jtag xxxx ", it gave me the following output…
  • shredEngineer
    shredEngineer over 3 years ago in reply to quiqueacín +2
    Dear Quique, I just registered to say THANK YOU! I found this solution via Google and this solved the same problem for me, using a Xilinx ZCU111 board . Have a nice weekend! Best regards Pau…
  • narrucmot
    0 narrucmot over 5 years ago

    Hi Vladimir,

     

    This could be something as simple a u-boot configuration issue, or a memory map issue.  There is a clue early on in the boot log:
    Memory write error at 0x8000000. MMU fault at VA 0x8000000. Translation fault, second level

    The address '0x8000000' does not appear to be reachable to store the u-boot executable on JTAG download.

     

    You may want to start with a known-good PetaLinux and Vitis 2019.2 example for the Ultra96-V2 board:

    https://www.element14.com/community/community/designcenter/zedboardcommunity/ultra96#e14tab2

    image

     

    --Tom

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • quiqueacín
    0 quiqueacín over 3 years ago

    I have just a similar problem with another board (which is not AVNET) but may be can help you.

    As you I faced the same problem. when I do "petalinux-boot --jtag xxxx", it gave me the following output:

    image

     

    Which I found very useful is that you can dump (with --tcl ) the xsdb commands to a tcl file which you can source afterwards:

     

    petalinux-boot  --jtag XXXX --tcl tcl_cmds.tcl

     

    connect -url 172.17.0.1:3121

    targets -set -nocase -filter {name =~ "*PSU*"}

    mask_write 0xFFCA0038 0x1C0 0x1C0

    targets -set -nocase -filter {name =~ "*MicroBlaze PMU*"}

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/pmufw.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/pmufw.elf"

    after 2000

    con

    targets -set -nocase -filter {name =~ "*APU*"}

    mwr 0xffff0000 0x14000000

    mask_write 0xFD1A0104 0x501 0x0

    after 5000

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

     

     

    source /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/project-spec/hw-description/psu_init.tcl

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/zynqmp_fsbl.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/zynqmp_fsbl.elf"

    after 2000

    con

    after 4000; stop; catch {stop}; psu_ps_pl_isolation_removal; psu_ps_pl_reset_config

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

    puts stderr "INFO: Loading image: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/system.dtb at 0x00100000"

    dow -data  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/system.dtb" 0x00100000

    after 2000

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

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/u-boot.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/u-boot.elf"

    after 2000

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

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/bl31.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/bl31.elf"

    after 2000

    con

    exit

    puts stderr "INFO: Saving XSDB commands to dummy.out. You can run 'xsdb dummy.out' to execute"

     

    In my case when I run step by step it worked.  So I finally work it out by increasing the after 4000 time as shown in the following script. There is also code at the beginning to allow jtag booting even without power-off.

     

     

    set WAIT_AFTER_FSBL 10000

    connect -url 172.17.0.1:3121

    targets -set -nocase -filter {name =~ "*PSU*"}

     

    ##################################

    # This is added to allow JTAG boot without reboot

    puts stderr "Resetting system. Just in case"

    rst -system

    after 5000

    ##################################

     

     

     

     

    mask_write 0xFFCA0038 0x1C0 0x1C0

    targets -set -nocase -filter {name =~ "*MicroBlaze PMU*"}

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/pmufw.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/pmufw.elf"

    after 2000

    con

    targets -set -nocase -filter {name =~ "*APU*"}

    mwr 0xffff0000 0x14000000

    mask_write 0xFD1A0104 0x501 0x0

    after 5000

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

     

     

    source /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/project-spec/hw-description/psu_init.tcl

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/zynqmp_fsbl.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/zynqmp_fsbl.elf"

    after 2000

    con

    puts stderr "Waiting $WAIT_AFTER_FSBL ms for FSBL"

    after $WAIT_AFTER_FSBL; stop; catch {stop}; psu_ps_pl_isolation_removal; psu_ps_pl_reset_config

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

    puts stderr "INFO: Loading image: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/system.dtb at 0x00100000"

    dow -data  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/system.dtb" 0x00100000

    after 2000

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

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/u-boot.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/u-boot.elf"

    after 2000

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

    puts stderr "INFO: Downloading ELF file: /home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/bl31.elf to the target."

    dow  "/home/plnxdev/playground/hightech/htg_zrf8_sd_boot_2020_2_zcu48dr/apu/htg_zrf8_simple_sd/pre-built/linux/images/bl31.elf"

    after 2000

    con

    exit

     

    Then I run tcl_cmd.tcl as

    /opt/Petalinux/2020.2/tools/xsct/bin/xsdb tcl_cmds.tcl

     

    Next step will be to generate the script on the fly, or to find if petalinux-boot waits are configurable in any way image

     

    I hope it helps you.

    Quique

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • Verify Answer
    • Cancel
  • shredEngineer
    0 shredEngineer over 3 years ago in reply to quiqueacín

    Dear Quique,

    I just registered to say THANK YOU!

    I found this solution via Google and this solved the same problem for me, using a Xilinx ZCU111 board.

    Have a nice weekend!

    Best regards

    Paul

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