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.

ROM Loader: Can't get the AM3517 ASIC ID using FlashTool V1.6 through UART3

Other Parts Discussed in Thread: FLASHTOOL, AM3517

I am trying to use FlashTool V1.6 to program my custom board, unfortunately, the tool stops at Awaiting ASIC ID.  The ROM Loader does not appear to be starting.

I have checked BOOT[5:0] (set to 0b101101), G22 VDDA1P8V_USBPHY voltage and VDDA3P3V_USBPHY voltage (both connected), and verified we are connected to UART3 (flow control disabled).

NOTE: I have used AM3517 EVM board (our reference design), and sucessfully run FlashTool V1.6 to program flash.

Is there any thing else I can check on the board???

I would appreciate any suggestions.

  • Hi,

    Is this a new board? Have you checked that all voltages, oscillator clocks, and reset signals function properly? Are you trying to boot from USB or UART?
  • Thank you for responding so quickly.

    This is a custom AM3517 board, running Micrium RTOS, and we have been developing code for about six months.The only other problem we have had with the board is enabling the data cache, which I am still investigating.

    I am trying to boot from UART to load the flash with X-loader/U-boot, however, I have been unable to get the ROM loader to start; i.e. cannot get the Asic Code (40x) to print out.  We tried several combinations of BOOT settings after POR, and none could get the ROM loader to start.

    Any suggestions would be greatly appreciated.


    Thanks!

    Kerry

  • Can you post the SYSBOOT settings you use? Have you verified that these pins are actually at the desired voltage levels at POR release time?
  • The SYSBOOT settings we are trying to use are:
    BOOT[5:0] 0b101101 for UART boot
    BOOT[5:0] 0b001100 for NAND boot [Default]
    These are the same settings as the AM3517EVM.

    Other settings we tried for starting the ROM loader/UART boot:
    0b101101, 0b101110, 0b101111, 0b110010, 0b110111, 0b111011, 0b111100, 0b111111

    We checked all of the pins, and verified that they are actually at the desired voltage levels at POR release time.
  • Do you have JTAG capability? If so, can you post a register value? I'd like to see the word at 0x480022F0. The lower 5 bits are the sysboot pins sampled at boot up.

    Steve K.

  • Thank you for the tip, I am going to try and test various boot settings and see if I am able to get to the ROM loader to start and boot to UART3.

    Another question, Is there a way to get a copy of the ROMloader.bin???  The JTAG is working, so an alternative is just start the ROM loader in internal memory.

    Thank you for the help!

    Kerry

  • Steve,

    I tried many combinations of the boot lines (all verified at 0x480022F0), and still no luck getting the AM3517 ASIC ID on UART3.
    Is it possible the ROM loader is being disabled by another GPIO pin, causing it not to run???
    Please let me know.

    Thanks!
    Kerry
  • Hi Kerry,

    Were you able to use JTAG to look at the vectors that show where the boot failed?

    If so, if you could post those that would be great.  The Sitara team will take a look at that and try to help further.

    Thanks!

    Paul

  • Hi Paul,

    I have been trying to program the NAND Flash using a JTAG connection, however, I am still unsuccesful.

    Can you please have the Sitara team look at the problem again???

    Thanks!

    Kerry
  • For completeness, please provide the resistor strap values for all SYS_BOOT pins, 8 through 0.
    Also, precisely which pins (aka. balls of the package) are used for UART3? The caution in Section 24.4.1.1 of the Technical Reference Manual indicates that the pins that support UART3 with MUXMODE=0 are to be used.
  • Brandon,

    We are going to use the same bootstrap assignments from the AM3517 evaluation module:

    ---BOOT STRAP for NAND (BOOT[5:0] 0x001100) or *ROMLOADER (BOOT[5:0] 0x101101);
    BOOT *BOOT0 - 4.7K to GND (*add 1K to 3.3V for ROMLOADER), BOOT1 - 4.7K to GND, BOOT2 - 4.7K to 3.3V, BOOT3 - 4.7K to 3.3V, BOOT4 - 4.7K to GND, *BOOT5 - 4.7K to GND (*add 1K to 3.3V for ROMLOADER), BOOT6 - 4.7K to 3.3V, BOOT7 - 4.7K to GND, BOOT8 - 4.7K to GND
    ---UART3 BGA PINS;
    UART3_TX (P2), UART3_RX (P1)

    Please let me know if there is anything else you can suggest looking at.

    Thanks!
    Kerry
  • Brandon,

    We are going to use the same bootstrap assignments from the AM3517 evaluation module:

    ---BOOT STRAP for NAND (BOOT[5:0] 0x001100) or *ROMLOADER (BOOT[5:0] 0x101101);
    BOOT *BOOT0 - 4.7K to GND (*add 1K to 3.3V for ROMLOADER), BOOT1 - 4.7K to GND, BOOT2 - 4.7K to 3.3V, BOOT3 - 4.7K to 3.3V, BOOT4 - 4.7K to GND, *BOOT5 - 4.7K to GND (*add 1K to 3.3V for ROMLOADER), BOOT6 - 4.7K to 3.3V, BOOT7 - 4.7K to GND, BOOT8 - 4.7K to GND
    ---UART3 BGA PINS;
    UART3_TX (P2), UART3_RX (P1)

    Please let me know if there is anything else you can suggest looking at.

    Thanks!
    Kerry
  • Okay, thank you. So far, I haven't determined an area to investigate based on this information. We may need to go a bit more basic.
    Is this the first board implementation with the AM3517, or have you successfully used your own target hardware before, but this is the first time a UART boot was attempted?
    I'm trying to understand if something more basic and fundamental is an issue, or does the board work fine except for the UART booting?
  • Brandon,

    We are going to use the same bootstrap assignments from the AM3517 evaluation module:

    ---BOOT STRAP for NAND (BOOT[5:0] 0x001100) or *ROMLOADER (BOOT[5:0] 0x101101);
    BOOT *BOOT0 - 4.7K to GND (*add 1K to 3.3V for ROMLOADER), BOOT1 - 4.7K to GND, BOOT2 - 4.7K to 3.3V, BOOT3 - 4.7K to 3.3V, BOOT4 - 4.7K to GND, *BOOT5 - 4.7K to GND (*add 1K to 3.3V for ROMLOADER), BOOT6 - 4.7K to 3.3V, BOOT7 - 4.7K to GND, BOOT8 - 4.7K to GND
    ---UART3 BGA PINS;
    UART3_TX (P2), UART3_RX (P1)

    Please let me know if there is anything else you can suggest looking at.

    Thanks!
    Kerry
  • Brandon,

    The board works fine except for the UART/ROM booting.
    In addition, last week I tested another board we developed, also using the AM3517, and I cannot get the ROM loader working on that board either.

    The only board that I can get the UART/ROM booting to work is the AM3517 EVM, and I have been unable to identify any hardware differences which would cause this issue.

    Please let me know what I should investigate next.

    Thanks!
    Kerry
  • Can you check the DEVICETYPE field in the CONTROL_STATUS register (0x480022F0)? Make sure it is a 3. I vaguely remember on another processor several years ago someone had a part where it was a 0 and the boot ROM for that part didn't like that.

    Steve K.

  • Steve and Brandon,

    Good news! We finally traced the issue to the ROM loader serial communication.

    For the AM3517 EVM we were using a standard DB9 null-modem cable, and the terminal software (TeraTerm) was set at:
    Debugger: 115200bps, 8 data bits, no parity, 1 stop bit (115200 8-N-1)
    X-Loader/U-Boot: 115200bps, 8 data bits, no parity, 1 stop bit (115200 8-N-1)
    UART/ROM Boot: 115200bps, 8 data bits, no parity, 1 stop bit (115200 8-N-1)

    For our AM3517 boards we were using a USB to Serial Adaptor, and the terminal software was set at:
    Debugger: 115200bps, 8 data bits, no parity, 1 stop bit (115200 8-N-1)
    X-Loader/U-Boot: 115200bps, 8 data bits, no parity, 1 stop bit (115200 8-N-1)
    UART/ROM Boot: 115200bps, 8 data bits, *EVEN* parity, 1 stop bit (115200 8-E-1)

    This explains why the only board that I could get the UART/ROM boot to work is the AM3517 EVM.

    Thank you for all of your help getting through this issue.

    Greatly appreciated and best regards,
    Kerry