void SerialOS_Init (SERIAL_ERR *perr) { LIB_ERR lib_err; CPU_SIZE_T octects_reqd; Mem_PoolCreate((MEM_POOL *)&OS_SemPool, (void *) 0, (CPU_SIZE_T ) 0u, (CPU_SIZE_T ) SERIAL_OS_MAX_NBR_SEM, (CPU_SIZE_T ) sizeof(OS_SEM), (CPU_SIZE_T ) 1u, (CPU_SIZE_T *)&octects_reqd, (LIB_ERR *)&lib_err); if (lib_err != LIB_MEM_ERR_NONE) { *perr = SERIAL_OS_ERR_INIT; return; } *perr = SERIAL_OS_ERR_NONE; }
/*============================================================================= =============================================================================*/ void btstack_memory_init(void) { LIB_ERR err; CPU_SIZE_T octetsReqd; Mem_PoolCreate(&hci_connection_pool, 0, MAX_NO_HCI_CONNECTIONS * sizeof(hci_connection_t), MAX_NO_HCI_CONNECTIONS, sizeof(hci_connection_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&l2cap_service_pool, 0, MAX_NO_L2CAP_SERVICES * sizeof(l2cap_service_t), MAX_NO_L2CAP_SERVICES, sizeof(l2cap_service_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&l2cap_channel_pool, 0, MAX_NO_L2CAP_CHANNELS * sizeof(l2cap_channel_t), MAX_NO_L2CAP_CHANNELS, sizeof(l2cap_channel_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&rfcomm_multiplexer_pool, 0, MAX_NO_RFCOMM_MULTIPLEXERS * sizeof(rfcomm_multiplexer_t), MAX_NO_RFCOMM_MULTIPLEXERS, sizeof(rfcomm_multiplexer_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&rfcomm_service_pool, 0, MAX_NO_RFCOMM_SERVICES * sizeof(rfcomm_service_t), MAX_NO_RFCOMM_SERVICES, sizeof(rfcomm_service_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&rfcomm_channel_pool, 0, MAX_NO_RFCOMM_CHANNELS * sizeof(rfcomm_channel_t), MAX_NO_RFCOMM_CHANNELS, sizeof(rfcomm_channel_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&db_mem_device_pool, 0, MAX_NO_DB_MEM_DEVICES * sizeof(db_mem_device_t), MAX_NO_DB_MEM_DEVICES, sizeof(db_mem_device_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); Mem_PoolCreate(&db_mem_service_pool, 0, MAX_NO_DB_MEM_SERVICES * sizeof(db_mem_service_t), MAX_NO_DB_MEM_SERVICES, sizeof(db_mem_service_t), sizeof(unsigned long), &octetsReqd, &err); SYS_ASSERT(err == LIB_MEM_ERR_NONE); }