Hi all,
I have just got my new developed iMX6D board from production line. I already tested all the power planes and other basic peripherals and started the programming. All the programming steps where successful as long as the board was connected to the PC via OTG port, but unfortunately after completion programming, disconnecting the OTG and setting BOOT_MODE[1,0] = 00 (from 01), the board does not boot at all after powerup/reset.
Obviously there may be many reasons for this, but i had good reason to be optimistic because this new board was based on my previous prototype board. The prototype is OK and boot correctly (three of them).
The only differences i aware of are:
1. The prototype used the quad core version and now i am using the dual core.
2. On the prototype I populated the the GPIO boot resistors and I removed them on the current board.
Regarding the quad/dual issue, as long as i know the only difference between them is related to the different manipulation of the VDDARM power plan, which I did according to the hardware manual.
Regarding the GPIO boot option: actually i didn't use this booting option on the prototype - the EIM pins were just connected to GND via 24K resistors and the BOOT_MODE1 pin was always '0'.
Two more important notes:
Hear is the programming procedure:
sf probe
sf erase 0x0 0x80000
sf write 0x12000000 0x100 0x[uboot size in hexa]
4. Use the following command to burn the fuses:
fuse prog 0 6 0x10
fuse prog 0 5 0x18000030
Any help will be appreciated.
Shony
Hi Shony
one can check BT_FUSE_SEL eFUSE value. According to i.MX6DQ RM sect.8.2.3
Boot From Fuses:
If BT_FUSE_SEL = 0, indicating that the boot device (for example, Flash, SD/
MMC) has not yet been programmed, the boot flow jumps directly to the Serial
Downloader.
Also one can attach jtag and check boot settings reading SRC_SBMR1,SRC_SBMR2
registers.
Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi Igor,
Thank you for your answer.
I guess you suspect that the eFuses actually didn't burn or burnt incorrectly. Unfortunately I don't have a JTAG debugger to check that. Is there any other way to read the actual status of the eFuses? – any specific software command?
By-the-way, I would like to reply to your answers through the website, but unfortunately I couldn't find the way of doing that.
Reg,
Shony