[U-Boot] More problems booting an i.MX6 from NOR flash
Dirk Behme
dirk.behme at gmail.com
Tue Sep 11 21:05:10 CEST 2012
On 11.09.2012 18:32, Carolyn Smith wrote:
> Thanks to Dirk for your previous advice. We had a pullup on one of the
> reserved BOOT_CFG pins that caused problems accessing NOR flash.
>
> Now I can put code in the NOR flash. If the code is incorrect in some way
> (not sure how yet), I end up with a board that I can't get control of with
> the BDI. I get
>
> - TARGET: processing reset request
> - TARGET: BDI executes scan chain init string
> - TARGET: Bypass check 0x00000001 => 0x00000004
> - TARGET: JTAG exists check passed
> - Core#0: ID code is 0x4BA00477
> - Core#0: DP-CSW is 0xF0000000
> - Core#0: DBG-AP at 0x82150000
> - Core#0: DIDR is 0x3513702A
> - TARGET: Reset sequence passed
> - TARGET: resetting target passed
> - TARGET: processing target startup ....
> # TARGET: core #0 startup failed
> # TARGET: timeout while waiting for debug mode
> # TARGET: processing target startup failed
> # TARGET: timeout while waiting for debug mode
> I've tried different STARTUP modes, adding WAKEUP delays, different RESET
> modes all of which don't help.
>
> Any suggestions?
Well, this depends on your question ;)
If your question is "how to re-enable a board which has wrong code in
the NOR flash and therefore doesn't boot and I can't access the NOR
flash any more to correct it": Then you have to re-solder the boot
mode resistors so that a different boot mode is used (e.g. from SD
card). This will disable the boot from the broken NOR and prevent the
boot ROM from crashing.
If your question is "what's wrong with the content of my boot ROM?": I
would propose to use a quite simple image in the NOR: No DCD Data, as
user code just one assembly instructions like an infinite loop and as
execution address of that loop the internal OCRAM. You could use an
existing U-Boot i.MX6 board and strip it down. This should bring you
to an image which let the boot ROM jump to the internal OCRAM and wait
there in the infinite loop. You are successful with this if you attach
with your debugger and can see the infinite loop running in the
internal OCRAM, then.
If your question is "why can't I attach with the debugger any more?":
Well, maybe because your code in the NOR flash confuses the boot ROM
so much that it crashes in a way that stops the access with the JTAG.
I saw this in the past with corrupted NOR flash images, too. The only
way I could find out of this was to switch the boot mode by
re-soldering, see my answer above.
Best regards
Dirk
More information about the U-Boot
mailing list