//-------------------------------------------------------// // 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_ */