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.

How can I burn the flash on my custom OMAP3 board?

As more and more folks start going toward prototyping and production I could see this question coming up more often, so I decided to start this thread to get some basic information out there and perhaps spur discussions on custom board bringup.

In general if you were to reflash the EVM or even a custom board you would do so using the serial boot utility in OMAP35x_SDK_x.x.x/board_utilities/windows_host/DownloadUtil.exe, the actual usage of this is discussed in depth in the SDK getting started guide section 5 which provides a solid step by step process. What this utility allows you to do is load a U-Boot image to the board over the serial port instead of flash, so you can get a U-Boot running on your board when the flash is not able to boot itself. Using U-Boot one can burn new images into the flash, and thus with this utility you can program a board from the ground up without having CCS involved, which is all described in the getting started guide.

Of course this process will run into an issue if you have a flash device that differs from the one that U-Boot is expecting, so to get past that you would have to modify the U-Boot source to take into account any differences in your flash and rebuild it. You should have a U-Boot source tree in OMAP35x_SDK_x.x.x/board_utilities/u-boot-1.1.4.tar.gz which you can extract and within you should find board/omap3evm/nand.c which contains the code that is used on the EVM when accessing the NAND, what you have to do here varies based on your actual NAND device, you should consult your NAND device’s documentation for details. After rebuilding U-Boot with the modified NAND code you should be able to go through the standard reflashing process that is discussed in the getting started guide.