- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
This is how ECO is set up for both projects.
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.
Thanks, Simon M
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @SimonCanada,
Could you please send your observations with the BLE_FindMe Code example?
Thanks,
P Yugandhar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello @SimonCanada,
Could you please send your observations with the BLE_FindMe Code example?
Thanks,
P Yugandhar.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!