⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 f2809.gel

📁 DSP280X芯片的编程简单例子
💻 GEL
📖 第 1 页 / 共 5 页
字号:
hotmenu OSCCLK_x6_divided_by_2()
{
    *0x7021 = 6;    /* CLKIN = (OSCCLK * 6)/2 */
    PLL_Wait();
}
hotmenu OSCCLK_x7_divided_by_2()
{
    *0x7021 = 7;    /* CLKIN = (OSCCLK * 7)/2 */
    PLL_Wait();
}
hotmenu OSCCLK_x8_divided_by_2()
{
    *0x7021 = 8;    /* CLKIN = (OSCCLK * 8)/2 */
    PLL_Wait();
}
hotmenu OSCCLK_x9_divided_by_2()
{
    *0x7021 = 9;    /* CLKIN = (OSCCLK * 9)/2 */
    PLL_Wait();
}
hotmenu OSCCLK_x10_divided_by_2()
{
    *0x7021 = 10;    /* CLKIN = (OSCCLK * 10)/2 */
    PLL_Wait();
}

/********************************************************************/
/* For F280x devices, check the PLLOCKS bit for PLL lock.           */
/********************************************************************/
PLL_Wait()
{
    int PLLSTS;
    int delay = 0;

    PLLSTS = 0x7011;
    
    
    while ( ( (unsigned int)*PLLSTS & 0x0001) != 0x0001)
    {
        delay++;
        GEL_TextOut("Waiting for PLL Lock, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS);
    }
    GEL_TextOut("\nPLL lock complete, PLLSTS = %x\n",,,,,(unsigned int)*PLLSTS);
}

/********************************************************************/
/* The below are used to display the symbolic names of the F2809    */
/* memory mapped registers in the watch window. To view these       */
/* registers, click on the GEL menu button in Code Composer Studio, */
/* then select which registers or groups of registers you want to   */
/* view. They will appear in the watch window under the Watch1 tab. */
/********************************************************************/

/* Add a space line to the GEL menu */
menuitem "______________________________________";
hotmenu __() {}

/********************************************************************/
/* A/D Converter Registers                                          */
/********************************************************************/
menuitem "Watch ADC Registers";

hotmenu All_ADC_Regs()
{
    GEL_WatchAdd("*0x7100,x","ADCTRL1");
    GEL_WatchAdd("*0x7101,x","ADCTRL2");
    GEL_WatchAdd("*0x7102,x","ADCMAXCONV");
    GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1");
    GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2");
    GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3");
    GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4");
    GEL_WatchAdd("*0x7107,x","ADCASEQSR");
    GEL_WatchAdd("*0x7108,x","ADCRESULT0");
    GEL_WatchAdd("*0x7109,x","ADCRESULT1");
    GEL_WatchAdd("*0x710A,x","ADCRESULT2");
    GEL_WatchAdd("*0x710B,x","ADCRESULT3");
    GEL_WatchAdd("*0x710C,x","ADCRESULT4");
    GEL_WatchAdd("*0x710D,x","ADCRESULT5");
    GEL_WatchAdd("*0x710E,x","ADCRESULT6");
    GEL_WatchAdd("*0x710F,x","ADCRESULT7");
    GEL_WatchAdd("*0x7110,x","ADCRESULT8");
    GEL_WatchAdd("*0x7111,x","ADCRESULT9");
    GEL_WatchAdd("*0x7112,x","ADCRESULT10");
    GEL_WatchAdd("*0x7113,x","ADCRESULT11");
    GEL_WatchAdd("*0x7114,x","ADCRESULT12");
    GEL_WatchAdd("*0x7115,x","ADCRESULT13");
    GEL_WatchAdd("*0x7116,x","ADCRESULT14");
    GEL_WatchAdd("*0x7117,x","ADCRESULT15");
    GEL_WatchAdd("*0x7118,x","ADCTRL3");
    GEL_WatchAdd("*0x7119,x","ADCST");
    GEL_WatchAdd("*0x711C,x","ADCREFSEL");
    GEL_WatchAdd("*0x711D,x","ADCOFFTRIM");

    GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror");
    GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror");
    GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror");
    GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror");
    GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror");
    GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror");
    GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror");
    GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror");
    GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror");
    GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror");
    GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror");
    GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror");
    GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror");
    GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror");
    GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror");
    GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror");
}
hotmenu ADC_Control_Regs()
{
    GEL_WatchAdd("*0x7100,x","ADCTRL1");
    GEL_WatchAdd("*0x7101,x","ADCTRL2");
    GEL_WatchAdd("*0x7102,x","ADCMAXCONV");
    GEL_WatchAdd("*0x7107,x","ADCASEQSR");
    GEL_WatchAdd("*0x7118,x","ADCTRL3");
    GEL_WatchAdd("*0x7119,x","ADCST");
    GEL_WatchAdd("*0x711C,x","ADCREFSEL");
    GEL_WatchAdd("*0x711D,x","ADCOFFTRIM");
}
hotmenu ADCCHSELSEQx_Regs()
{
    GEL_WatchAdd("*0x7103,x","ADCCHSELSEQ1");
    GEL_WatchAdd("*0x7104,x","ADCCHSELSEQ2");
    GEL_WatchAdd("*0x7105,x","ADCCHSELSEQ3");
    GEL_WatchAdd("*0x7106,x","ADCCHSELSEQ4");
}
hotmenu ADCRESULT_0_to_7()
{
    GEL_WatchAdd("*0x7108,x","ADCRESULT0");
    GEL_WatchAdd("*0x7109,x","ADCRESULT1");
    GEL_WatchAdd("*0x710A,x","ADCRESULT2");
    GEL_WatchAdd("*0x710B,x","ADCRESULT3");
    GEL_WatchAdd("*0x710C,x","ADCRESULT4");
    GEL_WatchAdd("*0x710D,x","ADCRESULT5");
    GEL_WatchAdd("*0x710E,x","ADCRESULT6");
    GEL_WatchAdd("*0x710F,x","ADCRESULT7");
}
hotmenu ADCRESULT_8_to_15()
{
    GEL_WatchAdd("*0x7110,x","ADCRESULT8");
    GEL_WatchAdd("*0x7111,x","ADCRESULT9");
    GEL_WatchAdd("*0x7112,x","ADCRESULT10");
    GEL_WatchAdd("*0x7113,x","ADCRESULT11");
    GEL_WatchAdd("*0x7114,x","ADCRESULT12");
    GEL_WatchAdd("*0x7115,x","ADCRESULT13");
    GEL_WatchAdd("*0x7116,x","ADCRESULT14");
    GEL_WatchAdd("*0x7117,x","ADCRESULT15");
}
hotmenu ADCRESULT_Mirror_0_to_7()
{
    GEL_WatchAdd("*0x0B00,x","ADCRESULT0 Mirror");
    GEL_WatchAdd("*0x0B01,x","ADCRESULT1 Mirror");
    GEL_WatchAdd("*0x0B02,x","ADCRESULT2 Mirror");
    GEL_WatchAdd("*0x0B03,x","ADCRESULT3 Mirror");
    GEL_WatchAdd("*0x0B04,x","ADCRESULT4 Mirror");
    GEL_WatchAdd("*0x0B05,x","ADCRESULT5 Mirror");
    GEL_WatchAdd("*0x0B06,x","ADCRESULT6 Mirror");
    GEL_WatchAdd("*0x0B07,x","ADCRESULT7 Mirror");
}
hotmenu ADCRESULT_Mirror_8_to_15()
{
    GEL_WatchAdd("*0x0B08,x","ADCRESULT8 Mirror");
    GEL_WatchAdd("*0x0B09,x","ADCRESULT9 Mirror");
    GEL_WatchAdd("*0x0B0A,x","ADCRESULT10 Mirror");
    GEL_WatchAdd("*0x0B0B,x","ADCRESULT11 Mirror");
    GEL_WatchAdd("*0x0B0C,x","ADCRESULT12 Mirror");
    GEL_WatchAdd("*0x0B0D,x","ADCRESULT13 Mirror");
    GEL_WatchAdd("*0x0B0E,x","ADCRESULT14 Mirror");
    GEL_WatchAdd("*0x0B0F,x","ADCRESULT15 Mirror");
}


/********************************************************************/
/* Clocking and Low-Power Registers                                 */
/********************************************************************/
menuitem "Watch Clocking and Low-Power Registers";

hotmenu All_Clocking_and_Low_Power_Regs()
{
    GEL_WatchAdd("*0x7010,x","XCLK");
    GEL_WatchAdd("*0x7011,x","PLLSTS");
    GEL_WatchAdd("*0x701A,x","HISPCP");
    GEL_WatchAdd("*0x701B,x","LOSPCP");
    GEL_WatchAdd("*0x701C,x","PCLKCR0");
    GEL_WatchAdd("*0x701D,x","PCLKCR1");
    GEL_WatchAdd("*0x701E,x","LPMCR0");
    GEL_WatchAdd("*0x7021,x","PLLCR");
}
hotmenu XCLK()
{
    GEL_WatchAdd("*0x7010,x","XCLK");
}
hotmenu PLLSTS()
{
    GEL_WatchAdd("*0x7011,x","PLLSTS");
}
hotmenu HISPCP()
{
    GEL_WatchAdd("*0x701A,x","HISPCP");
}
hotmenu LOSPCP()
{
    GEL_WatchAdd("*0x701B,x","LOSPCP");
}
hotmenu PCLKCR0()
{
    GEL_WatchAdd("*0x701C,x","PCLKCR0");
}
hotmenu PCLKCR1()
{
    GEL_WatchAdd("*0x701D,x","PCLKCR1");
}
hotmenu LPMCR0()
{
    GEL_WatchAdd("*0x701E,x","LPMCR0");
}
hotmenu PLLCR()
{
    GEL_WatchAdd("*0x7021,x","PLLCR");
}


/********************************************************************/
/* Code Security Module Registers                                   */
/********************************************************************/
menuitem "Watch Code Security Module Registers";

hotmenu CSMSCR()
{
    GEL_WatchAdd("*0x0AEF,x","CSMSCR");
    GEL_WatchAdd("(*0x0AEF>>15)&1,d"," FORCESEC bit");
    GEL_WatchAdd("(*0x0AEF)&1,d","     SECURE bit");
}
hotmenu PWL_Locations()
{
    GEL_WatchAdd("*0x3F7FF8,x","PWL0");
    GEL_WatchAdd("*0x3F7FF9,x","PWL1");
    GEL_WatchAdd("*0x3F7FFA,x","PWL2");
    GEL_WatchAdd("*0x3F7FFB,x","PWL3");
    GEL_WatchAdd("*0x3F7FFC,x","PWL4");
    GEL_WatchAdd("*0x3F7FFD,x","PWL5");
    GEL_WatchAdd("*0x3F7FFE,x","PWL6");
    GEL_WatchAdd("*0x3F7FFF,x","PWL7");
}


/********************************************************************/
/* CPU Timer Registers                                              */
/********************************************************************/
menuitem "Watch CPU Timer Registers";

hotmenu All_CPU_Timer0_Regs()
{
    GEL_WatchAdd("*0x0C00,x","TIMER0TIM");
    GEL_WatchAdd("*0x0C01,x","TIMER0TIMH");
    GEL_WatchAdd("*0x0C02,x","TIMER0PRD");
    GEL_WatchAdd("*0x0C03,x","TIMER0PRDH");
    GEL_WatchAdd("*0x0C04,x","TIMER0TCR");
    GEL_WatchAdd("*0x0C06,x","TIMER0TPR");
    GEL_WatchAdd("*0x0C07,x","TIMER0TPRH");
}
hotmenu All_CPU_Timer1_Regs()
{
    GEL_WatchAdd("*0x0C08,x","TIMER1TIM");
    GEL_WatchAdd("*0x0C09,x","TIMER1TIMH");
    GEL_WatchAdd("*0x0C0A,x","TIMER1PRD");
    GEL_WatchAdd("*0x0C0B,x","TIMER1PRDH");
    GEL_WatchAdd("*0x0C0C,x","TIMER1TCR");
    GEL_WatchAdd("*0x0C0E,x","TIMER1TPR");
    GEL_WatchAdd("*0x0C0F,x","TIMER1TPRH");
}
hotmenu All_CPU_Timer2_Regs()
{
    GEL_WatchAdd("*0x0C10,x","TIMER2TIM");
    GEL_WatchAdd("*0x0C11,x","TIMER2TIMH");
    GEL_WatchAdd("*0x0C12,x","TIMER2PRD");
    GEL_WatchAdd("*0x0C13,x","TIMER2PRDH");
    GEL_WatchAdd("*0x0C14,x","TIMER2TCR");
    GEL_WatchAdd("*0x0C16,x","TIMER2TPR");
    GEL_WatchAdd("*0x0C17,x","TIMER2TPRH");
}


/********************************************************************/
/* Device Emulation Registers                                       */
/********************************************************************/
menuitem "Watch Device Emulation Registers";

hotmenu All_Emulation_Regs()
{
    GEL_WatchAdd("*(long *)0x0880,x","DEVICECNF");
    GEL_WatchAdd("*0x0882,x","PARTID");
    GEL_WatchAdd("*0x0883,x","REVID");
    GEL_WatchAdd("*0x0884,x","PROTSTART");
    GEL_WatchAdd("*0x0885,x","PROTRANGE");
}


/********************************************************************/
/* eCAN Registers                                                   */
/********************************************************************/
menuitem "Watch eCAN Registers";

hotmenu eCAN_A_Global_Regs()
{
    GEL_WatchAdd("*(long *)0x6000,x","eCANA CANME");
    GEL_WatchAdd("*(long *)0x6002,x","eCANA CANMD");
    GEL_WatchAdd("*(long *)0x6004,x","eCANA CANTRS");
    GEL_WatchAdd("*(long *)0x6006,x","eCANA CANTRR");
    GEL_WatchAdd("*(long *)0x6008,x","eCANA CANTA");
    GEL_WatchAdd("*(long *)0x600A,x","eCANA CANAA");
    GEL_WatchAdd("*(long *)0x600C,x","eCANA CANRMP");
    GEL_WatchAdd("*(long *)0x600E,x","eCANA CANRML");
    GEL_WatchAdd("*(long *)0x6010,x","eCANA CANRFP");
    GEL_WatchAdd("*(long *)0x6014,x","eCANA CANMC");
    GEL_WatchAdd("*(long *)0x6016,x","eCANA CANBTC");
    GEL_WatchAdd("*(long *)0x6018,x","eCANA CANES");
    GEL_WatchAdd("*(long *)0x601A,x","eCANA CANTEC");
    GEL_WatchAdd("*(long *)0x601C,x","eCANA CANREC");
    GEL_WatchAdd("*(long *)0x601E,x","eCANA CANGIF0");
    GEL_WatchAdd("*(long *)0x6020,x","eCANA CANGIM");
    GEL_WatchAdd("*(long *)0x6022,x","eCANA CANGIF1");
    GEL_WatchAdd("*(long *)0x6024,x","eCANA CANMIM");
    GEL_WatchAdd("*(long *)0x6026,x","eCANA CANMIL");
    GEL_WatchAdd("*(long *)0x6028,x","eCANA CANOPC");
    GEL_WatchAdd("*(long *)0x602A,x","eCANA CANTIOC");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -