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

📄 dsp641x.gel

📁 在海尔的DM642开发板实现RF5框架
💻 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 EVMDM642_EMIFA_GCTL       0x01800000
#define EVMDM642_EMIFA_CE1        0x01800004
#define EVMDM642_EMIFA_CE0        0x01800008
#define EVMDM642_EMIFA_CE2        0x01800010
#define EVMDM642_EMIFA_CE3        0x01800014
#define EVMDM642_EMIFA_SDRAMCTL   0x01800018
#define EVMDM642_EMIFA_SDRAMTIM   0x0000081b  /* SDRAM timing (refresh)        */
#define EVMDM642_EMIFA_SDRAMEXT   0x01800020
#define EVMDM642_EMIFA_CE1SECCTL  0x01800044
#define EVMDM642_EMIFA_CE0SECCTL  0x01800048
#define EVMDM642_EMIFA_CE2SECCTL  0x01800050
#define EVMDM642_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_SDRAMREF   0x01A8001c
#define EMIFB_SDRAMEXT   0x01A80020
#define EMIFB_CE1SECCTL  0x01A80044
#define EMIFB_CE0SECCTL  0x01A80048
#define EMIFB_CE2SECCTL  0x01A80050
#define EMIFB_CE3SECCTL  0x01A80054
*/

/*  
	Put your memory system initialization here

	*(int *)EMIFA_GCTL     = 0x0001307c; 
	
	///EMIFA CE0 SDRAM
	*(int *)EMIFA_CE0      = 0xffffffdf;
	*(int *)EMIFA_SDRAMCTL = 0x47116000;
	*(int *)EMIFA_SDRAMREF = 0x00000600;
	*(int *)EMIFA_SDRAMEXT = 0x00054549;
	
	*(int *)EMIFB_GCTL     = 0x0001307c; 
	
	///EMIFB CE0 CPLD, 8 Bit
	*(int *)EMIFB_CE0      = 0xffffff0F;
	///EMIFB CE1 FLASH, 8 Bit
	*(int *)EMIFB_CE1      = 0xffffff0F;
*/
/***********************added by lixt ***********************/
	*(int *)EVMDM642_EMIFA_GCTL     = 0x00052078;
	*(int *)EVMDM642_EMIFA_CE0      = 0xffffffd3;  /* CE0 SDRAM                     */
	*(int *)EVMDM642_EMIFA_CE1      = 0x73a28e01;  /* CE1 Flash + CPLD              */
	*(int *)EVMDM642_EMIFA_CE2      = 0xffffffc3;  /* CE2 Daughtercard 32-bit async */
	*(int *)EVMDM642_EMIFA_CE3      = 0x22a28a42;  /* CE3 Daughtercard 32-bit sync  */
	*(int *)EVMDM642_EMIFA_SDRAMCTL = 0x57116000;  /* SDRAM control                 */
	*(int *)EVMDM642_EMIFA_SDRAMTIM = 0x0000081b;  /* SDRAM timing (refresh)        */
	*(int *)EVMDM642_EMIFA_SDRAMEXT = 0x001faf4d;  /* SDRAM extended control        */
	*(int *)EVMDM642_EMIFA_CE0SECCTL= 0x00000002;  /* CE0 Secondary Control Reg.    */
	*(int *)EVMDM642_EMIFA_CE1SECCTL= 0x00000002;  /* CE1 Secondary Control Reg.    */
	*(int *)EVMDM642_EMIFA_CE2SECCTL= 0x00000002;  /* CE2 Secondary Control Reg.    */
	*(int *)EVMDM642_EMIFA_CE3SECCTL= 0x00000073;  /* CE3 Secondary Control Reg.    */

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

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

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

FlushCache()   
{ 
	/* Invalidate L1I and L1D via CCFG */
	*(int *)0x01840000 = (*(int *)0x01840000 | 0x00000300);  

	/* Clean L2 via L2CLEAN */
	*(int *)0x01845004 = 0x1; 
}   


/*
 * OnPreFileLoaded()
 * This function is called automatically when the 'Load Program'
 * Menu item is selected  .....
 */
OnPreFileLoaded()
{
/*	GEL_Reset(); 	 -- Commented out for CCS 2.20 */
	FlushCache();
	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 + -