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

📄 dec6416.gel

📁 Ti 6416 环境下UART模块的操作范例
💻 GEL
字号:
/*************************************************************************
	filename:	DEC6416.gel
	designer:	戴展波
	DATE:		2004/11/22
*************************************************************************/

StartUp()
{
    setup_memory_map();
    GEL_Reset();  
    init_emif();
} 

/*--------------------------------------------------------------*/
/* Setup memory map for C6416 DSK.                              */
/*                                                              */
/*--------------------------------------------------------------*/
setup_memory_map()
{

	GEL_MapOn();
	GEL_MapReset();

        /* On-chip memory map */
	GEL_MapAdd(0x00000000, 0, 0x00100000, 1, 1); /* Internal Memory       */
	GEL_MapAdd(0x01800000, 0, 0x00000054, 1, 1); /* EMIFA CTL REGS        */
	GEL_MapAdd(0x01840000, 0, 0x000082FC, 1, 1); /* INT MEM CTL REGS      */
	GEL_MapAdd(0x018C0000, 0, 0x0000003C, 1, 1); /* MCBSP0 CTL REGS       */
	GEL_MapAdd(0x01900000, 0, 0x0000003C, 1, 1); /* MCBSP1 CTL REGS       */
	GEL_MapAdd(0x01940000, 0, 0x00000008, 1, 1); /* TIMER0 CTL REGS       */
	GEL_MapAdd(0x01980000, 0, 0x00000008, 1, 1); /* TIMER1 CTL REGS       */
	GEL_MapAdd(0x019C0000, 0, 0x00000008, 1, 1); /* INT CTL REGS          */
	GEL_MapAdd(0x01A00000, 0, 0x0000FFFC, 1, 1); /* EDMA REGS AND PARAM   */
	GEL_MapAdd(0x01A40000, 0, 0x0000003C, 1, 1); /* MCBSP2 CTL REGS       */
	GEL_MapAdd(0x01A80000, 0, 0x00000054, 1, 1); /* EMIFB CTL REGS        */
	GEL_MapAdd(0x01AC0000, 0, 0x00000008, 1, 1); /* TIMER2 CTL REGS       */
	GEL_MapAdd(0x01B00000, 0, 0x00000024, 1, 1); /* GPIO REGS             */
	GEL_MapAdd(0x02000000, 0, 0x00000030, 1, 1); /* QDMA REGS             */
	GEL_MapAdd(0x30000000, 0, 0x04000000, 1, 1); /* MCBSP0 Data, EDMA map */
	GEL_MapAdd(0x34000000, 0, 0x04000000, 1, 1); /* MCBSP1 Data, EDMA map */
	GEL_MapAdd(0x38000000, 0, 0x04000000, 1, 1); /* MCBSP2 Data, EDMA map */

	/* Off-chip memory map */
	GEL_MapAdd(0x60000000, 0, 0x00040000, 1, 1); /* CPLD  EMIF-B, CE0     */
	GEL_MapAdd(0x64000000, 0, 0x00040000, 1, 1); /* FLASH EMIF-B, CE1     */
	GEL_MapAdd(0x80000000, 0, 0x01000000, 1, 1); /* 16MB SDRAM EMIF-A, CE0*/
	GEL_MapAdd(0xA0000000, 0, 0x10000000, 1, 1); /* EMIF-A, CE2 EXPANSION */
	GEL_MapAdd(0xB0000000, 0, 0x10000000, 1, 1); /* EMIF-A, CE3 EXPANSION */
}

/*--------------------------------------------------------------*/
/* init_emif() 		                                            */
/*--------------------------------------------------------------*/
init_emif()
{

#define EMIFA_GCTL       0x01800000
#define EMIFA_CE1        0x01800004
#define EMIFA_CE0        0x01800008
#define EMIFA_CE2        0x01800010
#define EMIFA_CE3        0x01800014
#define EMIFA_SDRAMCTL   0x01800018
#define EMIFA_SDRAMTIM   0x0180001c
#define EMIFA_SDRAMEXT   0x01800020
#define EMIFA_CE1SECCTL  0x01800044
#define EMIFA_CE0SECCTL  0x01800048
#define EMIFA_CE2SECCTL  0x01800050
#define EMIFA_CE3SECCTL  0x01800054

#define EMIFB_GCTL       0x01A80000
#define EMIFB_CE1        0x01A80004
#define EMIFB_CE0        0x01A80008
#define EMIFB_CE2        0x01A80010
#define EMIFB_CE3        0x01A80014
#define EMIFB_SDRAMCTL   0x01A80018
#define EMIFB_SDRAMTIM   0x01A8001c
#define EMIFB_SDRAMEXT   0x01A80020
#define EMIFB_CE1SECCTL  0x01A80044
#define EMIFB_CE0SECCTL  0x01A80048
#define EMIFB_CE2SECCTL  0x01A80050
#define EMIFB_CE3SECCTL  0x01A80054
	
    /* EMIFA */
//	*(int *)EMIFA_GCTL     = 0x00012070;
//	*(int *)EMIFA_CE0      = 0xffffffd3;  /* CE0 SDRAM                     */
//	*(int *)EMIFA_CE2      = 0x22a28a22;  /* CE2 Daughtercard 32-bit async */
//	*(int *)EMIFA_CE3      = 0x22a28a22;  /* CE3 Daughtercard 32-bit async */
//	*(int *)EMIFA_SDRAMCTL = 0x47115000;  /* SDRAM control                 */
//	*(int *)EMIFA_SDRAMTIM = 0x00000618;  /* SDRAM timing (refresh)        */
//	*(int *)EMIFA_SDRAMEXT = 0x000a8529;  /* SDRAM extended control        */

    /* EMIFB */
	*(int *)EMIFB_GCTL     = 0x00002070; 
	*(int *)EMIFB_CE0      = 0x22008800;  /* CE0 CPLD 8-bit                */
	*(int *)EMIFB_CE1      = 0x22008800;  /* CE1 Flash 8-bit               */

}

menuitem "SEED-DEC6416 UART CHANNEL SELECT";

hotmenu UART_A_CHANNEL_SELECT()
{
	*(unsigned char *)(0x80000) = 1;		
}

hotmenu UART_B_CHANNEL_SELECT()
{
	*(unsigned char *)(0x80000) = 2;		
}

hotmenu UART_AB_CHANNEL_SELECT()
{
	*(unsigned char *)(0x80000) = 3;		
}

⌨️ 快捷键说明

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