Part Number: PROCESSOR-SDK-AM437X
Tool/software: TI-RTOS
Hi,
We have a custom board based on AM437x IDK.
As part of JTAG flashing, I will have to flash U-boot.bin for QSPI boot.
I tried erasing the size of u-boot and also entire memory(64 MB) before writing the u-boot to the QSPI using the flash writer example from the processor SDK..
Post flashing the device, if I perform a reboot, wait of some time(~ 1 min), the device still doesnt boot.
However, if I boot from SD-Card, erase the entire flash memory using the command (sf erase 0x0 0x4000000), remove the sd card, flash the device again(erase before write) using flash writer, the device boots.
Im not able to understand this behaviour.
In the U-boot, I have bypassed EEPROM.
Erase APIs tried:
gQspiAppFlashWriterObj.length = 0x4000000;
/* Computing the block numbers to be erased */
offsetAddr = 0x0;
startBlockNumber = (offsetAddr / qspiLibInfo.qspiLibFlashInfo.blockSize);
endBlockNumber = (offsetAddr + gQspiAppFlashWriterObj.length) /
qspiLibInfo.qspiLibFlashInfo.blockSize;
for (i = startBlockNumber; i <= endBlockNumber; i++)
{
QSPILibBlockErase(&qspiLibInfo, i);
}
QSPILibChipErase(&qspiLibInfo); // This API also doesnt help.
Kindly help.
Thanks in advance
Rohit