Updating application firmware on EZ-BLE 012011 over UART from another micro-controller

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

cross mob
DhDa_2432241
Level 5
Level 5
5 likes given First like received First like given

Hello, 

   

I want to update the firmware on EZ-BLE 012011 over UART using another micro-controller. The .hex file containing the application firmware is stored in another micro-controller's flash. The file is then transferred to the EZ-BLE 012011 over UART which will flash the bluetooth module. 

   

Currently, I am using MiniProg3 to program the EZ-BLE 012011. I am not sure what kind of bootloader is there by default in the EZ-BLE 012011 module(eval board). 

   

Questions:

   

1. How do I update/flash the bootloader in EZ-BLE 012011 to accept firmware over UART?

   

2. If there a UART bootloader is built in already, what protocol should be followed to send the .hex file? 

   

3. How to set the BLE module into bootloader state?

   

Thanks

   

Dheeraj

0 Likes
1 Solution
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi Dheeraj,

   

Please have a look into our UART bootloader appnote for your queries.

   

Refer: http://www.cypress.com/documentation/application-notes/an68272-psoc-3-psoc-4-psoc-5lp-and-psoc-analo...

   

Thanks,

   

Anjana

View solution in original post

0 Likes
6 Replies
AnjanaM_61
Moderator
Moderator
Moderator
5 comments on KBA First comment on KBA 5 questions asked

Hi Dheeraj,

   

Please have a look into our UART bootloader appnote for your queries.

   

Refer: http://www.cypress.com/documentation/application-notes/an68272-psoc-3-psoc-4-psoc-5lp-and-psoc-analo...

   

Thanks,

   

Anjana

0 Likes

I was able to update the firmware over UART. Thank you. 

   

Should I flash the UART bootloader on EZ-BLE prior to flashing bootloadable?  (I know this is a one time thing but still is there a way to buy modules with UART bootloader)

   

What is the factory default bootloader in the EZBLE-012011?

   

I looked at this document but I couldn't find an answer
Refer: http://www.cypress.com/file/341546/download 

Thanks
Dheeraj

0 Likes
Anonymous
Not applicable

Hi Dheeraj,

   

The short answer is that there is no default bootloader available from the factory. The firmware on the CYBLE-012011-00 module from the factory depends on when it was manufactured. Before WW1701, they are effectively blank with no bootloader or application code. Starting in WW1701, they have EZ-Serial firmware loaded:

   

http://www.cypress.com/documentation/software-and-drivers/ez-serial-ez-ble-module-firmware-platform

   

However, EZ-Serial on the 128k modules (of which the '012011 module is one) does not have built-in DFU support because of flash constraints. This means that if you need UART bootloader capability, this has to be flashed after obtaining the modules.

   

In case this is helpful, Cypress also provides programming fixtures for flashing firmware into bare modules. The following item can be used with CYBLE-012011-00 modules:

   

http://www.cypress.com/documentation/development-kitsboards/cyble-012011-prog-ez-ble-module-programm...

   

Thanks,

   

Jeff

Thank you. This is what I exactly needed. 🙂

0 Likes
Anonymous
Not applicable

Hi,

I am trying to update the firmware of my CYBLE222014-01 using an external micro controller. I'm just curious if I'm going about it the right way. I believe I have integrated the boot loader host code from AN68272 into my micro controller properly...

Currently I am sending the ez-serial command to DFU Reboot. Once I get the response I use the BootloadStringImage() function from the boot loader host example code. Is this the right order of events?

Also, is the UART when in boot loader mode also 115200?

0 Likes