A Bootloader and Bootloadable project have been created and compiled and the .hex file of the Bootloadable programmed into the device.
You should have programmed the .hex file of the Bootloader instead.
Bob: Thank you for your response.
Programming the Bootloader .hex file will cause only the Bootloader to execute and wait forever till the Enter Bootloader (0x38) command is received.
Programming the Bootloadable .hex file will cause the Bootloader to execute and wait till the Bootloader_WAIT_FOR_COMMAND_TIME expires to then execute the Bootloadable.
Therefore, the device should be able to be programmed with the Tools/Bootloader Host whenever the device is in the Bootload mode (i.e. any time if just the Bootloader resides on the device and any time before the wait time has expired if the Bootloadable resides on the device (with the Bootloader)).
The solution to the issue has been found.
As Hima of Cypress suggested, the Bootloader UART RX and TX buffer size should be increased from 8 to 64 bytes.
With that change, the Tools/Bootload Host... application is now able to program the device with the .cyacd file when the device is in the Bootloader mode (i.e. before bootloader timeout or when the Bootloadable firmware is not residing in the device).