The SW2 switch (or any external interrupt) is just a way for the bootloadable to know that it is time to switch to the bootloader. As long as something can be that trigger it will work.
If you don't want to use external interrupt, I could suggest you another way - trigger it via BLE itself.
Basically you can keep the bootloader service enabled at all times, and add a new characteristic to it. When the Client writes to this characteristic, the device would take that to be the trigger and switch to the bootloader mode. This would require some changes to the existing project however.
You can do an OTA upgrade using three ways right now -
1. Use the Bootloader Host tool with a Cypress BLE Dongle
2. Use the CySmart PC tool with a Cypress BLE Dongle
3. Use the CySmart Android or iOS app with a BLE enabled phone
Basically the bootloading process is a set of commands to be followed. As long as a device can send these commands in the right order, and with the right data, any device will work (meaning it need not be a Cypress device only).
Sample projects for the bootloader/bootloadable are in PSoC Creator. We don't have any projects for the host application.
An application note is being created right now and is coming up shortly. Stay tuned!
Please let me know steps to do the OTA using CySmart tool and Dongle.
Can we send some commands using CySmart tool to activate boolloader on PSOC 4 device?
Uday - You suggested to enable bootloader service all the time and add characteristic to it.
Do I need to add characteristic to both bootloadable and boot-loader projects?
Can we add two projects through bootloader & boot loadable. We can put a bootloader which we want to add & bootloadable in main project then add a hex file in dependencies. Will it work?