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.

AM3352 RANDOM BOOT STOPPED @ CCCCCCC

Other Parts Discussed in Thread: AM3352

Hi

I have a couple of boards using AM3352 that ramdom stopped @ CCCCCCC

The board have a Valid NAND Flash properly programmed.

Lifting and turning on/off the power for 10 times; for 3 of this the board do not start and locks to CCCCCCC

So far, I have checked:

1. Power up power sequencing is correct and power is stable;

2. Boot mode selection voltages are correct;

3. SYSBOOT[4:0] = 00010b

4. TRST is locked low

5. The reset line looks OK on the scope happening a fair amount of time after the power si applied and stable

6. AM3352 do not Move any lines of Nand Flash.

PS:

Changing SYSBOOT[4:0] = 10010b

I do not Have this problem (board always starts!!)

but

with not programmed Nand AM3352 do not seek a valid interface for booting ( NAND--> NANDI--> USB0--> UART0 ) and therefore does not allow me to flash NAND over UART.

Where else should I be looking ? Is there an easy way to read the AM3352's mind as to why it doesn't want to begin the boot sequence ?

Many Thanks

M.

  • (Stopped or is printing "CCC" infinite?)

    The SYSBOOT[4:0] = 00010b corresponds to (UART0->SPI0->NAND->iNAND)

    UART0 is first. You have it.

    The SYSBOOT[4:0] = 10010b corresponds to (NAND->...)

    You have it too. 

    If blank (not programmed) flash does not result in UART0 boot then ... maybe it is not actually blank?

    Try to switch the SYSBOOT to 00010b. Not bad idea is to add a jumper to SYSBOOT<x> for initial NAND programming.

  • sviss said:

    (Stopped or is printing "CCC" infinite?)

    The SYSBOOT[4:0] = 00010b corresponds to (UART0->SPI0->NAND->iNAND)

    UART0 is first. You have it.

    The SYSBOOT[4:0] = 10010b corresponds to (NAND->...)

    You have it too. 

    If blank (not programmed) flash does not result in UART0 boot then ... maybe it is not actually blank?

    Try to switch the SYSBOOT to 00010b. Not bad idea is to add a jumper to SYSBOOT<x> for initial NAND programming.

    Occasionally on a programmed NAND  Powered Sitara we have seven "CCCCCCC" and Stopped.

    None CLOCK to RAM None activity.

    If we power-down and power-up the board Sitara Start.

    I think with SYSBOOT [4:0] = 00010b there is a problem with Internal ROM bootloader code.

    1)There is an HW Workaraund?

    2)Why using SYSBOOT[4:0] = 10010b  (this configuration solves this occasional ROM blocks) with a not programmed Nand, Sitara do not seek all the Boot Sequence (1st 2nd 3rd 4th) for serching a good boot device?

    I thought that if not find a valid NAND it could start from UART with the classic "CCCCCC", but is not so.

  • mirco gomiero said:

    Occasionally on a programmed NAND  Powered Sitara we have seven "CCCCCCC" and Stopped.

    None CLOCK to RAM None activity.

    "CCCC" printout means MLO is running expecting UART activity. If it stopped then most likely the problem is around power or reset.

    mirco gomiero said:

    2)Why using SYSBOOT[4:0] = 10010b  (this configuration solves this occasional ROM blocks) with a not programmed Nand, Sitara do not seek all the Boot Sequence (1st 2nd 3rd 4th) for serching a good boot device?

    I thought that if not find a valid NAND it could start from UART with the classic "CCCCCC", but is not so.

    Yes it is so. If NAND is not programmed, and the boot mode is "NAND->..->UART0" then NAND boot is skipped and MLO proceeds to the next option up to UART0. I verified that many times.

    Another question - what your processor gets from the invalid NAND, or maybe it finds another boot source from the middle of the list. It is not processor's responsibility to find the boot source, it is your responsibility to arrange boot sources so that processor will find the good one.

    Also if accounting for the first problem (above) - anything might happen.

    If UART0 boot  "CCCC" sequence hangs, something wrong is about hardware. 

    What could be suggested: 

    1) verify power, reset, floating bootmode pins, ensure no GPIO pins are shorted to VCC or ground.

    2) use JTAG debug to see if you can read registers/memory, and step the program in.