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

## Defines

#define | Rm_osalMalloc Osal_rmMalloc
| The macro is used by the RM LLD to allocate memory of specified size.
#define | Rm_osalFree Osal_rmFree
| The macro is used by the RM LLD to free a allocated block of memory.
#define | Rm_osalCsEnter Osal_rmCsEnter
| The macro is used by the RM LLD to provide critical sections to protect global and shared variables from.
#define | Rm_osalCsExit Osal_rmCsExit
| The macro is used by the RM LLD to exit a critical section protected using Osal_rmCsEnter() API.
#define | Rm_osalMtCsEnter Osal_rmMtCsEnter
| The macro is used by the RM LLD to provide critical sections to protect global and shared variables from.
#define | Rm_osalMtCsExit Osal_rmMtCsExit
| The macro is used by the RM LLD to exit a critical section protected using Osal_rmMtCsEnter() API.
#define | Rm_osalLog Osal_rmLog
| The macro is used by the RM LLD to log various messages.
#define | Rm_osalBeginMemAccess Osal_rmBeginMemAccess
| The macro is used by the RM LLD to indicate that a block of memory is about to be accessed. If the memory block is cached then this indicates that the application would need to ensure that the cache is updated with the data from the actual memory.
#define | Rm_osalEndMemAccess Osal_rmEndMemAccess
| The macro is used by the RM LLD to indicate that the block of memory has finished being accessed. If the memory block is cached then the application would need to ensure that the contents of the cache are updated immediately to the actual memory.

## Define Documentation

#define Rm_osalBeginMemAccess Osal_rmBeginMemAccess

The macro is used by the RM LLD to indicate that a block of memory is about to be accessed. If the memory block is cached then this indicates that the application would need to ensure that the cache is updated with the data from the actual memory.

Prototype: The following is the C prototype for the expected OSAL API.

           void Osal_rmBeginMemAccess (void *ptr, uint32_t size)

Parameter
Address of memory block.
Size of memory block.

Return Value
Not applicable.

#define Rm_osalCsEnter Osal_rmCsEnter

The macro is used by the RM LLD to provide critical sections to protect global and shared variables from.

access from multiple cores and access from multiple threads on single core

Prototype: The following is the C prototype for the expected OSAL API.

           void* Osal_rmCsEnter (void)

Parameter
None.

Return Value
Handle used to lock critical section.

#define Rm_osalCsExit Osal_rmCsExit

The macro is used by the RM LLD to exit a critical section protected using Osal_rmCsEnter() API.

Prototype: The following is the C prototype for the expected OSAL API.

           void Osal_rmCsExit (void *CsHandle)

Parameter
Handle for unlocking critical section.

Return Value
Not applicable.

#define Rm_osalEndMemAccess Osal_rmEndMemAccess

The macro is used by the RM LLD to indicate that the block of memory has finished being accessed. If the memory block is cached then the application would need to ensure that the contents of the cache are updated immediately to the actual memory.

Prototype: The following is the C prototype for the expected OSAL API.

           void Osal_rmEndMemAccess (void *ptr, uint32_t size)

Parameter
Address of memory block.
Size of memory block.

Return Value
Not applicable.

#define Rm_osalFree Osal_rmFree

The macro is used by the RM LLD to free a allocated block of memory.

Prototype: The following is the C prototype for the expected OSAL API.

           void Osal_rmFree (void *ptr, uint32_t size)

Parameter
Pointer to the block of memory to be cleaned up.
Size of the allocated memory which is being freed.

Return Value
Not applicable.

#define Rm_osalLog Osal_rmLog

The macro is used by the RM LLD to log various messages.

Prototype: The following is the C prototype for the expected OSAL API.

           void Osal_rmLog( char *fmt, ... )

Parameter
printf-style format string

Return Value
Not applicable.

#define Rm_osalMalloc Osal_rmMalloc

The macro is used by the RM LLD to allocate memory of specified size.

Prototype: The following is the C prototype for the expected OSAL API.

           void* Osal_rmMalloc (uint32_t numBytes)

Parameter
Number of bytes to be allocated

Return Value
Pointer to the allocated block size

#define Rm_osalMtCsEnter Osal_rmMtCsEnter

The macro is used by the RM LLD to provide critical sections to protect global and shared variables from.

access from multiple threads on single core

Prototype: The following is the C prototype for the expected OSAL API.

           void* Osal_rmMtCsEnter (void)

Parameter
None.

Return Value
Handle used to lock critical section.

#define Rm_osalMtCsExit Osal_rmMtCsExit

The macro is used by the RM LLD to exit a critical section protected using Osal_rmMtCsEnter() API.

Prototype: The following is the C prototype for the expected OSAL API.

           void Osal_rmMtCsExit (void *CsHandle)

Parameter
Handle for unlocking critical section.

Return Value
Not applicable.

Copyright 2012, Texas Instruments Incorporated