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,