- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

# emac_osal.h File Reference

This is the sample OS Adaptation layer which is used by the EMAC low level driver. More...

## Defines

#define | Emac_osalMalloc(X) Osal_emacMalloc(X)
| The macro is used by the EMAC driver to allocate memory The EMAC driver uses this macro to allocate memory for its internal driver structures. This is invoked during the driver initialization and startup process.
#define | Emac_osalFree(X, Y) Osal_emacFree(X, Y)
| The macro is used by the EMAC driver to free a previously allocated block of memory.
#define | Emac_osalBeginMemAccess Osal_emacBeginMemAccess
| This macro is used to alert the application that the EMAC is going to access common data memory. The application must ensure cache coherency and semaphores for multi-core applications.
#define | Emac_osalEndMemAccess Osal_emacEndMemAccess
| This macro is used to alert the application that the EMAC has completed access to common data memory. This call will always be made following a call to Osal_emacBeginMemAccess and have the same parameters.
#define | Emac_osalEnterSingleCoreCriticalSection Osal_emacEnterSingleCoreCriticalSection
| The macro is used by the EMAC driver to protect its internal shared resources from SINGLE CORE MULTIPLE CONTEXT (thread or ISR) access. If all the EMAC Driver APIs are being called from threads then this API could use semaphores. However if the EMAC driver API's are being called from both ISR & Thread context then the critical section here would need to disable/enable interrupts.
#define | Emac_osalExitSingleCoreCriticalSection Osal_emacExitSingleCoreCriticalSection
| The macro is used to denote the end of the protection of the internal shared resource from SINGLE CORE MULTIPLE CONTEXT access.
#define | Emac_osalEnterMultipleCoreCriticalSection Osal_emacEnterMultipleCoreCriticalSection
| The macro is used by the EMAC Driver to protect its shared resources access from MULTIPLE CORES. This is required if the EMAC Driver API's are being invoked from multiple cores. If this is not the case then these macros can be defined to be NOP.
#define | Emac_osalExitMultipleCoreCriticalSection Osal_emacExitMultipleCoreCriticalSection
| The macro is used by the EMAC driver to end the protection of its internal shared "resources" from MULTIPLE CORE access.

## Detailed Description

This is the sample OS Adaptation layer which is used by the EMAC low level driver.

The OSAL layer can be ported to a native OS:

Copyright 2012, Texas Instruments Incorporated