
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
//-------------------------------------------------------//
// Project Code : CodeLibrary
// File Name : TimeSharing.h
// Created on : 2019. 06. 07.
// Description :
// Author : KimJeongWoo
// Last modified Date :
//-------------------------------------------------------//
#ifndef TIMESHARING_TIMESHARING_H_
#define TIMESHARING_TIMESHARING_H_
#ifdef __cplusplus
extern "C" {
#endif
struct sTiME_SHARING_SUB
{
float Prd;
float Inverse;
long int SetTick;
long int Tick;
int Flag;
};
struct sTiME_SHARING
{
float BaseTime;
volatile struct sTiME_SHARING_SUB Tsamp;
volatile struct sTiME_SHARING_SUB T250us;
volatile struct sTiME_SHARING_SUB T500us;
volatile struct sTiME_SHARING_SUB T1ms;
volatile struct sTiME_SHARING_SUB T2ms;
volatile struct sTiME_SHARING_SUB T10ms;
volatile struct sTiME_SHARING_SUB T100ms;
volatile struct sTiME_SHARING_SUB T500ms;
volatile struct sTiME_SHARING_SUB T1s;
void Init(float BaseFreq);
void Sharing(void);
};
//-------------------------------------------------------------//
// 듀얼코어 사용시 CPU간 상호 참조하거나 GS메모리에 위치하여 원하지 않는 동작을
// 방지하기 위하여 각 CPU에서만 사용가능한 LS메모리에 위치하여 동작 시킬 것
//-------------------------------------------------------------//
#pragma SET_DATA_SECTION(".TimeSharing")
extern struct sTiME_SHARING OS_Time;
extern float Tsamp;
extern float T250us;
extern float T500us;
extern float T1ms;
extern float T2ms;
extern float T10ms;
extern float T100ms;
extern float T500ms;
extern float T1s;
extern float INV_Tsamp;
extern float INV_T250us;
extern float INV_T500us;
extern float INV_T1ms;
extern float INV_T2ms;
extern float INV_T10ms;
extern float INV_T100ms;
extern float INV_T500ms;
extern float INV_T1s;
extern float INV_RMS_T100ms;
extern float INV_RMS_T500ms;
#pragma SET_DATA_SECTION()
#pragma SET_CODE_SECTION(".TI.ramfunc")
extern void RoutineTsamp(void);
extern void RoutineT250us(void);
extern void RoutineT500us(void);
extern void RoutineT1ms(void);
extern void RoutineT2ms(void);
extern void RoutineT10ms(void);
extern void RoutineT100ms(void);
extern void RoutineT500ms(void);
extern void RoutineT1s(void);
#pragma SET_CODE_SECTION()
extern void InitTimeSharing(float BaseFreq);
#ifdef __cplusplus
}
#endif /* extern "C" */
#endif /* _TIMESHARING_H_ */