You are on page 1of 1

The ICall BLE-Stack service serves as the application interface to BLE-Stack APIs.

When a BLE-Stack API is called by the application internally, the ICall module
routes (that is, dispatches) the command to the BLE-Stack and routes messages from
the BLE-Stack to the application when appropriate.

Because the ICall module is part of the application project, the application task
can access ICall with direct function calls. Because the BLE-Stack executes at the
highest priority, the application task blocks until the response is received.
Certain protocol stack APIs may respond immediately, but the application thread
blocks as the API is dispatched to the BLE-Stack through ICall. Other BLE-Stack
APIs may also respond asynchronously to the application through ICall (for example,
event updates) with the response sent to the event handler of the application task.

ICall Primitive Service


ICall includes a primitive service that abstracts various operating system-related
functions. Due to shared resources and to maintain interprocess communication, the
application must use the following ICall primitive service functions:

Messaging and Thread Synchronization


Heap Allocation and Management
Some of these are abstracted to Util functions (see the relevant module in TI-RTOS
Overview).

You might also like