Hardware Abstraction Layer for FreeRTOS
hal.h File Reference
#include <FreeRTOS.h>
#include <semphr.h>
#include <system.h>
#include <stdbool.h>
#include <os.h>
Include dependency graph for hal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  hal
 

Macros

#define HAL_DEFINE_GLOBAL_ARRAY(gns)
 
#define HAL_GET_DEV(gns, index)   (void *) hal_getDev((uintptr_t **) &_devs, &_devs_end, index)
 
#define HAL_LOCK(data, waittime, errcode)
 
#define HAL_UNLOCK(data, errcode)
 
#define HAL_DEFINE_DEVICE_ENTRY(gns, ns, p)   extern struct gns##_generic const * const ns##_##p
 
#define HAL_ADDDEV(gns, ns, p)   struct gns##_generic SECTION(".rodata.devs") USED NO_REORDER const * const ns##_##p = (void const *) &p
 
#define HAL_ADD(ns, p)   HAL_ADDDEV(hal, ns, p)
 
#define HAL_GET_GLOBAL_DEV(index)   HAL_GET_DEV(hal, index)
 
#define HAL_NAME(n)
 
#define HAL_GET_ID(gns, ns, p)
 

Functions

int32_t hal_init (void *data)
 
int32_t hal_deinit (void *data)
 
bool hal_isInit (void *data)
 
int32_t hal_lock (void *data, TickType_t waittime)
 
int32_t hal_unlock (void *data)
 
uintptr_t * hal_getDev (uintptr_t **devs, uintptr_t **end, uint32_t index)
 
 HAL_DEFINE_GLOBAL_ARRAY (hal)