This file contains APIs and defines that are used by applications only on the host-side of the device.
// invoke the SysLink load callback remoteProcId = MultiProc_getId("DSP"); status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_LOADCALLBACK, NULL); // invoke the SysLink start callback status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STARTCALLBACK, NULL); // IPC is established, app-specific code is here // invoke the SysLink stop callback status = Ipc_control(remoteProcId, Ipc_CONTROLCMD_STOPCALLBACK, NULL);
Go to the source code of this file.
Defines | |
#define | Ipc_CONTROLCMD_LOADCALLBACK (0xBABE0000) |
Control command ID for load callback. | |
#define | Ipc_CONTROLCMD_STARTCALLBACK (0xBABE0001) |
Control command ID for start callback. | |
#define | Ipc_CONTROLCMD_STOPCALLBACK (0xBABE0002) |
Control command ID for stop callback. | |
Functions | |
Int | Ipc_control (UInt16 procId, Int32 cmdId, Ptr arg) |
Perform IPC-related control operations with a specific slave. | |
Int | Ipc_runtimeId (UInt8 *rtid) |
Return a runtime id for the given application key. |
#define Ipc_CONTROLCMD_LOADCALLBACK (0xBABE0000) |
Control command ID for load callback.
arg
passed to Ipc_control() should be NULL.arg
passed to Ipc_control() must be a pointer to the slave-side address of the _Ipc_ResetVector
symbol. This is often obtained by inspecting the slave-side executable's .map file.#define Ipc_CONTROLCMD_STARTCALLBACK (0xBABE0001) |
Control command ID for start callback.
arg
passed to Ipc_control() should be NULL.#define Ipc_CONTROLCMD_STOPCALLBACK (0xBABE0002) |
Control command ID for stop callback.
arg
passed to Ipc_control() should be NULL.arg
passed to Ipc_control() must be a pointer to the slave-side address of the _Ipc_ResetVector
symbol. This is often obtained by inspecting the slave-side executable's .map file.Perform IPC-related control operations with a specific slave.
[in] | procId | Remote processor ID |
[in] | cmdId | Command ID |
[in] | arg | Argument. The value of arg depends on the command being sent in cmdId . |
cmdId
describes its usage of the arg
param.Return a runtime id for the given application key.
When the application calls SysLink_setup(), there is an internal runtime id assigned to the application's process id. Use this API to retrieve the assigned runtime id. This API may be called multiple times but will always return the same runtime id for the current process id. This ensures that all levels of the software stack will be assigned the same runtime id.
There are 255 available runtime ids: 1 - 255. Runtime ids are allocated by looking for the next larger unused runtime id. The search will wrap around as needed.
[out] | rtid | Remote processor ID |
Ipc_S_SUCCESS | Operation succeeded |
Ipc_E_FAIL | No more runtime ids available |