
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
//-------------------------------------------------------//
// Project Code : ALE300K03-21-LGE-GEN2.0-BE-CPU1
// File Name : CPU1_Main.cpp
// Created on : 2022. 9. 22.
// Description :
// Author : KimJeongWoo
// Last modified Date :
//-------------------------------------------------------//
#include "Cpu2DeviceDefine.h"
#pragma SET_CODE_SECTION(".TI.ramfunc")
interrupt void Cpu2EIpc1Isr(void);
#pragma SET_CODE_SECTION()
int main(void)
{
CpuInfo();
Device_init();
Interrupt_initModule();
Interrupt_initVectorTable();
easyDSP_Boot_Sync();
DEVICE_DELAY_US(1000L);
// Interrupt_enable(INT_EPWM1);
// Interrupt_register(INT_EPWM1, &Cpu2Epwm1Isr);
IPC_clearFlagLtoR(IPC_CPU2_L_CPU1_R, IPC_FLAG_ALL);
Interrupt_register(INT_IPC_0, &Cpu2EIpc1Isr);
Interrupt_enable(INT_IPC_0);
// Interrupt_enable(INT_CANA0);
// Interrupt_register(INT_CANA0, &CanBeRxIsr);
// Interrupt_enable(INT_CANB0);
// Interrupt_register(INT_CANB0, &CanMeRxIsr);
InitTimeSharing(20.0e3);
GPIO_writePin(45, 1);
// InitDma();
InitCan();
// InitModbusSci();
InitNtcTable();
// easyDSP_SCI_Init();
Interrupt_enableMaster();
EINT;
ERTM;
for (;;)
{
if (OS_Time.T500us.Flag == 1)
{
RoutineT500us();
OS_Time.T500us.Flag = 0;
}
else if (OS_Time.T1ms.Flag == 1)
{
RoutineT1ms(); // 1ms routine
OS_Time.T1ms.Flag = 0;
}
else if (OS_Time.T2ms.Flag == 1)
{
RoutineT2ms(); // 2ms routine
OS_Time.T2ms.Flag = 0;
}
else if (OS_Time.T10ms.Flag == 1)
{
RoutineT10ms();
OS_Time.T10ms.Flag = 0;
}
else if (OS_Time.T100ms.Flag == 1)
{
// GPIO_togglePin(45);
RoutineT100ms();
OS_Time.T100ms.Flag = 0;
}
else if (OS_Time.T500ms.Flag == 1)
{
RoutineT500ms();
OS_Time.T500ms.Flag = 0;
}
else if (OS_Time.T1s.Flag == 1)
{
RoutineT1s();
OS_Time.T1s.Flag = 0;
}
}
// return 0;
}
unsigned int Cpu2Epwm1IsrCnt = 0;
interrupt void Cpu2EIpc1Isr(void)
{
Cpu2Epwm1IsrCnt++;
OS_Time.Sharing();
RoutineTsamp();
ModbusALLCheckBuffer();
// EPWM_clearEventTriggerInterruptFlag(EPWM1_BASE);
// Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP3);
IPC_ackFlagRtoL(IPC_CPU2_L_CPU1_R, IPC_FLAG0);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP1);
}