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.

66AK2G12: Backup Boot Configuration

Part Number: 66AK2G12
Other Parts Discussed in Thread: UNIFLASH

Good afternoon, 

I'm designing a board with the main bootmode as a QSPI and the backup as USB. In the TRM I see how to set USB as the backup via a pull down resistor on pin 15 of the bootmode pins. Where can I find more information on booting through the back USB when the main mode is already configured for QSPI? I did not find information related to back boot configuration in the TRM, this is what I am seeking. 

Additionally, is it possible to boot from JTAG as a backup? I did not see this listed as an option. I am trying to cover the first time use case where the NVM connected to the QSPI does not contain valid data. 

Thank you!

  • Riley Kilfoyle1 said:
    I'm designing a board with the main bootmode as a QSPI and the backup as USB. In the TRM I see how to set USB as the backup via a pull down resistor on pin 15 of the bootmode pins. Where can I find more information on booting through the back USB when the main mode is already configured for QSPI? I did not find information related to back boot configuration in the TRM, this is what I am seeking.

    The information on booting K2G using USB using boot ROM is sparse because the Processor SDK RTOS and Linux SDK  offering does not support this feature as it is not a widely used usecase for this device.   The USB device booting from host was tested using Zadig utiltiy on Windows and DFU tool in Linux.

    Please refer to the document attached for my notes on this boot mode.

    K2G_USB_boot_reports.docx

    Riley Kilfoyle1 said:
    Additionally, is it possible to boot from JTAG as a backup? I did not see this listed as an option. I am trying to cover the first time use case where the NVM connected to the QSPI does not contain valid data. 

    Only UART and USB boot modes can be setup as potential back up boot mode. JTAG boot is equivalent to "Sleep" boot mode. Setting up UART boot mode may be best suited in absence of "Sleep/JTAG" boot mode. As it only setup the ARM, SYS PLL and UART PLL and send ping characters on the serial console. USB boot mode has PHY, high speed serdes setup and other initializations. We also provide a UART based flashing utility called uniflash and UART app loader utility that may be helpful to perform first time flashing or for automating application testing.

    https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/rtos/index_board.html#uniflash 

  • Thank you, that is helpful but doesn't solve my problem. The scenario I'm trying to deal with is when the board is first manufactured and the QSPI flash does does not contain valid information. In this case, ideally I would like to boot from JTAG/Sleep mode the first time and then from the QSPI every time after that. Is this possible? 

  • Riley,

    You can connect and load images over JTAG on the device even if specific boot mode is set. For example if you set the boot mode as QSPI (primary) and UART (backup) , you can connect to device over JTAG using CCS, do a system reset/CPU reset and initialize the core using GEL files in CCS and then program the QSPI flash using flashwriter that we provide.

    The only difference between JTAG boot mode and any other boot mode is that in JTAG/Sleep boot mode, the ROM will read the boot pins and then without any initialization keep the core in WFI state to allow emulator to connect. In case of specific boot mode, the ROM will setup the PLL and device clocks, pinmux  and peripheral initialization required for specific boot mode and then try to read the image from the flash. If there is no image in the flash, it will setup the clocks and pinmux and hang as it will not find valid image with the boot image header.

    In summary, you can connect JTAG in any boot mode and program the flash so what you are trying to do is feasible.

    Regards,

    Rahul

  • Thank you, that is exactly what I was hoping to find. Where can I find documentation on this process of connecting and loading images via JTAG?

    Regards, Riley

  • Riley,

    We provide the instructions to connect to TI evaluation platform and provide the reference GEL initialization script that will run when you connect to the cores using JTAG. The instructions for the K2G GP EVM are provided below:

    https://software-dl.ti.com/processor-sdk-rtos/esd/docs/06_03_00_106/rtos/index_how_to_guides.html#ak2gx-gp-evm-hardware-setup