PSOC 5LP Bootloader and application use the same UART

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

cross mob
GaSh_293351
Level 1
Level 1
5 replies posted Welcome! 5 questions asked

I have an application that uses a UART.

I want to use the same UART for the Bootloader.

I add the Bootloader module and config it to use the UART.

But the Bootloader is not working.

After powerup, the application is running.

When I create a project with only Bootloader and UART, the bootloader works fine.

And when I load (via bootloader) the bootloadable application, that includes the same UART, it works fine.

Is there any limit of defining one project with application and bootloader that use the same UART?

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

It is not possible to use the same UART in both bootloader and bootloadable.

Actually bootlader and bootladable should be seen as two separate projects in the same flash. When bootloader transfers the control to the bootloadable all the configurations of the peripherals will be re-written according to the bootloadable project. So you have to place UART in both Bootloader and Bootloadable.

But if you are using BLE component inside PSoC and if you want to use the BLE component to bootload the application ideally you have to put BLE component in both bootloader and bootloadable. This consumes a lot of flash because BLE stack occupies larger area in flash.

For this special case, we have developed Fixed stack and Upgradable stack BLE OTA projects where both bootloader and bootloadable uses the same BLE stack. You can have a look at the following appnote:

https://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota...

Hope this helps.

Thanks

Ganesh

View solution in original post

0 Likes
2 Replies
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

It is not possible to use the same UART in both bootloader and bootloadable.

Actually bootlader and bootladable should be seen as two separate projects in the same flash. When bootloader transfers the control to the bootloadable all the configurations of the peripherals will be re-written according to the bootloadable project. So you have to place UART in both Bootloader and Bootloadable.

But if you are using BLE component inside PSoC and if you want to use the BLE component to bootload the application ideally you have to put BLE component in both bootloader and bootloadable. This consumes a lot of flash because BLE stack occupies larger area in flash.

For this special case, we have developed Fixed stack and Upgradable stack BLE OTA projects where both bootloader and bootloadable uses the same BLE stack. You can have a look at the following appnote:

https://www.cypress.com/documentation/application-notes/an97060-psoc-4-ble-and-proc-ble-over-air-ota...

Hope this helps.

Thanks

Ganesh

0 Likes

Thanks.

This explains the problem.

0 Likes