JZsdk_Osal.h
2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
/**
********************************************************************
* @file JZsdk_Osal.h
* JZsdk_Osal.c 的头文件
*
*********************************************************************
*/
/* Define to prevent recursive inclusion 避免重定义 -------------------------------------*/
#ifndef JZSDK_OSAL_H
#define JZSDK_OSAL_H
/* Includes ------------------------------------------------------------------*/
#include "../JZsdk_Code/JZsdk_Code.h"
#include "./JZsdk_CheckSum/JZsdk_CheckSum.h"
#include "./JZsdk_FileSystm/JZsdk_FileSystm.h"
#include "./JZsdk_MemoryAdapter/JZsdk_MemoryAdapter.h"
#include "./JZsdk_Mutex/JZsdk_Mutex.h"
#include "./JZsdk_Semaphore/JZsdk_Semaphore.h"
#include "./JZsdk_Task/JZsdk_Task.h"
#include "./JZsdk_Timer/JZsdk_Timer.h"
#ifdef __cplusplus
extern "C" {
#endif
/* Exported constants --------------------------------------------------------*/
/* 常亮定义*/
/****************
*
* osal权柄
*
*
* ******************/
typedef struct {
//任务名 任务函数 任务栈大小 任务参数 任务句柄
T_JZsdkReturnCode (*TaskCreate)(const char *name, void *(*taskFunc)(void *),
unsigned int stackSize, void *arg, T_JZTaskHandle *task);
T_JZsdkReturnCode (*TaskDestroy)(T_JZTaskHandle task);
T_JZsdkReturnCode (*TaskSleepMs)(U32_t timeMs);
T_JZsdkReturnCode (*MutexCreate)(T_JZsdkMutexHandle *mutex);
T_JZsdkReturnCode (*MutexDestroy)(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode (*MutexLock)(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode (*MutexUnlock)(T_JZsdkMutexHandle mutex);
T_JZsdkReturnCode (*SemaphoreCreate)(U32_t initValue, T_JZsdkSemaHandle *semaphore);
T_JZsdkReturnCode (*SemaphoreDestroy)(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode (*SemaphoreWait)(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode (*SemaphoreTimedWait)(T_JZsdkSemaHandle semaphore, U32_t waitTimeMs);
T_JZsdkReturnCode (*SemaphorePost)(T_JZsdkSemaHandle semaphore);
T_JZsdkReturnCode (*GetTimeMs)(U32_t *ms);
T_JZsdkReturnCode (*GetTimeUs)(U64_t *us);
T_JZsdkReturnCode (*GetRandomNum)(U16_t *randomNum);
void *(*Malloc)(U32_t size);
void (*Free)(void *ptr);
} T_JZsdkOsalHandler;
/* Exported macro ------------------------------------------------------------*/
/* Exported types ------------------------------------------------------------*/
/* Exported functions --------------------------------------------------------*/
T_JZsdkReturnCode JZsdk_OsalInit();
T_JZsdkOsalHandler *JZsdk_Platform_GetOsalHandler(void);
#ifdef __cplusplus
}
#endif
#endif
/************************ (C) COPYRIGHT DJI Innovations *******END OF FILE******/