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

📄 dm642.gel

📁 DM642支持4个串口的驱动代码
💻 GEL
字号:
/*--------------------------------------------------------------*/
/* DSP641x.gel                                                  */
/* This GEL file is to be used with the TMS320C6416 DSP.        */
/* Changes may be required to support specific hardware designs */
/*--------------------------------------------------------------*/


/*
 * New GEL commands for 2.00
 ***********************************************************************
 * OnPreFileLoaded()
 *	If defined, this is executed before all file loads
 *
 * OnFileLoaded(int nErrorCode, int bSymbolsOnly)
 *	If defined, this is executed after all file loads
 *
 * OnReset(int nErrorCode)
 *	If defined, this is executed after "Reset DSP'
 *
 * OnRestart(int nErrorCode)
 *	If defined, this is executed after "Restart'
 ***********************************************************************
*/

/*--------------------------------------------------------------*/
/* The StartUp() function is called each time CCS is started.   */
/* Customize this function to perform desired initialization.   */
/*--------------------------------------------------------------*/

StartUp()
{
/*  setup_memory_map(); this will be hardware specific */
  GEL_Reset();  
/*  init_emif(); this will be hardware specific */
} 

/*--------------------------------------------------------------*/
/* 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
	
    /* EMIFA */
    *(int *)EMIFA_GCTL     = 0x00052078;
    *(int *)EMIFA_CE0      = 0xffffffd3;  /* CE0 SDRAM                     */
    *(int *)EMIFA_CE1      = 0x73a28e11;  /* CE1 Flash                     */
    *(int *)EMIFA_CE2      = 0x22a28a13;  /* CE2 UART                      */
    *(int *)EMIFA_CE3      = 0x22a28a13;  /* CE3 IDE                       */
    *(int *)EMIFA_SDRAMCTL = 0x57115000;  /* SDRAM control                 */
    *(int *)EMIFA_SDRAMTIM = 0x0000081b;  /* SDRAM timing (refresh)        */
    *(int *)EMIFA_SDRAMEXT = 0x001faf4d;  /* SDRAM extended control        */
    *(int *)EMIFA_CE0SECCTL= 0x00000002;  /* CE0 Secondary Control Reg.    */
    *(int *)EMIFA_CE1SECCTL= 0x00000002;  /* CE1 Secondary Control Reg.    */
    *(int *)EMIFA_CE2SECCTL= 0x00000002;  /* CE2 Secondary Control Reg.    */
    *(int *)EMIFA_CE3SECCTL= 0x00000073;  /* CE3 Secondary Control Reg.    */	

}
 
/*--------------------------------------------------------------*/
/* OnReset()                                                    */
/*--------------------------------------------------------------*/

OnReset(int nErrorCode)
{
/*	FlushCache();  */
	init_emif();
}

/*--------------------------------------------------------------*/
/* FlushCache()                                                 */
/*--------------------------------------------------------------*/ 

FlushCache()   
{ 
/*	*(int *)0x01840000 = (*(int *)0x01840000 | 0x00000300);  */
		*(int *)0x01845004 = 0x1;  /* clean the cache*/
}   


/*
 * OnPreFileLoaded()
 * This function is called automatically when the 'Load Program'
 * Menu item is selected  .....
 */
OnPreFileLoaded()
{
	GEL_Reset(); 	/* added 4/15/2002 for 1.0 Si mld */
	init_emif();

}


/*--------------------------------------------------------------*/
/* RESET MENU                                                   */
/*--------------------------------------------------------------*/ 
menuitem "Resets";

hotmenu Reset_BreakPts_and_EMIF()
{
	GEL_BreakPtReset();
	GEL_Reset();
} 
/*
hotmenu Flush_Cache() 
{ 
	FlushCache();
} 
*/

/*--------------------------------------------------------------*/
/* MEMORY MAP MENU                                              */
/*--------------------------------------------------------------*/ 
menuitem "Memory Map";

hotmenu SetMemoryMap()
{
	setup_memory_map();
}

hotmenu ClearMemoryMap()
{
	clear_memory_map();
}

/*--------------------------------------------------------------*/
/* clear_memory_map()                                           */
/*--------------------------------------------------------------*/
clear_memory_map()
{
    GEL_MapOff();
}

/*--------------------------------------------------------------*/
/* setup memory map                                             */
/*--------------------------------------------------------------*/
setup_memory_map()
{
	GEL_MapOn();
	GEL_MapReset();
/*
 put hardware specific info here
	GEL_MapAdd(0x00000000, 0, 0x00100000, 1, 1);
	GEL_MapAdd(0x01800000, 0, 0x00000054, 1, 1);		
	GEL_MapAdd(0x01A80000, 0, 0x00000054, 1, 1);
	GEL_MapAdd(0x01A40000, 0, 0x00001000, 1, 1);
	GEL_MapAdd(0x80000000, 0, 0x00080000, 1, 1); 	
	GEL_MapAdd(0x60000000, 0, 0x00800000, 1, 1); 
    GEL_MapAdd(0x64000000, 0, 0x00800000, 1, 1); 
*/

}


 


	










⌨️ 快捷键说明

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