Part Number: CC2640R2F
Hi team,
The customer would like to ask about some problems encountered during the creation of multitasking.
ICALL_MAX_NUM_ENTITIES=6 ICALL_MAX_NUM_TASKS=3 set in the APP program ble5_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.opt,
1.ICALL_MAX_NUM_TASKS=3 is a stack task, a gap task and a user-defined task. There are three in total, but why is ICALL_MAX_NUM_ENTITIES 6? (Shouldn’t 3 task clients and 1 icall server be 4?)
2. Must OSAL_MAX_NUM_PROXY_TASKS +1 =ICALL_MAX_NUM_TASKS be satisfied? What does +1 represent? I set OSAL_MAX_NUM_PROXY_TASKS to 2, ICALL_MAX_NUM_TASKS to 4, and the program can still run, so does OSAL_MAX_NUM_PROXY_TASKS +1 mean <=ICALL_MAX_NUM_TASKS?
3. But in the example of ble5_simple_peripheral_cc2640r2lp_app, I did not see the initialization of three tasks such as simple_peripheral_cc2640r2lp_app. It only explicitly gave two. Why is this?


4. When creating multitasks, ICALL_MAX_NUM_ENTITIES, ICALL_MAX_NUM_TASKS, and OSAL_MAX_NUM_PROXY_TASKS should all be modified +1, but if the task function of the task I create does not execute Event_pend, ICall_SyncHandle is not used, or SimplePeripheral_enqueueMsg is called, the existing ICall_SyncHandle is used, right? No need to +1?
Thanks & Best regards,
Yolande