Thanks for your reply Bob. I am working on custom Psoc bootloader so as per my project I also need a binary file. Is there any way to generate binary output file by changing in build setting. I also tried hex2bin utility but it turncate some of the data during conversion.

Thanks Bob. I made my custom bootloader without using the existing bootloader component but I am unable to jump to the application from bootloader.Below is my function. I am using the below code for launch application:

It is possible to create a bootloader component with custom code. I've done this but it requires complete understanding of the Cypress bootloader. I can tell you it will cost a lot of time and effort too, to create your own.

I've also written several PC tools, 1) for parsing HEX file, encrypting and uploading it to a server and 2) for customers to upload new firmware from the server into their devices (see attachment).

For most applications CY's bootloader is well suited, unless you want smaller flash footprint, custom encryption or similar custom requirements...

If I understand correctly the process, I need to save the HEX file in the RAM, and then transfer it to the Bootloader component using the 5 custom functions (start, stop, reset, read, write).

The problem is that my RAM's size is 128KB, while the HEX file is more than 280KB (I'm using a 4200M device with 128KB flash), so I need to convert the HEX file to BIN before transfering it to the RAM, while the Bootloader component expects to receive a HEX...

Changing the format from ASCII to hexadecimal would alone save 50%. There are a lot of spaces and other redundant information in the Intel Hex file. I know that the resulting format is a non-standard, but in this case it's the efficiency that rules. Converters are not too difficult to program.

i write in this post so maybe someone can help me to understand my issue; i want to send the file cyacd with lin interface, as you now all the node see the raffic so i put the file cyacd inside the message of LIN protocol and extract inside the BLE node , i modify the read function so the Bootloader Cypress receive data from LIN but i think that the problem is the cyacd file; the official HOSt uart bootloader open this file and send a bin version of it so the same routine of Bootloader inside the node are able to understand and programming flash.

If i use a simple uart link with Cypress HOST it work, maybe i have to convert the cycacd to bin file for bootloader. What do you fthink about this?