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: Programming queries

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

Currently we are following the steps mentioned in Manual JTAG Load to download the Flash Programmer and Programming the Flash Device to burn the Application Binary on to the QSPI flash in our board. We have couple of questions on the above steps.

TI Programming sequence suggests that the Boot mode should be set to “0000 – No Boot mode” before downloading the Flash Programmer.

Also a UART port to be connected to download the “Application Binary” which is going to be flashed on QSPI device.

Questions:

  1. To avoid DIP Switch - Can we program the flash in “QSPI boot mode – 1001” without the boot mode pins changed to “0000 – No boot mode” ?
    1. Our understanding is that the JTAG interface takes control of the processor when it downloads the Flash Programmer
    2. When it is executed it will receive the Application Binary thru UART port and burn the QSPI flash.
    3. In this case we can avoid the DIP switch setting. Is this understanding correct ?
  1. To avoid Serial Interface - Is it possible to download the Application Binary also thru JTAG interface instead of downloading thru UART (serial) port ? and use the JTAG console to issue programming / erase commands to QSPI flash ?
  2. To avoid JTAG Interface - Is it possible to avoid JTAG interface completely and download the Flash Programmer thru serial (UART) interface and later download the Application Binary also thru serial interface and burn it in QSPI flash ?
    1. In Supported Platforms for K2G, we don’t see the UART as a “Download Mode” option.
  1. Is there a QSPI flash programming option available in CCS studio instead of all these procedure ? so that we directly provide the Application Binary file thru the JTAG debugger and directly program the QSPI flash ?
  • This thread was assigned to the hardware team, but all of your questions are a function of ROM code. I will reassign this thread to the appropriate software team..

    Regards,
    Paul 

  • To avoid DIP Switch - Can we program the flash in “QSPI boot mode – 1001” without the boot mode pins changed to “0000 – No boot mode” ?
    1. Our understanding is that the JTAG interface takes control of the processor when it downloads the Flash Programmer
    2. When it is executed it will receive the Application Binary thru UART port and burn the QSPI flash.
    3. In this case we can avoid the DIP switch setting. Is this understanding correct ?

    Yes, I don`t see any issues with configuring the device in QSPI boot mode and flashing it.  The other option available to you is even if the board i hardwired to boot from QSPI, you may be able to unlock KICK registers and program no boot mode settings into DEVSTAT register and force a warm reset where the boot mode pins are not latched on the device. This should force the device into no boot settings. You can try this on the EVM  prior to testing this on your HW.

    To avoid Serial Interface - Is it possible to download the Application Binary also thru JTAG interface instead of downloading thru UART (serial) port ? and use the JTAG console to issue programming / erase commands to QSPI flash ?

    This will require some code modifications, current flash tool support only reading the image over UART using Xmodem protocol and flashing the QSPI. To do this over JTAG, you will need to modify the xmodem protocol to do the file read using fopen and flash to the QSPI.

    In older SDKs prior to creation of Uniflash tools, we did support QSPI flashing completely over JTAG. For example, if you refer to 5.0 documentation (this SDK version was prior to uniflash tool release)

    https://software-dl.ti.com/processor-sdk-rtos/esd/docs/04_03_00_05/rtos/Foundational_Components.html#k2g 

    To avoid JTAG Interface - Is it possible to avoid JTAG interface completely and download the Flash Programmer thru serial (UART) interface and later download the Application Binary also thru serial interface and burn it in QSPI flash ?
    1. In Supported Platforms for K2G, we don’t see the UART as a “Download Mode” option.

    Yes, the uniflash tool supports programming completely over UART interface. However, from the Uniflash tool documentation, it appears this option was not validated on K2G

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

    Is there a QSPI flash programming option available in CCS studio instead of all these procedure ? so that we directly provide the Application Binary file thru the JTAG debugger and directly program the QSPI flash ?

    Besides the Uniflash tools, we do provide the flash driver in the board library and QSPI driver for development of custom flash programming. I would recommend that you look at the QSPI flash writer in older SDKs for a completely CCS based approach to programming the QSPI if you don`t want to modify the switch setting or use UART for image input.