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 U-boot won't boot
  • 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 11 replies
  • Subscribers 353 subscribers
  • Views 2939 views
  • Users 0 members are here
Related

U-boot won't boot

Former Member
Former Member over 12 years ago

I am not able to get U-boot up and running on my MicroZed board. I tried to have it loaded by Xilinx first stage bootloader (FSBL) and I have tried starting it from the XMD shell over JTAG.


I do not get any output from U-boot in the shell (connector J17 - USB UART).


When loaded by FSBL, it seems that U-boot crashes. Some times FSBL is restarted a couple of times (its output to the UART is repeated). Some times the FSBL exception handlers is invoked after handoff:


In FsblHookBeforeHandoff function                                              
SUCCESSFUL_HANDOFF                                                             
FSBL Status = 0x1                                                              
DATA_ABORT_HANDLER                                                             
FSBL Status = 0xA304


I have build FSBL using Release 14.6 Build SDK_P.68d and with the flags "-DFSBL_DEBUG -DFSBL_DEBUG_INFO". I have also tried without these flags.


I have made the U-boot image using:


$ git clone git://git.xilinx.com/u-boot-xlnx.git
$ cd u-boot-xlnx
$ PATH=$PATH:/opt/Xilinx/SDK/2013.2/gnu/arm/lin/bin
$ export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
$ make zynq_zed_config && make


The boot.bin file was created using:


$ cat zed_boot.bif
zed_boot_image:
{
t[bootloader]zed_fsbl.elf
tzed_u-boot.elf
}
$ bootgen -image zed_boot.bif -o boot.bin -w on


This is the output I get in the shell:


Xilinx First Stage Boot Loader
Release 14.6/2013.2     Sep 27 2013-09:39:00
Devcfg driver initialized
Silicon Version 3.1
Boot mode is SD
SD: rc= 0
SD Init Done
Flash Base Address: 0xE0100000
Reboot status register: 0x60600000
Multiboot Register: 0x0000C000
Image Start Address: 0x00000000
Partition Header Offset:0x00000980
Partition Count: 2
Partition Number: 1
Header Dump
Image Word Len: 0x00010174
Data Word Len: 0x00010174
Partition Word Len:0x00010174
Load Addr: 0x04000000
Exec Addr: 0x04000000
Partition Start: 0x000062A0
Partition Attr: 0x00000010
Partition Checksum Offset: 0x00000000
Section Count: 0x00000001
Checksum: 0xF7FC96A2
Application
Handoff Address: 0x04000000
In FsblHookBeforeHandoff function
SUCCESSFUL_HANDOFF
FSBL Status = 0x1


When starting U-boot from the XMD shell, I do the following, which produces no output in the J17 USB UART shell:


$ /opt/Xilinx/14.6/ISE_DS/EDK/bin/lin/xmd
XMD% connect arm hw
XMD% source /opt/Xilinx/14.6/ISE_DS/EDK/sw/lib/hwplatform_templates/zed_hw_platform/ps7_init.tcl
XMD% ps7_init
XMD% dow zed_u-boot.elf
XMD% con


I read a post stating the Xilinx U-boot image for the ZC702 board could be used on the MicroZed board to. I tried that with the same result.


Using the XMD shell I read the memory at location 0x04000000:
XMD% mrd 0x04000000 30
4000000:   00000000
4000004:   E59FF014
4000008:   E59FF014
400000C:   E59FF014
4000010:   E59FF014
4000014:   E59FF014
4000018:   E59F7BDD
400001C:   E59FDDC8
4000020:   04F1E934
4000024:   04007D23
4000028:   0400B956
400002C:   0400EDFB
4000030:   04007F6B
4000034:   0400DFAF
4000038:   0400F357
400003C:   1234D563


It seems to be the same image as zed_u-boot.elf from 0x8000 bytes into the zed_u-boot.elf. I expect this is because the elf header was removed.


I have run out of ideas of what to try, so any hints will be appreciated.

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

    I tried to start U-boot from GDB and first instruction (which is a branch instruction) caused GDB to output: "Cannot access memory at address 0x9fa90ddc", which is an address within the PL domain (M_AXI_GP1).

    First shell:
    $ /opt/Xilinx/SDK/2013.2/bin/lin/xmd
    XMD% connect arm hw
    XMD% source /opt/Xilinx/14.6/ISE_DS/EDK/sw/lib/hwplatform_templates/zed_hw_platform/ps7_init.tcl
    XMD% ps7_init

    Second shell:
    $ /opt/Xilinx/SDK/2013.2/gnu/arm/lin/bin/arm-xilinx-eabi-gdb u-boot.elf
    (gdb) target remote localhost:1234
    (gdb) load
    (gdb) step

    The last command produced this output:
    (gdb) step
    Cannot access memory at address 0x9fa90ddc
    reset () at start.S:131
    131ttbltsave_boot_params

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

    I tried to start U-boot from GDB and first instruction (which is a branch instruction) caused GDB to output: "Cannot access memory at address 0x9fa90ddc", which is an address within the PL domain (M_AXI_GP1).

    First shell:
    $ /opt/Xilinx/SDK/2013.2/bin/lin/xmd
    XMD% connect arm hw
    XMD% source /opt/Xilinx/14.6/ISE_DS/EDK/sw/lib/hwplatform_templates/zed_hw_platform/ps7_init.tcl
    XMD% ps7_init

    Second shell:
    $ /opt/Xilinx/SDK/2013.2/gnu/arm/lin/bin/arm-xilinx-eabi-gdb u-boot.elf
    (gdb) target remote localhost:1234
    (gdb) load
    (gdb) step

    The last command produced this output:
    (gdb) step
    Cannot access memory at address 0x9fa90ddc
    reset () at start.S:131
    131ttbltsave_boot_params

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

    I am having the exact same issue, but I am not even executing the first instruction:

    0x10000000 in ?? ()
    (gdb) where
    #0  0x10000000 in ?? ()
    Cannot access memory at address 0x9fa90ddc
    #1  0xffffff20 in ?? ()
    Cannot access memory at address 0x9fa90ddc
    Backtrace stopped: frame did not save the PC

    Or even:
    0x10000000 in ?? ()
    (gdb) p/a $lr
    Cannot access memory at address 0x9fa90ddc
    $1 = 0xffffff20

    Don't know how this could matter, but I did notice:
    (gdb) p/x $r11
    $17 = 0x9fa90ddc

    • 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