This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

TM4C123GH6PM PLL SIMULATION IN uVision4

I was trying to simulate a simple LED toggle application in TM4C123GH6PM using Keil uVision4 Simulator with PLL (80MHz). It was configured to use an external crystal of 16Mhz. The code with PLL is not working as expected because the time period measured using the Logic Analyzer is for the PIOSC(16MHz) instead of 80MHz PLL output. I think I am not configuring the correct options for target. Is there any extra settings for PLL simulation in Keil? The PLL initialization code is attached for reference.

void PLL_Init2(void)
{
        SYSCTL_RCC2_R|=SYSCTL_RCC2_USERCC2;                                                                             //RCC Regsisters are Overwritten by RCC2
        SYSCTL_RCC2_R|=SYSCTL_RCC2_BYPASS2;                                                                                                                     //System Clock is not PLL Output
        SYSCTL_RCC_R=(SYSCTL_RCC_R&~SYSCTL_RCC_XTAL_M)
                                                        +(SYSCTL_RCC_XTAL_16MHZ);                                                                                                               //Oscillator Value 16MHz
        SYSCTL_RCC2_R=(SYSCTL_RCC2_R&~SYSCTL_RCC2_OSCSRC2_M)
                                                         +(SYSCTL_RCC2_OSCSRC2_MO);                                                                                                     //MOSC as Oscillator Source
        SYSCTL_RCC2_R&=~SYSCTL_RCC2_PWRDN2;                                                                                                                 //Turn On PLL
        SYSCTL_RCC2_R|=SYSCTL_RCC2_DIV400;                                                                                                                      //Enable Maximum Possible Frequency of 80MHz
        SYSCTL_RCC2_R=(SYSCTL_RCC2_R&~(SYSCTL_RCC2_SYSDIV2_M+SYSCTL_RCC2_SYSDIV2LSB))
                                                         +(PLL_80MHZ);                                                                                                                                                  //PLL Value of 80MHz
        while((SYSCTL_RIS_R&SYSCTL_RIS_PLLLRIS)==0);                                                                                //PLL Stabilization
        SYSCTL_RCC2_R&=~SYSCTL_RCC2_BYPASS2;                                                                                                                //System Clock is PLL Output
}