# RM Low Level Driver Functions
[RM LLD Module API]

## Functions

Rm_Result | Rm_init (const Rm_Resource *rmResourceTable)
Rm_Result | Rm_start (void)
Rm_Handle | Rm_getHandle (void)
uint32_t | Rm_getVersion (void)
const char * | Rm_getVersionStr (void)

## Function Documentation

Rm_Handle Rm_getHandle | ( | void |  | ) |

Description
This function returns an RM handle to the application to provide to LLDs that want to use the RM.

Return values:

  | Success | - RM Handle. Used an an input parameter for LLD startCfg functions.
  | Failure | - NULL

uint32_t Rm_getVersion | ( | void |  | ) |

Description
The function is used to get the version information of the RM LLD.

Return values:

  | Version | Information.

const char* Rm_getVersionStr | ( | void |  | ) |

Description
The function is used to get the version string for the RM LLD.

Return values:

  | Version | String.

Rm_Result Rm_init | ( | const Rm_Resource * | rmResourceTable | ) |

Description
This function initializes the Resource Manager low level driver This function is called once in the system to setup the Resource Manager low level driver by mapping the application defined resource table to internal permission tables. After mapping is complete a global synchronization object is written to sync with slave cores

Parameters:

  `[in]` | rmResourceTable | Resource table defined by application. Used to populate internal permission tables.

Postcondition:
  RM LLD global permissions are set.

Return values:

  | Success | - RM_OK
  | Failure | - RM_ERROR_PERMISSION_TABLE_POPULATION_FAILED

Rm_Result Rm_start | ( | void |  | ) |

Description
This function waits for the Resource Manager master to populate the global permissions table based on a global sync object. Once the global sync object has been written by the master core this function will invalidate all permissions tables. Since the permissions table are static, and will not change through the system up-time, a single invalidation at the start will suffice.

This function can be called on all core besides that which called Rm_init. Calling this function on said cores will act as a blocking synchronization point.

Return values:

  | Success | - RM_OK
  | Failure | - RM_FAILURE

Copyright 2012, Texas Instruments Incorporated