嗨、团队,
客户想询问在创建多任务处理过程中遇到的一些问题。
iCall_MAX_NUM_ENTIES=6 ICALL_MAX_NUM_TASKS=3在应用程序中设置 ble5_simple_peripheral_cc2640r2lp_app_FlashROM_StackLibrary.opt、
1.ICALL_MAX_NUM_TASKS=3是堆栈任务、GAP 任务和用户定义的任务。 总共有三个、但为什么 ICALL_MAX_NUM_ENTIES 为6? (3个任务客户端和1个 ICall 服务器不应该是4个?)
2.是否必须满足 OSAL_MAX_NUM_PROVISION_TASKES +1 =ICALL_MAX_NUM_TASKS? +1代表什么? 我将 OSAL_MAX_NUM_PROVISION_TASKS 设置为2、将 ICALL_MAX_NUM_TASKS 设置为4、程序仍然可以运行、OSAL_MAX_NUM_PROVISION_TASKS +1意味着<=ICALL_MAX_NUM_TASKS?
3.但在 ble5_simple_peripheral_cc2640r2lp_app 示例中、我没有看到 simple_peripheral_cc2640r2lp_app 等三个任务的初始化。 它只明确给出了两个。 为什么会这样呢?
4.创建多任务时、ICALL_MAX_ENTIES、ICALL_MAX_TASK 和 OSAL_MAX_PROVISION_TASK 都应 Call_Sync 被修改+1、但如果我创建的任务函数无法执行 Pend_le、则不会调用现有的 SimplePeripheral_enqueMsg Call_Sync? 无需+1?
谢谢和最好的问候,
约兰德