i.MX6 u-boot.bin and JTAG

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 u-boot.bin and JTAG

Jump to solution
2,014 Views
chris_c
Contributor II

I am trying to load u-boot onto an i.MX6DL board via JTAG without using any other peripherals (ie, USB, SD card, etc).  I am using an ARM DSTREAM JTAG debugger.

In the past, I was able to do this with u-boot 2009.08 using the u-boot elf file.  I would do the following:

1. Connect to board with JTAG

2. Load DDR .ds script to initialize DDR registers

3. Load the u-boot ELF file 

4. Start the debugger 

5. Board would boot that loaded u-boot out of memory.

However, when I try with the current version of u-boot 2016.03, DSTREAM won't even load the u-boot elf file properly. Something has changed in u-boot since 2009 and they use some ELF headers that prevents debuggers from loading the ELF file properly.  So now I am trying to use the "restore" command in DSTREAM to load u-boot.  The procedure I'm tying is:

1. Connect to board with JTAG

2. Load DDR .ds script to initialize DDR registers

3. Execute the following commands on debugger to load u-boot:

# disable IRQs, MMU and cache

set var $Core::$CPSR.I = 0x1
set var $Core::$CPSR.F = 0x1
set var $CP15::$SBanked::$S_SCTLR.M = 0
set var $CP15::$SBanked::$S_SCTLR.C = 0

# Load binary into memory

restore u-boot.bin binary 0x17800000

# load symbols
add-symbol-file u-boot SP:0x0

# set PC
set var $PC = 0x17800000
set debug-from *0x17800000

4. Start the debugger

5. u-boot does not start

I'm assuming NXP uses DSTREAM debuggers to do this, so if anyone can point out what I'm doing wrong I would appreciate it.

Labels (1)
0 Kudos
1 Solution
964 Views
chris_c
Contributor II

I was able to resolve my own issue by turning off the Thumb instruction set.

View solution in original post

0 Kudos
2 Replies
965 Views
chris_c
Contributor II

I was able to resolve my own issue by turning off the Thumb instruction set.

0 Kudos
964 Views
Yuri
NXP Employee
NXP Employee

Hello,


  You may look at the following Community post :

How to Use Trace32 to Run U-boot in the i.MX6Q SABRE Platform 

  Also, I sent You document ;  hope it helps.

Have a great day,

Yuri

 

------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct

Answer button. Thank you!

0 Kudos