Various updates

This commit is contained in:
Kai-Bjoern Gemlau
2020-06-05 10:10:27 +02:00
parent 6ae5945307
commit daba348e23
3 changed files with 19 additions and 3 deletions

View File

@@ -24,7 +24,7 @@ P1_PORT=$((10000+$RANDOM))
P2_TITLE=ARM_AMP_CORE0
P3_TMP=/tmp
P4_SYS=/tools/lauterbach/r_2018_02
P9_TCF="$((20000+$USER_ID_SUFFIX))"
P9_TCF="$((20000+$RANDOM))"
if [[ ! ${1} ]]; then
echo "Please specify lauterbach hostname"

Binary file not shown.

View File

@@ -36,6 +36,7 @@ static void _GT_RunableLoop (GT_TASK_T *pMyOwnTask) __attribute__ ((always_inlin
/**
* Weak functions for hooks that are not implemented
*/
__attribute__((weak)) void GT_TaskActivationHook(GT_TASK_T *pMyOwnTask) {(void)pMyOwnTask;return;}
__attribute__((weak)) void GT_TaskStartHook(GT_TASK_T *pMyOwnTask) {(void)pMyOwnTask;return;}
__attribute__((weak)) void GT_TaskEndHook(GT_TASK_T *pMyOwnTask){return;}
__attribute__((weak)) void GT_RunableStartHook(GT_TASK_T *pMyOwnTask){(void)pMyOwnTask;return;}
@@ -43,6 +44,7 @@ __attribute__((weak)) void GT_RunableEndHook(GT_TASK_T *pMyOwnTask){return;}
__attribute__((weak)) void GT_TaskSwHook (GT_TASK_T *pMyOwnTask){return;}
__attribute__((weak)) void GT_InitHook(GT_INIT_T * pInit){return;}
__attribute__((weak)) void GT_StopHook(void){return;}
__attribute__((weak)) void GT_TaskMissHook(GT_TASK_T *pMyOwnTask) {(void)pMyOwnTask;return;}
__attribute__((weak)) volatile void GT_CalibrateStartHook(void){return;}
__attribute__((weak)) volatile void GT_CalibrateEndHook(void){return;}
@@ -83,7 +85,9 @@ inline static void _GT_TaskLoop(GT_TASK_T *pMyOwnTask)
/*
* Call task start hook
*/
OS_ENTER_CRITICAL();
GT_TaskStartHook(pMyOwnTask);
OS_EXIT_CRITICAL();
/*
* Determine CET
*/
@@ -95,7 +99,9 @@ inline static void _GT_TaskLoop(GT_TASK_T *pMyOwnTask)
/*
* Call task end hook
*/
OS_ENTER_CRITICAL();
GT_TaskEndHook(pMyOwnTask);
OS_EXIT_CRITICAL();
/*
* Increment sequence number
*/
@@ -347,9 +353,19 @@ void GT_Stop(void)
}
void GT_ActivateTask(CPU_INT08U id){
CPU_SR cpu_sr;
GT_RT_VAL_T *internal = &GT_TaskTable[id].Internal;
if(GT_TaskTable[id].ActivationType != GT_ACT_OFF){
OSQPost(GT_TaskTable[id].Internal.pActQ,(void *)0);
GT_TaskTable[id].Internal.ActCounter++;
OS_ENTER_CRITICAL();
GT_TaskActivationHook(&GT_Tasks[id]);
OS_EXIT_CRITICAL();
if(internal->ActCounter != internal->SeqNr){
OS_ENTER_CRITICAL();
GT_TaskMissHook(&GT_Tasks[id]);
OS_EXIT_CRITICAL();
}
OSQPost(internal->pActQ,(void *)0);
internal->ActCounter++;
}
}