55 #ifndef ti_OSAL__include
56 #define ti_OSAL__include
62 #include <ti/csl/tistdtypes.h>
65 #include <ti/osal/MuxIntcP.h>
68 #include <ti/osal/TimerP.h>
71 #include <ti/osal/CycleprofilerP.h>
72 #include <ti/osal/MailboxP.h>
76 #include <ti/osal/HeapP.h>
77 #include <ti/osal/MemoryP.h>
78 #include <ti/osal/EventP.h>
79 #include <ti/osal/StartuphooksP.h>
81 #include <ti/osal/EventCombinerP.h>
93 #define osal_OK ((int32_t)(0))
99 #define osal_FAILURE (-(int32_t)(1))
105 #define osal_UNSUPPORTED (-(int32_t)(2))
114 #define osal_NOMEM (-(int32_t)(3))
121 #define osal_WAIT_FOREVER (~((uint32_t)0U))
127 #define osal_NO_WAIT ((uint32_t)0U)
137 #define OSAL_NONOS_SEMAPHOREP_SIZE_BYTES ((uint32_t) 48U)
146 #define OSAL_NONOS_HWIP_SIZE_BYTES ((uint32_t) 48U)
155 #define OSAL_FREERTOS_HWIP_C7X_SIZE_BYTES ((uint32_t) 56U)
164 #define OSAL_SAFERTOS_HWIP_C7X_SIZE_BYTES ((uint32_t) 56U)
174 #if defined (BUILD_C7X)
175 #define OSAL_FREERTOS_SEMAPHOREP_SIZE_BYTES ((uint32_t) 176U)
177 #define OSAL_FREERTOS_SEMAPHOREP_SIZE_BYTES ((uint32_t) 96U)
188 #define OSAL_FREERTOS_TASKP_SIZE_BYTES ((uint32_t) 128U)
198 #if defined (BUILD_C7X)
199 #define OSAL_SAFERTOS_SEMAPHOREP_SIZE_BYTES ((uint32_t) 304U)
201 #define OSAL_SAFERTOS_SEMAPHOREP_SIZE_BYTES ((uint32_t) 248U)
212 #if defined (BUILD_C7X)
213 #define OSAL_SAFERTOS_TASKP_SIZE_BYTES ((uint32_t) 320U)
215 #define OSAL_SAFERTOS_TASKP_SIZE_BYTES ((uint32_t) 248U)
222 typedef struct Osal_StaticMemoryStatus
241 typedef enum Osal_ThreadType_e {
261 #define OSAL_Assert(expression) (Osal_DebugP_assert((int32_t)((expression)?1:0),\
299 typedef struct Osal_memRange_s {
308 typedef struct Osal_HwAttrs_s
314 #if defined(gnu_targets_arm_A15F)
316 uint32_t a15TargetProcMask;
320 uint32_t ECM_intNum[4];
346 #define OSAL_HWATTR_SET_EXT_CLK (0x00000001U)
351 #define OSAL_HWATTR_SET_ECM_INT (0x00000002U)
356 #define OSAL_HWATTR_SET_HWACCESS_TYPE (0x00000004U)
361 #define OSAL_HWATTR_SET_OSALDELAY_TIMER_BASE (0x00000008U)
366 #define OSAL_HWATTR_SET_SEMP_EXT_BASE (0x00000010U)
371 #define OSAL_HWATTR_SET_HWIP_EXT_BASE (0x00000020U)
376 #define OSAL_HWATTR_SET_CPU_FREQ (0x00000040U)
381 #define OSAL_HWATTR_SET_TARG_PROC_LIST (0x00000080U)
471 #define OSAL_COMPILE_TIME_SIZE_CHECK(x,y) \
474 uint8_t NegativeSizeIfPostulateFalse[(y) + 1U - (x)]; \
Cache Handling routines for the RTOS Porting Interface.
Clock module for the RTOS Porting Interface. This implements the software timer support....
Hardware Interrupt module for the RTOS Porting Interface.
Mailbox module for the RTOS Porting Interface.
Queue Handling routines for RTOS.
Interrupt register routines.
Semaphore module for the RTOS Porting Interface.
Task module for the RTOS Porting Interface.
Osal_ThreadType
This enum defines the multiple thread types used under OSAL library.
Definition: osal.h:241
uintptr_t base
Definition: osal.h:300
uint32_t numMaxHwiObjs
Definition: osal.h:233
uint32_t peakSemObjs
Definition: osal.h:224
uint32_t numFreeSemObjs
Definition: osal.h:226
uint32_t numFreeHwiObjs
Definition: osal.h:234
int32_t Osal_setHwAttrs(uint32_t ctrlBitMap, const Osal_HwAttrs *hwAttrs)
Function to set the Hw Attributes.
uint32_t cpuFreqKHz
Definition: osal.h:311
Osal_HwAccessType
Osal hw access type.
Definition: osal.h:290
Osal_ThreadType Osal_getThreadType(void)
Function to get the current thread type.
void OS_stop(void)
Function to stop OS / scheduler.
int32_t Osal_getStaticMemStatus(Osal_StaticMemStatus *pMemStat)
Function to get the static memory usage of OSAL library.
uint32_t Osal_getCoreId(void)
Function to get the core ID of the running Core.
Osal_memRange extHwiPBlock
Definition: osal.h:335
int32_t Osal_delay(uint32_t nTicks)
Function to delay/sleep the specified number of ticks.
int32_t Osal_isInPrivilegeMode(void)
Function to check if the calling task is in privileged mode.
uint32_t size
Definition: osal.h:301
uintptr_t osalDelayTimerBaseAddr
Definition: osal.h:331
uint32_t peakHwiObjs
Definition: osal.h:232
int32_t Osal_getHwAttrs(Osal_HwAttrs *hwAttrs)
Function to get the Hw Attributes.
void OS_init(void)
Function for initializing the OS / scheduler.
Osal_HwAttrs gOsal_HwAttrs
external references for Osal Hw Attribute structure
void Osal_DebugP_assert(int32_t expression, const char *file, int32_t line)
uint32_t numMaxSemObjs
Definition: osal.h:225
void OS_start(void)
Function to strat OS / scheduler.
uint32_t numMaxTimerObjs
Definition: osal.h:229
uint32_t numFreeTimerObjs
Definition: osal.h:230
Osal_HwAccessType hwAccessType
Definition: osal.h:323
uint32_t peakTimerObjs
Definition: osal.h:228
Osal_memRange extSemaphorePBlock
Definition: osal.h:333
uint32_t extClkKHz
Definition: osal.h:313
@ Osal_ThreadType_Swi
Definition: osal.h:243
@ Osal_ThreadType_Main
Definition: osal.h:245
@ Osal_ThreadType_Hwi
Definition: osal.h:242
@ Osal_ThreadType_Task
Definition: osal.h:244
@ Osal_ThreadType_Abort
Definition: osal.h:246
@ OSAL_HWACCESS_UNRESTRICTED
Definition: osal.h:291
@ OSAL_HWACCESS_RESTRICTED
Definition: osal.h:292
Osal hw attributes structure.
Definition: osal.h:309
This structure holds static memory status parameters of OSAL library.
Definition: osal.h:223
Osal memory address range.
Definition: osal.h:299