USB automatic Bootloader

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

cross mob
GePa_4776901
Level 1
Level 1
10 sign-ins 5 questions asked 5 sign-ins

 

I want to implement an automatic bootloader.

I'm using CY8C6247BZI-D54 MCU and ModusToolbox.

I was able to follow the tutorial, and modify to do it via USB here: https://cypresssemiconductorco.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#section_df...

but I need to push a button to run my application, or reset to run the bootloader.

In my application, I will have a computer connected via USB, and at startup I need to have a batch on the PC to send a command to check the firmware version, and if it's not the latest, to download the new firmware, all done automatically.

How can I do that?  I'm thinking setting a variable in the "EEPROM" and then reset, the bootloader checks for that variable, and if it's not set jumps directly to the application or goes to the bootloading part of the code...

Is there an easier way? is there an example for ModusToolbox that implements an "automatic" bootloader (without pushing buttons or setting jumpers)?

With this approach I see one problem, what happens if the bootloadable app doesn't set that variable... the bootloader will never be called again.

What considerations do I need for initialization of the USB (once in bootloader and once in the application)

Thank you!

 

0 Likes
1 Reply
Alakananda_BG
Moderator
Moderator
Moderator
50 likes received 250 sign-ins 250 replies posted

Hi,

You can use the PSoC 4 USB Bootloader code example which I have attached below.

You can do the same setting for  PSoC 6 USB also as the setting is similar for both PSoC 4 and PSoC 6 USB.

AN73503 - PSoC® USB HID Bootloader (cypress.com)

Is there an easier way? is there an example for ModusToolbox that implements an "automatic" bootloader (without pushing buttons or setting jumpers)?

>>Currently there no such code examples which will implement automatic Bootloader.

With this approach I see one problem, what happens if the bootloadable app doesn't set that variable... the bootloader will never be called again.

Can you throw more light on this query so that we can understand better.

Regards

 

 

 

Alakananda
0 Likes