Serial downloader jump error

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

Serial downloader jump error

1,320 Views
carlotomasin
Contributor I

Hi,

we are working on a custom board based on i.MX6 quad plus.

The board is working well, but about 10 % of our prototypes share the same problem: they do not boot.

When connected by means of a USB cable to a Ubuntu development machine all the boards are enumerated as:

Bus 001 Device 028: ID 15a2:0054 Freescale Semiconductor, Inc. i.MX 6Dual/6Quad SystemOnChip in RecoveryMode

So we would like to investigate the failure cause and the first step is to load a firmware by USB: when we load u-boot by means of Serial Downloader Protocol (imx_usb_loader) we have some difference.

Loading and booting works well on the "good" boards but fails on the "jump" command on the "faulty" boards (see log). We see the difference by looking at u-boot output on the board serial console.

Looking at imx_usb_loader source code seems like loading u-boot in RAM is working (RAM content is verified against original file after load) but the jump command fails.

Any idea about the problem origin?

Carlo

imx_usb_loader output: working boards

# ./imx_usb
config file <.//imx_usb.conf>
[...]
config file <.//mx6_usb_work.conf>
parse .//mx6_usb_work.conf
Interface 0 claimed
HAB security state: development mode (0x56787856)
== work item
filename u-boot.imx
load_size 0 bytes
load_addr 0x13f00000
dcd 1
clear_dcd 0
plug 1
jump_mode 0
jump_addr 0x00000000
== end work item
loading DCD table @0x910000

<<<-184, 1024 bytes>>>
succeeded (status 0x128a8a12)
HAB security state: development mode (0x56787856)
== work item
filename u-boot.imx
load_size 0 bytes
load_addr 0x13f00000
dcd 0
clear_dcd 1
plug 0
jump_mode 2
jump_addr 0x00000000
== end work item
clear dcd_ptr=0x177ff42c

loading binary file(u-boot.imx) to 177ff400, skip=0, fsize=6ec00 type=aa

<<<453632, 453632 bytes>>>
succeeded (status 0x88888888)
jumping to 0x177ff400

imx_usb_loader output: faulty boards

[the same as in working boards, but the last lines are]

jumping to 0x177ff400

j4 in err=0, last_trans=64  33 22 0a 00

Labels (2)
0 Kudos
2 Replies

731 Views
igorpadykov
NXP Employee
NXP Employee

Hi Carlo

seems address for loading u-boot in RAM is ddr, so

may be recoomended to run ddr test and update dcd with new

calibration coefficients.

https://community.freescale.com/docs/DOC-105652 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

731 Views
carlotomasin
Contributor I

Hi Igor,

unfortunately the DDR test tool always fails calibration on "faulty" boards so it is not a calibration problem at all.

Now we are investigating by means of X-rays to check the connections of the SOC to the PCB. We think that some signal from SOC to DDR is not working properly due to some bad join.

Carlo

0 Kudos