I have a PSoC6 dev kit and want to do upgradable stack OTA firmware upgrade through BLE. I have done this in psoc creator 4.2 but when I updated to 4.3, the example Bootloader_BLE_Upgradable_Stack_App0 project is not compiling. Particularly, it is removing/replacing certain files which has been modified for the upgradable stack application. In PSoC creator 4.2, it asks whether we want to replace or leave it as is and if we click on 'cancel' it works fine.
I get the following errors when I try to go ahead with those files removed
Is there a fix for this in psoc creator 4.3?
I also saw that people are using Modus Toolbox instead. I like the PSoC creator. Should we be shifting to develop with that i9n the future?
Thanks and Regards,
What all are the files that you have modified in the PSoC Creator 4.2 DFU OTA code example?
We recommend you to start with DFU code example in PSoC Creator 4.3 and add your files in which you have made modifications.
Can you please attach your PSoC Creator 4.2 project so that we can test porting here?
>>"I also saw that people are using Modus Toolbox instead. I like the PSoC creator. Should we be shifting to develop with that i9n the future?"
--> Modus Toolbox is our future IDE. All the development and product support for the future is concentrated on Modus Toolbox.
--> Although PSoC Creator is a very friendly IDE, it has few drawbacks. Please go through the attached document to understand the importance of Modus Toolbox.
Thanks and regards
Thank you so much for your reply. It is the example Bootloader_BLE_Upgradable_Stack_App0 project for PSoC 6. I didnt change anything.
Below is an excerpt from the docs. I am not getting the 'Cancel' button on the PSoC Creator 4.3.
Attached is the project that works on Creator 4.2
Thanks and Regards,
Any updates here? a bit stuck. I dont want to be using the old PSoC creator 4.2 as this one is a new project and might go on into the next quarter.
Sorry for the delays happening. We reproduced the issue that you are facing. Our team is still looking on it. Please give little time.
Thanks for your reply, Ganesh. Let me know if you need any more info. I can assist with performing experiments if any. Been using the PSoC creator for almost 2 years on a couple of projects.
The issue really is incompatibilty of the BLE Upgradable Stack Bootloader example with the PDL version and not the creator IDE.
The example builds on C:\Program Files (x86)\Cypress\PDL\3.0.4
but not in C:\Program Files (x86)\Cypress\PDL\3.1.1
(windoews -> options)
The above issue happens in psoc creator 4.2 as well.
The messages you see for replacement happens when you target a different version of the PDL than it was created on. Right-click on project > Build Settings > Peripheral Driver Library > Point to the same PDL version you used to create the project previously.
You can find the PDL folder at this path: "C:\Program Files (x86)\Cypress\PDL"
We have code examples targeting PDL 3.1.0 that you can use for reference if you aren't too far off in your project development. Here's the list which should be useful:
Note: that these are just for reference and not the upgradeable stack bootloader example counterparts.
The Code Example CE220960 you are using was designed to work out of the box for PDL 3.0.1. There have been some changes since then and will require modifications to make it work with PDL 3.1.0 and the above versions. Here are the steps:
(1) When asked to update/replace any files, replace all the files (Note that these files will still exist on disk)
(2) Enable DFU Core and App type in the PDL 3.1.x settings
(2) You need to now replicate the changes in the user config files like bootloader_user.c/h in dfu_user.c/h
(3) I also had to edit the linker scripts to provide some more memory for each of the app cores
(4) Updated post-build bat script to use PDL 3.1.x
I have attached the working project for App0 project for reference. It should build directly without any modifications. It is targeting the PDL version 3.1.0. Let me know if you face any problems using it.
You need to do the same changes for other projects (App1 and App2) as well.
Thank you so much for your reply. I am now able to build app0. Made the changes that you suggested on app1/app2.
App 1 is building fine. Attaching app1 if anyone wants to use it. No problem with that
App 2 is showing 2 build errors. I imported the project, enabled DFU core under PDL settings, updated BLE components to 2.2 from 2.0, changed post script pdl path
I am now facing these 2 errors on app2
1. Build error: section .cy_app_signature loaded at [1004affc,1004afff] overlaps section .data loaded at [1004a9e8,1004b2d3]
I have this line on main_cm4.c
CY_SECTION(".cy_app_signature") __USED const uint32_t cy_bootload_appSignature;
2. Build error: undefined reference to `Cy_BLE_HAL_SoftHciHostReceiveControllerPkt'
I see that the file is included which has the definition #include "cy_ble_hal_pvt.h"
Can you please help me with this. Been working on it for the past 3 days.
Thank you so much for all the help.