Hello,
I am working on my ble 4.2 project and have a few questions about the heap memory usage during the pairing/bonding process. I am using two cc2640r2 modules (one in peripheral and one in central) and I am starting to run into ram shortages for my application. I have the heap defined to be a static size of 5000 in the cfg file. I can not make this any smaller otherwise the pairing process fails some or all of the time. This holds true for both the central and peripheral side.
I am using justWorks pairing, with secure connection. I can see heapmgrMemFail variable count up by one during the failed pairing if I have the heap set at say 4800 but the free amount in the ROV heapMem does not dip below 1000. Why is this? It would seem that it is running out but does not show in heapMem. Is it just happening to fast to see?
So my questions are as follows:
Is there any way I can reduce the heap size and maintain pairing functionality by reducing usage somewhere else or retying the pairing?
Why can I not see the usage dip down or get used up during the heapmgrMemFail?
Why does the pairing process require so much heap memory?
Thanks!