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.

TMS570LS3137: TMS570 Bootloader - Ymodem_Receive

Part Number: TMS570LS3137

Hi,

I am working on Hercules_MCU_Bootloader.zip  (processors.wiki.ti.com/.../TMS570_Hercules_MCU_Bootloader)

Ymodem_Receive() works well only if I put a breakpoint within the following lines inside Ymodem_Receive():

======================

oReturnCheck = Fapi_BlockErase( ucBank, FlashDestination, size); // brkpoint here or

// Return an error if an access violation occurred.
if(oReturnCheck)
{
UART_txByte(sci, CAN);
UART_txByte(sci, CAN);
return -2;
}

UART_txByte(sci, ACK); // or brkpoint here
UART_txByte(sci, CRC);

===========

Otherwise, Ymodem_Receive() returns 0.

I am using Teraterm. TeraTerm=>File=>Transfer=>YModem=>Send.

#define UART_BAUDRATE     115200, 8-bit data, no parity, 1-bit stop, this is what the bootloader expects.

This looks like timing issue. I tried to cause delay instead of breakpoint. Delay did not make a difference, Ymodem_Receive() returns 0.

Any help would be great.

thank you,