Why not use supply voltage [5V0] as trigger to start bootloader ?

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

cross mob
pacr_284376
Level 5
Level 5
100 replies posted 10 solutions authored 50 sign-ins

Hi,

My product has an i2c connection (Vcc, Gnd, Sda, Scl) which is easy accessable. Programming connection are inside the product and difficult to access.

Until now I use a bootloader which waits 2 seconds for i2c bootloader trigger and after that it starts the normal application with the possibility to skip this waiting time by i2c command

It works but makes startup procedures and bootloading pretty complex to start [not only using the I2C Bootloading Application].

Now I was thinking why not trigger the bootloader by applying 5V0 to the Vcc ? My application always uses 3V3 so if I let the bootloader start as soon as 5V0 is applied it would make life much easier.

Before rewriting this part of my project I would like to know does anyone use this same concept ? Am I overlooking something ?

Thanks

Patrick

0 Likes
1 Solution
lock attach
Attachments are accessible only for community members.
pacr_284376
Level 5
Level 5
100 replies posted 10 solutions authored 50 sign-ins

I finished my bootloader and here is my result, in case someone else also needs this.

Bootloader starts (for 2 seconds) only when Vdd=5V. In normal application supply is 3V3 so bootloader is skipped.

I used 2 pins to select an i2c adress for the bootloader because I have more identical modules on the same pcb.

By using my MiniProg3 I can select the voltage for testing.

See attachment for the finished bootloader project

I used AN60317 (I2C Bootloader) and the Bootloader and Bootloadable components PDF

View solution in original post

0 Likes
3 Replies
himam_31
Employee
Employee
50 likes received 25 likes received 10 likes received

Hello Patrick,

It is technically feasible. You can configure Low /High Voltage interrupt and make use of the ISR. For details on configuring LVD interrupt please have a look at the application note: http://www.cypress.com/documentation/application-notes/an54460-psocr-3-and-psoc-5lp-interrupts

Can you please look into this example. Please let us know if you have any further questions.

Thanks,

Hima

Thanks for the remark, I didnt know there was an interrupt for it.

I finished the project now and used the ADC to measure the Vdd and start or skip the bootloader accordingly. I only need to check at startup (bootloader) and not in my bootloadable.

0 Likes
lock attach
Attachments are accessible only for community members.
pacr_284376
Level 5
Level 5
100 replies posted 10 solutions authored 50 sign-ins

I finished my bootloader and here is my result, in case someone else also needs this.

Bootloader starts (for 2 seconds) only when Vdd=5V. In normal application supply is 3V3 so bootloader is skipped.

I used 2 pins to select an i2c adress for the bootloader because I have more identical modules on the same pcb.

By using my MiniProg3 I can select the voltage for testing.

See attachment for the finished bootloader project

I used AN60317 (I2C Bootloader) and the Bootloader and Bootloadable components PDF

0 Likes