I have been working on a bootloader host program and have run into an issue when it comes to the program row portion of the operation, this process is explained in detail in Appendix C on document AN 68272 ( found on AN68272 - PSoC® 3, PSoC 4, PSoC 5LP, and PSoC Analog Coprocessor UART Bootloader ) . The issue is when the program row operation is sent to the psoc I will always receive back error code 0x03 or "The amount of data available is out of the expected range". Now I'm not sure why this is an issue because I send the correct amount of bytes to meet the size of the flash array size in the device. To go into extreme detail, I send 4 packets containing 57 bytes for the main bulk of the flash row and then the final 28 (256 - 57*4) bytes with the program row command. If anyone has an idea on what the issue maybe please respond.

Some further details

-I already converting the ascii characters from the cyacd file to hex and those hex values are the bytes being sent

-My buffer size on the uart in psoc creator is 64

- I've tried sending packets with individual bytes and still returned the same error

-The previous steps, enter bootload and get flash size work as intended with the appropriate responses

Unfortunately I am not using the code created by cypress and instead using my own c# custom boot loading application. If I continue to have problems with my own code I may need to switch over to what is provided, but for now I wish to continue with my own. Do you believe that the issue maybe bytes being lost during the transit from host to device? If that is the case wouldn't I receive a different error message? The most puzzling issue is that I don't receive any error message while the row data is being sent to the device but only when I send the program row command. Hopefully this info helps you with what the issue may be.

Additional question: Does the format of the data sent to the psoc need to be in hex? For example say you have the value 00 in the cyacd file, should the value that gets passed to the psoc 0x00 or 3030? This might be what is causing the issue but I am unsure.