PSoC 5 LP Dual Application Bootloader Checksums

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

cross mob
jagic_3937361
Level 1
Level 1

We are using PSoC Creator 4.1 and converted our test application to bootloadable.

When we flash over JTAG either  app_1.hex or app_2.hex the bootloader checksum verification fails for both apps.

If we flash the combined app.hex, the bootloader detects that both applications have good checksums and it runs the first one.

Why do the single application packages fail?

0 Likes
1 Solution
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Bootloader_Start() transfer control to one of the applications based on active and valid characteristics of each apps. The Switching Logic Table is available in Bootloader datasheet.

Please change Bootloader_Start() to Bootloader_Exit(Bootloader_EXIT_TO_BTLDB_1), if you are programming Bootloadable_1.hex or vice versa to test this behavior. It will validate and load single application right away.

View solution in original post

0 Likes
3 Replies
GeonaP_26
Moderator
Moderator
Moderator
250 solutions authored 100 solutions authored 50 solutions authored

Bootloader_Start() transfer control to one of the applications based on active and valid characteristics of each apps. The Switching Logic Table is available in Bootloader datasheet.

Please change Bootloader_Start() to Bootloader_Exit(Bootloader_EXIT_TO_BTLDB_1), if you are programming Bootloadable_1.hex or vice versa to test this behavior. It will validate and load single application right away.

0 Likes

When I call the Bootloader_Exit() API it works as I would have expected.

App_1.hex will boot when Bootloader_EXIT_TO_BTLDB_1 is used, and not boot when Bootloader_EXIT_TO_BTLDB_2 is used.

App_2.hex will boot when Bootloader_EXIT_TO_BTLDB_2 is used, and not boot when Bootloader_EXIT_TO_BTLDB_1 is used.

So, it appears that the bootloader switching logic is not able to handle the single app bootloadable hex packages in a dual app boot configuration.

From what I can see when cyelftool -B app_1.elf is called the generated hex file is complete.

Is the elf merge step (cyelftool -M) necessary for creating a valid dual app hex file?

0 Likes

Yes. Both applications needs to be valid and present in the bootloadable.hex file.

0 Likes