iMX6SoloLite DOES NOT FINISH BOOT from SD Card Boot Issue

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

iMX6SoloLite DOES NOT FINISH BOOT from SD Card Boot Issue

1,300 Views
jimrhodes
Contributor I

We have designed a system to use Android as our OS using the MCIMX6SLEVK as the reference platform.  We have had Freescale review the schematic, and the board exhibits the following boot process, using the boot checklist:

The fuse map is correct, just like the EVK, we are using the three 8-bit tranceivers like the EVK to force the boot mode...plus the two BOOT_MODEx pins to a DIP switch.

The PMIC  is good.  All rails are good.

The clocks are good, both of them.

The fuses are read.  POR_B works.

The SD card calibrates in 1-bit mode, low clock speed.

The SD card interface switches from low clock speed to high speed (meaning that the uP likes the SD card that it sees)

The SD card starts to flow data in 4-bit mode.

Processor is marked:

MCIMX6L2DVN10AB

XAA1515

I took off the 32kHz crystal, which means that the part falls back to the internal ring oscillator to boot.  Same result.

We got the Boot_Tester.exe -t mx6x -df test.inc

from FreeScale and that does start up.  We get EVERYTHING that the example shows to come up on the console EXCEPT the menu!  The boot rom has to be talking to the USB port, which means that it also did a large amount of code passing to get to the point where that would even work, then right before it would kick out its user menu screen, it dies.  It probably did 20 very complicated things before that happened, so again, the part is alive, it is just not running.  It stops on "Running BOOT DEBUG., Press "ESC" key to exit.." except that no further menu items are output, the menu from the example is never output.

Smells like memory to me, but at this time we have no idea where to find out what is not working!  If we cannot get the Boot_Tester menu to come up, what does that mean?  The docs do say that if the SD card boot fails that the BOOT ROM will look to the USB port next for communications, which we get it to at least start up.

What next, we are desperate!

Labels (3)
0 Kudos
10 Replies

864 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jim

do you have in Boot_Tester folder boot--info-test-mx6sl.bin ?

Also for new board it is necessary to run ddr tester

i.MX6/7 DDR Stress Test Tool V2.20

Board checkpoints are described in Hardware Development Guide

for i.MX 6SoloLite - User Guide (REV 1)

i.MX6SL|i.MX 6SoloLite Processors|Wearables|Freescale

Best regards

igor

0 Kudos

864 Views
jimrhodes
Contributor I

Thank you all for the help.  We have the dram stress tester app running (but still not the Boot_Tester app that should run), and well the only thing that could be wrong, must be wrong.  Our board layout person made a big mistake on the line length routing, we are not withing 25 mils, we are within 250 mils, and order of magnitude out.

So, anyone know if I can salvage the boards here?  I have 10 of them fully populated, and I really need to get to a trade show.  I seem to not be able to pass any of the calibration tests, and the first address pattern test seems to pass 0x800000000 through 0x80000008, then fails.  I have cut the CLK and /CLK lines and see the same test fail at 0x80000000 so it seems to be at least working the test.

My CLK and /CLK lines are in the middle of the route lengths, definitely less than 3 inches.  Do you feel that there is a potential for me to lengthen those two lines to meet some sort of setup time, and see some passing tests?

The worst thing that I can do it make mods to a "non working" board to then find out that the Rev. B boards also do not work for the same failure on something that I have not found yet.  I am both looking to somehow get these boards patched and get to my show, but also only do one more pass on the design.

Any comments here would be appreciated!

0 Kudos

864 Views
sinanakman
Senior Contributor III

Hi Jim

Did making the CLK, /CLK lines longer help ?

Regards

Sinan Akman

0 Kudos

864 Views
jimrhodes
Contributor I

We are getting three of the four byte groups passing now, but since we cannot calibrate past the first phase, we cannot do any pattern testing yet.

We have not used the BDI3000 yet since we have been diligently working on the memory hardware side of things.  Will that tool help us to get more data than the Freescale provided dram tester IRAM test utility does?  We got the unit in yesterday, opened the box and reviewed the contents, but again we have been excited about forward progress enough to stay on that track for now.

Thanks for asking, you have been very helpful so far!

0 Kudos

864 Views
igorpadykov
NXP Employee
NXP Employee

Hi Jim

yes it makes sense to lengthen CLK and /CLK lines.

Also try to run test at most slow ddr frequency.

Best regards

igor

0 Kudos

864 Views
jimrhodes
Contributor I

Sina,

Thank you for the fast answer.  I totally agree with you that this is the next step.  Freescale asked me to post up so that perhaps someone else out there would say "Hey, it's your flux capacitor that's out of whack!".  I am trying to get our hands on the JTAG adapter and the software to do that debug, we never expected to have this issue doing a copy of the EVK so we were not prepared, we should have had a Plan B in our pocket.

0 Kudos

864 Views
sinanakman
Senior Contributor III

Hi Jim, yes this  makes sense, hopefully someone

will step in with similar experience. BTW, that boot_tester

is the only sw you are testing your board ? Maybe

there is something wrong with that sw. Anyhow JTAG

debugger will probably help. Let me know if you

need help with that as well (we use BDI3000 here and

I wrote up a doc that goes over how to set up

a sabresd for that, it might help).

Regards

Sinan Akman

0 Kudos

864 Views
jimrhodes
Contributor I

Wow, that would be great to get that doc, and thanks for that pointer to a lower cost JTAG adapter.  I tried to call MA but they are gone, I would have just bought one, we are so far behind the curve here on the timeline trying to hit a tradeshow goal.  I am at jrhodes@illumtechnology.com if you want to share the doc, thanks again in advance!

0 Kudos

864 Views
sinanakman
Senior Contributor III

Hi Jim

Here is the document I was referring to :

BDI3000 config file with iMX6 DDR initialization

It covers iMX6Q but can be adapted for SL.

I will contact you via your e-mail for BDI3000.

It can be arranged to ship soon for your tradeshow

timeline.

Regards

Sinan Akman

0 Kudos

864 Views
sinanakman
Senior Contributor III

Hi Jim

Do you have the option to hook a

JTAG debugger and stop before the

menu. This seems to be the right thing

to do now. Alternatively, can you get

hold of the source code of this boot_tester

and stop earlier to see at what point it

crashes and you can relate it to the part

on your board.

Hope this helps.

Regards

Sinan Akman

0 Kudos