This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3703: Boot problem

Part Number: AM3703


Hello! i having problems with a serial of boards that i have manufactured.

One of my older boards works fine. Its configured with sys-boot[6-0] pins = (MSB)1101111(LSB), so the boot device order is the following:

  1. USB
  2. UART
  3. MMC
  4. NAND

I have checked the tracing boot vector powering up my board with a SD Card and i have the nex result:

0000000000000001 Reset
0000000000000003 ROM code C main
0000000000000007 ROM code runs after the cold reset
000000000000000F Booting started
000000000000004F Peripheral booting started
000000000004004F USB
000000000005004F Peripheral booting failed
000000000007004F UART
000000000007104F Device initialized
000000000007304F ASIC-ID sent
000000000007305F Memory booting started
000000400007305F MMC/SD1
000000440007305F Null device
000200440007305F NAND boot was attempted from block 0.
000200440007385F Image header correct
000200440047385F Image executed
000000010047385F Null device

My new board has the same configuration and i have the next result:

0000000000000001 Reset
0000000000000003 ROM code C main
000000000000000B Booting started
000000000000001B Memory booting started
000000040000001B NAND
000200040000001B NAND boot was attempted from block 0.
000600040000001B NAND boot was attempted from block 1.
000E00040000001B NAND boot was attempted from block 2.
001E00040000001B NAND boot was attempted from block 3.
001E00040000003B No more booting device to check.

It seems that the board don´t follow the boot device order that must do.

I have checked the sys-boot pins with boundary scan and are OK.

¿Is there any configuration pin or another thing that do the boot device order change?

i repeat that the board is the same. One older and the other new.

  • Please check all SYSBOOT signals at reset release time and compare them to the functioning board.
  • I have checked SYSBOOT signals at reset release time in both boards and the timing is the same. Could be another thing?
  • I attach my sysboot schematic capture.

    I have tried also with 100K pullup resistors and doesn't work.

  • Check the CONTROL_STATUS register between the working and non-working board. This will tell you what is sampled on the SYSBOOT signals.

    Regards,
    James
  • First image is the board that works, second image is the board that doesn't work. Sysboot field in the CONTROL_STATUS register is 101111b in both cases.

  • I think what may be happening is that the first time through the boot sequence something is either failing or timing out and ending up in the permanent boot source, which in your case is NAND, and you are dumping the Current Tracing vector (0x4020FFB0-0x4020FFB8). Once through the sequence, the ROM will loop on the permanent boot source only. If you are trying to boot from SD card, it seems something is wrong with the processor interface to the SD card. Double check connections, clock, signal integrity, etc. while booting. You should be able to see a burst of MMC_CLK and data during boot. Ensure signals look as expected. Also, maybe there's an issue with the card cage assembly?

    Regards,
    James
  • Hello!

    i have seen that sys-nreswarm is getting down continously automatically. I have seen in the documentation that this pin is bidirectional so i can understand that the SOC could be resetting self continously.

    i have cheched "PRM_RSTST" and the value is 0x2 -> Global software reset event.

    I have also checked "Cold reset run tracing vector" and his value is 0x1E00440007307F:

    • 0->Reset
    • 1-> ROM code C main
    • 2->ROM code runs after the cold reset
    • 3->Booting started
    • 4->Memory booting started
    • 5->No more booting device to check
    • 6->Peripheral booting started
    • 12->Device initialized
    • 13->ASIC-ID sent
    • 16->Peripheral booting failed
    • 17->UART
    • 18->USB
    • 34->NAND
    • 38->MMC/SD1
    • 49->NAND boot was attempted from block 0.
    • 50->NAND boot was attempted from block 1.
    • 51->NAND boot was attempted from block 2.
    • 52->NAND boot was attempted from block 3.

    i have checked the communication in the microSD connector and i have this:

    The board that works start with this sequence but has much more communication.

    Can i understand with this information that the SOC is unable to read the SD card and for this reason, the SOC try to boot with the others interfaces and having not where to boot, the SOC is resetted automatically?

    Regards

  • "i have seen that sys-nreswarm is getting down continously automatically."

    Can you explain this statement? Actually, it would be good to put this on your analyzer pics to see what is happening. sys-nreswarm should be low during power up and during POR. A short time after POR goes high, sys-nreswarm should go high and stay high. If it is going back low during boot, then this may be your problem. What do you have connected to this signal on your board?

    Regards,
    James