[FAQ] AM263P4-Q1: How to flash/program custom external flashes

Part Number: AM263P4-Q1
Other Parts Discussed in Thread: UNIFLASH

This FAQ explains how to setup the flash utility to flash into external flashes which are not supported out of the box. The method mentioned in this FAQ would be the same for AM261 and AM263 devices as well


Custom boards will have custom external flashes. The Uniflash tool can be modified to support the flash of your choice. By default, the tools can be used to flash into boards having the same flash part which are present in the EVM. In case of AM263P, this would be IS25LX256 Flash.

- First, we need to make sure that our flash configurations are correct. For this we need to find out the flash configurations. The below mentioned SDK developer guide explains how to add support for custom flash device

Adding Support for Custom Flash Device: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/CUSTOM_FLASH_SUPPORT_GUIDE.html

- Once we have acquired the SFDP table aka flash configurations for the flash, please try to run the ospi_flash_io example in the SDK with the new flash configurations. If the example prints 'All tests passed' this proves that our flash configurations are correct, and we are good to go the next step.


Enabling Uniflash GUI tool to flash into custom flash device

- The uniflash GUI tool uses a flasher binary to communicate with external flashes.

- SDK has provided us the option to build this flasher binary on our own. The flasher program is a project/example in the SDK.

- SDK relative path to Flash Program, jtag_uniflash: tools/flasher/jtag_uniflash

https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/TOOLS_FLASH.html#TOOLS_FLASH_JTAG_UNIFLASH

- Change the flash configurations of this example to the one used to run ospi_flash_io and build it.

- Open Uniflash GUI tool and go to Setting and Utilities

- Here, enable the Custom Flasher check box.

-The tool now asks for the flash path and flash name, fill the fields accordingly and try to load an image.