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.

Memory vs Peripheral Booting

Other Parts Discussed in Thread: AM3517

I've been reading through the sprugr0b.pdf, and on the AM3517 the the same pins, sys_boot[5:0], are used for determining the boot order for both Memory booting and Peripheral Booting.  How is it determined which of these boot modes (memory or peripheral) is being performed?

  • Bryan,

    In section 9.1.3.3.2 of the TRM there is an explanation that it is SYS_BOOT[5] that chooses between memory and peripheral boot.  SYS_BOOT[5] = 0 -> memory, SYS_BOOT[5] = 1 -> peripheral.

    Greg

    Please click the green verify button if this answers your question.

  • Quick follow up question.  We're using the logic PD Som-M2 on our boards.  It seems that logic pd used some of the boot lines for GPIO(boot[4],boot[3],boot[1] are fixed to 0,1,0) so all we have for settable boot pins are boot[5],boot[2], and boot[0].  We want the USB to be before NAND so the only settable is 0b101100 for sys_boot[5:0].  This yield EMAC->USB->MMC1->NAND.

    I have a question about EMAC.  We don't plan on using this, but how common of a boot interface is this.  Do we have to worry about a customer running one of these boot servers on their own network?  or is the ASIC ID unique to the AM3517 and other servers that don't normally program am3517s should not try to respond to the am3517 datagram packet.  We don't want an unknown server accidentally programming our board with an image.

  • This would not be a common situation at all.  The EMAC boot process would be similar to other peripheral boot processes where the ROM code is looking for a very specific handshake protocol in order to get an image transferred.  The boot server is not something common like a tftp server used by u-boot.

    See Sec 24.4.5.4 of the TRM

    Greg