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

AIROC™ Bluetooth

Panometric
Level 5
10 solutions authored First comment on KBA First comment on blog
Level 5

Is there an example of BLE OTA bootloader with MTB? If not what is the best way to construct that? 

I see this DFU, but it does not support BLE as a transport. 
https://github.com/Infineon/mtb-example-psoc6-dfu-basic

0 Likes
1 Solution
PratikshaV
Moderator
Moderator 25 solutions authored 100 sign-ins 50 replies posted
Moderator

Hi @Panometric 

Please refer to the attached project, where firmware update happens via BLE. Please refer README file for more information.

Please let me know if this helps.

Thanks & Regards,

Pratiksha V

View solution in original post

0 Likes
5 Replies
PratikshaV
Moderator
Moderator 25 solutions authored 100 sign-ins 50 replies posted
Moderator

Hi @Panometric 

I would suggest you to go through PSoC 6 MCU BLE Upgradable Stack Bootloader example project available in our PSoC creator IDE as reference for creating an example in Modustoolbox.

https://www.infineon.com/cms/en/search.html#!term=CE220960&view=all

Regards,

Pratiksha V

0 Likes
Panometric
Level 5
10 solutions authored First comment on KBA First comment on blog
Level 5

@PratikshaV We need a solution that works in MTB.

Q1: Are you suggesting I build the BLE bootloader and Launcher in Creator and import it into MTB like AN219434

I'm trying the examples, Using PsocCreator 4.2 with PDL 3.0.1 like other posts say. 
Q2: Should the export to MTB 2.4 be Eclipse CMSIS or Make based, since it is both?
Q3: I tried exporting a makefile IDE for App1, and I get this error:

Build error: At least one illegal character for Makefile appears in the name: "BLE Stack Keep Command List". This happens in path: C:\Work\BLE_Bootloader\Bootloader_BLE_Upgradable_Stack_App1.cydsn\BLE Stack Keep Command List.txt.
At least one illegal character for Makefile appears in the name: "BLE Stack Keep Command List". This happens in path: C:\Work\BLE_Bootloader\Bootloader_BLE_Upgradable_Stack_App1.cydsn\BLE Stack Keep Command List.txt.
Could not get the relative path for the application file: C:\Work\BLE_Bootloader\Bootloader_BLE_Upgradable_Stack_App1.cydsn\BLE Stack Keep Command List.txt
Could not get the relative path for the application file: C:\Work\BLE_Bootloader\Bootloader_BLE_Upgradable_Stack_App1.cydsn\BLE Stack Keep Command List.txt
Examples of invalid characters include: '$', '/', '\', '%', ',', '[', ']', '(', ')', '{', '}', '!', ':', ';', '"', ''', '*', '?', '<', '>', '|', ' ', U+0009, U+0008.

This only seems to happen when I import the workspace entriley, rather than import the 3 projects and name them correctly the first time.  In the 2 cases the BLE Stack Keep Command List.txt is exactly the same. So it's a really misleading error. 
0 Likes
PratikshaV
Moderator
Moderator 25 solutions authored 100 sign-ins 50 replies posted
Moderator

Hi @Panometric 

you cannot directly import the above example from Psoc creator to MTB like AN219434 you can just take it as a reference for more information on firmware update you can refer the below link

https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#group_dfu_ucase_ble

Please let me know if this helps 

 

Thanks & Regards 

Pratiksha V 

0 Likes
Panometric
Level 5
10 solutions authored First comment on KBA First comment on blog
Level 5

@PratikshaV It  helps a little.  You are suggesting that all the time I spent trying to 
CE220960 to work was a waste and that I should be using the DFU 4.2 method. 
This procedure is quite involved and only designed for boards I do not have, even though I own 3 different Psoc6 boards.  Given my past experience, I'm doubtful I could have it working in a few hours.  In addition, it refers back to  CE216767 which is in Creator which is confusing.  Has the BLE path been tested ? If so, why not provide the tested projects as an example instead of https://github.com/Infineon/mtb-example-psoc6-dfu-basic
?

Furthermore the DFU 4.2 instructions do not appear to support a Shared BLE stack application which will be very important for a smaller memory device.  Is it as simple as just enabling "OTA Bootloading and Code Sharing" in the device configurator? 
https://infineon.github.io/dfu/dfu_sdk_api_reference_manual/html/index.html#group_dfu_mtb_cfg

Note: I tried DFU 4.2  QSG , and got hit a mistake on 1.4: "Copy folder from ..\mtb_shared\TARGET_[KIT_NAME]\[VERSION]\COMPONENT_BSP_DESIGN_MODUS to the project root and rename it to DFU_DESIGN_MODUS."  because my mtb-shared directory has no folders like "TARGET_*"  nor does it have any file named "COMPONENT_BSP_DESIGN_MODUS". Those are in the projects directory, not the shared directory. I think what they meant to say was to create COMPONENT_CUSTOM_DESIGN_MODUS folder and edit the peripherals there. 

 

Panometric_0-1641246579843.png

 

0 Likes
PratikshaV
Moderator
Moderator 25 solutions authored 100 sign-ins 50 replies posted
Moderator

Hi @Panometric 

Please refer to the attached project, where firmware update happens via BLE. Please refer README file for more information.

Please let me know if this helps.

Thanks & Regards,

Pratiksha V

0 Likes