Part Number: CC2640R2F
Tool/software: TI-RTOS
Like a lot of people on this forum, I am always looking for more RAM for our simple peripheral-based application. One place where I see a big chunk is the 1000 byte stack for the ICall task, which is created with stack size defined in icall_addrs.h:
#define ICALL_TASK_STACK_SIZES { 1000 }
Since Task_create() is used to instantiate this task, I am assuming/guessing that the 1000 bytes are then allocated from the RTOS heap in app_ble.cfg:
/*
* Specify default heap size for BIOS.
*/
if (typeof NO_ROM == 'undefined' || (typeof NO_ROM != 'undefined' && NO_ROM == 0))
{
// BIOS.heapSize = 1668;
}
When I check stack utilization with ROV, I can see that the ICall task stack peak seems to be around 528. Our application is a pretty basic peripheral with only a single connection and a couple of services with a few characteristics. We are using the stack library. Under what circumstances does ICall's stack usage increase? Do you think I can safely reduce the size of the stack (and also BIOS.heapSize)? Obviously I can try it as is and it will probably work, but I would like to know what the risks are.
Thanks for your help!
dave