Bootloader using UART

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

cross mob
Anonymous
Not applicable

Hi all,

   

I am using bootloader first time. I've created four files 1.a bootloader with LED_1 blinking.

   

2.a bootloader with LED_2 blinking.

   

and also 3. Bootloadable which links to hex file of 1st of above fiile  and

   

4. Bootloadable which links to hex file of 2nd of above fiile.

   

Now programming of 3rd file by Miniprog3 will blink LED_1. and according to my understanding if i upload .cyacd file of 4th file by bootloader host application (provided in example project ) it should blink LED_2 but it's blinking LED_1 .

   

I also tried by disabling bootloader application validation.

   

I've read AN68272 (example project for UART) but there both the bootloadables are linking to same hex file.

   

where should be the problem?

0 Likes
2 Replies
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Linking your application (the 'bootloadable') to the bootloader is just there for putting the application into the proper memory location (for that it needs to know the bootloader size). Uploading the application doesn't also upload the bootloader.

   

So you have two bootloaders, b1 and b2, and two applications, a1 and a2. a1 is linked to b1, and a2 to b2. Assuming b1 is on the PSoC, uploading a2 will leave b1 in place - but a2 will be uploaded to flash memory in a location determined by the size of b2. So if b2 is smaller than b1, a2 might override the bootloader.

   

So you need to link your applications to the same bootloader which is on the PSoC.

   

This is explained in more detail (and with images even 🙂 in the bootloader component data sheet.

0 Likes
Anonymous
Not applicable

Thanks Hli , you solved my misunderstanding about UART bootloader.

   

Actually i was using LED blinking in Bootloader project, where it should be used in bootloadable project.

0 Likes