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

cross mob
SimonCanada
Level 3
Level 3
25 replies posted 10 questions asked 50 sign-ins

We developed most of our firmware using the PSoC6 BLE Pioneer Board. Central to this is the CE216767 example which gives us DFU OTA over BLE, and has worked well for months. Due to physical limitations, our target device is the physically smaller CY8C6347FMI-BLD53 and we have been porting our code over, making adjustments to i/o.

Everything works as on the Pioneer, except we have trouble with BLE on the target board. BLE runs fine on the Pioneer. There is a 32MHz crystal on the Pioneer board and 16MHz on the target, so we found that we had to make the adjustment to ECO to 16MHz in the Clocks tab in Topdesign. We had some other testbed projects, and adjusting the ECO clock frequency was all we needed to do, but on the CE216767 project, this does not work and the bootloader halts almost right away reporting:

Error: dbg.M0006: The start request failed. Encountered error (Error '' received while attempting to read memory 0x402102C0-0x402102C4)

A similar problem was observed on the simpler projects before we adjusted the frequency of ECO in TopDesign.

Using one of our testbed apps, we traced the issue to the initialisation of the BLE Stack in the bootloader. It runs through Cy_SysPm_RegisterCallback(&bleDeepSleepCallback);
Cy_BLE_EnablePrivacyFeature();
Cy_BLE_StackSetFeatureConfig(&stackInitParam.stackConfig);
and that all seems to run okay, but then it gets to
Cy_BLE_StackInit(&stackInitParam);
this calls a this function calls a static library of precompiled code and hangs.

One thing I have noted is that as illustrated here, PSoC Creator shows ECO as 24MHz in our DFU app and as 16 in the simpler ones, even though there appears to be no difference in ECO's entries in <project>.cdwr.

Capture of simple app clocks.JPG

Capture of dfu clocks.JPG

This is how ECO is set up for both projects.

Capture of clock setup for ECO (both projects).JPG

We would appreciate any advice!

We are using PSoC Creator V4.4 with PDL V3.1.5 and ARM GCC 5.4-2016-q2-update. The example DFU project comes with these build settings for the PDL.

Capture of vanilla DFU build settings.JPG

Thanks, Simon M

 

0 Likes
1 Solution

Hello @SimonCanada

Could you please send your observations with the BLE_FindMe Code example?

Thanks,

P Yugandhar. 

View solution in original post

0 Likes
4 Replies
PratikshaV
Moderator
Moderator
Moderator
100 solutions authored 5 likes given 250 sign-ins

Hi @SimonCanada 

Please can you check whether you are facing issues with the Find Me code example. And also can you share the schematics of your custom board so that we can review at our end.

 

Thanks & Regards

Pratiksha V 

0 Likes
lock attach
Attachments are accessible only for community members.

Hi Pratiksha V

The board is not very complicated. I enclose the most recent schematic. We have used FindMe several times before with the Pioneer and it has always worked and one of my colleagues has already used it with our prototype so I have asked him to send me the results (he is about 12 hours ahead of Canada so may be asleep). It takes a couple of hours to adjust a project from Pioneer to our prototype and some hardware (e.g. switches) is not present on our prototype so we have to modify app code, too.

Kind regards, Simon

 

0 Likes

Hello @SimonCanada

Could you please send your observations with the BLE_FindMe Code example?

Thanks,

P Yugandhar. 

0 Likes

Hi Yugandhar

I'm sorry, I got covid and forgot about this. In the meantime my colleague fixed things by starting off using the most up to date DFU SDK advisory PDF, and this new version does work. I suppose the important lesson here is to look around in case there is a later Infineon PDF than the one we originally used when getting the DFU-OTA functionality going. Sorry that is all the detail that I have on what was done to get it working. Our team is scattered all over the world and this particular colleague is 13 hours ahead of me so talking is difficult 🙂

Thanks for your help!

0 Likes