Signed-off-by: yangzelin <yangzelin@talkweb.com.cn>
fix: 解决关闭SWTMR模块后无法编译的问题 关闭SWTMR模块后, 屏蔽相关全局变量以及函数调用
This commit is contained in:
parent
fcd677feba
commit
91743d3ea4
|
@ -56,7 +56,10 @@ typedef struct {
|
||||||
} SortLinkAttribute;
|
} SortLinkAttribute;
|
||||||
|
|
||||||
extern SortLinkAttribute g_taskSortLink;
|
extern SortLinkAttribute g_taskSortLink;
|
||||||
|
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
extern SortLinkAttribute g_swtmrSortLink;
|
extern SortLinkAttribute g_swtmrSortLink;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define OS_SORT_LINK_INVALID_TIME ((UINT64)-1)
|
#define OS_SORT_LINK_INVALID_TIME ((UINT64)-1)
|
||||||
#define SET_SORTLIST_VALUE(sortList, value) (((SortLinkList *)(sortList))->responseTime = (value))
|
#define SET_SORTLIST_VALUE(sortList, value) (((SortLinkList *)(sortList))->responseTime = (value))
|
||||||
|
@ -98,7 +101,11 @@ STATIC INLINE UINT64 GetSortLinkNextExpireTime(SortLinkAttribute *sortHead, UINT
|
||||||
STATIC INLINE UINT64 OsGetNextExpireTime(UINT64 startTime, UINT32 tickPrecision)
|
STATIC INLINE UINT64 OsGetNextExpireTime(UINT64 startTime, UINT32 tickPrecision)
|
||||||
{
|
{
|
||||||
UINT64 taskExpireTime = GetSortLinkNextExpireTime(&g_taskSortLink, startTime, tickPrecision);
|
UINT64 taskExpireTime = GetSortLinkNextExpireTime(&g_taskSortLink, startTime, tickPrecision);
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
UINT64 swtmrExpireTime = GetSortLinkNextExpireTime(&g_swtmrSortLink, startTime, tickPrecision);
|
UINT64 swtmrExpireTime = GetSortLinkNextExpireTime(&g_swtmrSortLink, startTime, tickPrecision);
|
||||||
|
#else
|
||||||
|
UINT64 swtmrExpireTime = taskExpireTime;
|
||||||
|
#endif
|
||||||
return (taskExpireTime < swtmrExpireTime) ? taskExpireTime : swtmrExpireTime;
|
return (taskExpireTime < swtmrExpireTime) ? taskExpireTime : swtmrExpireTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1584,7 +1584,9 @@ extern UINT32 g_idleTaskID;
|
||||||
* Software timer task ID.
|
* Software timer task ID.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
extern UINT32 g_swtmrTaskID;
|
extern UINT32 g_swtmrTaskID;
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @ingroup los_task
|
* @ingroup los_task
|
||||||
|
|
|
@ -509,7 +509,9 @@ VOID OsSchedStart(VOID)
|
||||||
|
|
||||||
OsTickSysTimerStartTimeSet(newTask->startTime);
|
OsTickSysTimerStartTimeSet(newTask->startTime);
|
||||||
|
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
OsSwtmrResponseTimeReset(newTask->startTime);
|
OsSwtmrResponseTimeReset(newTask->startTime);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Initialize the schedule timeline and enable scheduling */
|
/* Initialize the schedule timeline and enable scheduling */
|
||||||
g_taskScheduled = TRUE;
|
g_taskScheduled = TRUE;
|
||||||
|
|
|
@ -40,7 +40,10 @@ extern "C" {
|
||||||
#endif /* __cplusplus */
|
#endif /* __cplusplus */
|
||||||
|
|
||||||
SortLinkAttribute g_taskSortLink;
|
SortLinkAttribute g_taskSortLink;
|
||||||
|
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
SortLinkAttribute g_swtmrSortLink;
|
SortLinkAttribute g_swtmrSortLink;
|
||||||
|
#endif
|
||||||
|
|
||||||
UINT32 OsSortLinkInit(SortLinkAttribute *sortLinkHead)
|
UINT32 OsSortLinkInit(SortLinkAttribute *sortLinkHead)
|
||||||
{
|
{
|
||||||
|
@ -85,8 +88,10 @@ VOID OsAdd2SortLink(SortLinkList *node, UINT64 startTime, UINT32 waitTicks, Sort
|
||||||
|
|
||||||
if (type == OS_SORT_LINK_TASK) {
|
if (type == OS_SORT_LINK_TASK) {
|
||||||
sortLinkHead = &g_taskSortLink;
|
sortLinkHead = &g_taskSortLink;
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
} else if (type == OS_SORT_LINK_SWTMR) {
|
} else if (type == OS_SORT_LINK_SWTMR) {
|
||||||
sortLinkHead = &g_swtmrSortLink;
|
sortLinkHead = &g_swtmrSortLink;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
LOS_Panic("Sort link type error : %u\n", type);
|
LOS_Panic("Sort link type error : %u\n", type);
|
||||||
}
|
}
|
||||||
|
@ -128,18 +133,22 @@ STATIC INLINE VOID SortLinkNodeTimeUpdate(SortLinkAttribute *sortLinkHead, UINT3
|
||||||
VOID OsSortLinkResponseTimeConvertFreq(UINT32 oldFreq)
|
VOID OsSortLinkResponseTimeConvertFreq(UINT32 oldFreq)
|
||||||
{
|
{
|
||||||
SortLinkAttribute *taskHead = &g_taskSortLink;
|
SortLinkAttribute *taskHead = &g_taskSortLink;
|
||||||
SortLinkAttribute *swtmrHead = &g_swtmrSortLink;
|
|
||||||
|
|
||||||
SortLinkNodeTimeUpdate(taskHead, oldFreq);
|
SortLinkNodeTimeUpdate(taskHead, oldFreq);
|
||||||
|
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
|
SortLinkAttribute *swtmrHead = &g_swtmrSortLink;
|
||||||
SortLinkNodeTimeUpdate(swtmrHead, oldFreq);
|
SortLinkNodeTimeUpdate(swtmrHead, oldFreq);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
SortLinkAttribute *OsGetSortLinkAttribute(SortLinkType type)
|
SortLinkAttribute *OsGetSortLinkAttribute(SortLinkType type)
|
||||||
{
|
{
|
||||||
if (type == OS_SORT_LINK_TASK) {
|
if (type == OS_SORT_LINK_TASK) {
|
||||||
return &g_taskSortLink;
|
return &g_taskSortLink;
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
} else if (type == OS_SORT_LINK_SWTMR) {
|
} else if (type == OS_SORT_LINK_SWTMR) {
|
||||||
return &g_swtmrSortLink;
|
return &g_swtmrSortLink;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
PRINT_ERR("Invalid sort link type!\n");
|
PRINT_ERR("Invalid sort link type!\n");
|
||||||
|
|
|
@ -102,7 +102,11 @@ LITE_OS_SEC_BSS LosTask g_losTask;
|
||||||
LITE_OS_SEC_BSS UINT16 g_losTaskLock;
|
LITE_OS_SEC_BSS UINT16 g_losTaskLock;
|
||||||
LITE_OS_SEC_BSS UINT32 g_taskMaxNum;
|
LITE_OS_SEC_BSS UINT32 g_taskMaxNum;
|
||||||
LITE_OS_SEC_BSS UINT32 g_idleTaskID;
|
LITE_OS_SEC_BSS UINT32 g_idleTaskID;
|
||||||
|
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
LITE_OS_SEC_BSS UINT32 g_swtmrTaskID;
|
LITE_OS_SEC_BSS UINT32 g_swtmrTaskID;
|
||||||
|
#endif
|
||||||
|
|
||||||
LITE_OS_SEC_DATA_INIT LOS_DL_LIST g_losFreeTask;
|
LITE_OS_SEC_DATA_INIT LOS_DL_LIST g_losFreeTask;
|
||||||
LITE_OS_SEC_DATA_INIT LOS_DL_LIST g_taskRecycleList;
|
LITE_OS_SEC_DATA_INIT LOS_DL_LIST g_taskRecycleList;
|
||||||
LITE_OS_SEC_BSS BOOL g_taskScheduled = FALSE;
|
LITE_OS_SEC_BSS BOOL g_taskScheduled = FALSE;
|
||||||
|
@ -118,8 +122,10 @@ STATIC_INLINE UINT32 OsCheckTaskIDValid(UINT32 taskID)
|
||||||
UINT32 ret = LOS_OK;
|
UINT32 ret = LOS_OK;
|
||||||
if (taskID == g_idleTaskID) {
|
if (taskID == g_idleTaskID) {
|
||||||
ret = LOS_ERRNO_TSK_OPERATE_IDLE;
|
ret = LOS_ERRNO_TSK_OPERATE_IDLE;
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
} else if (taskID == g_swtmrTaskID) {
|
} else if (taskID == g_swtmrTaskID) {
|
||||||
ret = LOS_ERRNO_TSK_SUSPEND_SWTMR_NOT_ALLOWED;
|
ret = LOS_ERRNO_TSK_SUSPEND_SWTMR_NOT_ALLOWED;
|
||||||
|
#endif
|
||||||
} else if (OS_TSK_GET_INDEX(taskID) >= g_taskMaxNum) {
|
} else if (OS_TSK_GET_INDEX(taskID) >= g_taskMaxNum) {
|
||||||
ret = LOS_ERRNO_TSK_ID_INVALID;
|
ret = LOS_ERRNO_TSK_ID_INVALID;
|
||||||
}
|
}
|
||||||
|
@ -1212,9 +1218,11 @@ LITE_OS_SEC_TEXT_MINOR UINT32 LOS_TaskPriSet(UINT32 taskID, UINT16 taskPrio)
|
||||||
return LOS_ERRNO_TSK_OPERATE_IDLE;
|
return LOS_ERRNO_TSK_OPERATE_IDLE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (LOSCFG_BASE_CORE_SWTMR == 1)
|
||||||
if (taskID == g_swtmrTaskID) {
|
if (taskID == g_swtmrTaskID) {
|
||||||
return LOS_ERRNO_TSK_OPERATE_SWTMR;
|
return LOS_ERRNO_TSK_OPERATE_SWTMR;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (OS_CHECK_TSK_PID_NOIDLE(taskID)) {
|
if (OS_CHECK_TSK_PID_NOIDLE(taskID)) {
|
||||||
return LOS_ERRNO_TSK_ID_INVALID;
|
return LOS_ERRNO_TSK_ID_INVALID;
|
||||||
|
|
Loading…
Reference in New Issue