PSOC 4 BLE - Over the Air Update Using Shared memory

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

I found Shared memory bootloader and bootloadable project in PSOC creator 2.2.  As per projects, we need to activate bootloader service after pressing switch SW2. Is there any way to activate bootloader service without using external interrupt?

   

 

   

Is it mandatory to use Cypress BLE Dongle and Bootloader host application? What are possible ways to do OTA?

   

Please suggest application  notes and sample projects.

   

Regards,

   

Nilesh.

0 Likes
1 Solution
Anonymous
Not applicable

Hi Nilesh,

   

 

   

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!

   

 

   

Regards,

   

Uday

View solution in original post

0 Likes
3 Replies
Anonymous
Not applicable

Hi Nilesh,

   

 

   

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!

   

 

   

Regards,

   

Uday

0 Likes
Anonymous
Not applicable

Uday,

   

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?

   

Nilesh.

0 Likes
Anonymous
Not applicable
        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?   
0 Likes