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

📄 conftest.gel

📁 使用在dsp TI DSK6711中 很多controller 的例子
💻 GEL
📖 第 1 页 / 共 2 页
字号:
do_TIMER()
{
    /* Modify Command and Chg status */
    GEL_MemoryFill(HSB_COMMAND,0,0x1,TIMER);
    GEL_MemoryFill(HSB_STATUS,0,0x1,HOST_STATUS_INPUT_READY);
    ToggleUserLEDs(0xa000000); /* LED3+LED1  Test 4 */  
}

do_QDMA()
{
    /* Modify Command and Chg status */
    GEL_MemoryFill(HSB_COMMAND,0,0x1,QDMA);
    GEL_MemoryFill(HSB_STATUS,0,0x1,HOST_STATUS_INPUT_READY);
    ToggleUserLEDs(0x9000000); /* LED3+LED2  Test 5 */  
}

do_LEDS()
{   
    /* Modify Command and Chg status */
    if((*(HSB_IDPARM1)<0x1) || (*(HSB_IDPARM1)>0xA)) 
      GEL_MemoryFill(HSB_IDPARM1,0,0x1,0x5);
    if((*(HSB_IDPARM2)<0x64) || (*(HSB_IDPARM2)>0x3E8))
      GEL_MemoryFill(HSB_IDPARM2,0,0x1,0x1F4); 
    GEL_MemoryFill(HSB_COMMAND,0,0x1,LEDS);
    GEL_MemoryFill(HSB_STATUS,0,0x1,HOST_STATUS_INPUT_READY); 
}

do_CODEC()
{
    /* Modify Command and Chg status */
    if((*(HSB_IDPARM1)<0x20) || (*(HSB_IDPARM1)>0x1388)) 
      GEL_MemoryFill(HSB_IDPARM1,0,0x1,0x1388);
    if((*(HSB_IDPARM2)<0x1388) || (*(HSB_IDPARM2)>0x3d090))
      GEL_MemoryFill(HSB_IDPARM2,0,0x1,0x3d090); 
    GEL_MemoryFill(HSB_COMMAND,0,0x1,CODEC);
    GEL_MemoryFill(HSB_STATUS,0,0x1,HOST_STATUS_INPUT_READY);
    ToggleUserLEDs(0x8000000); /* LED3+LED2+LED1  Test 6 */  
}

do_PGMEM()
{
    /* Modify Command and Chg status */
/*    GEL_MemoryFill(HSB_IDPARM1,0,0x1,0x12345678); */
/*    GEL_MemoryFill(HSB_IDPARM2,0,0x1,0x0);        */
/*    GEL_MemoryFill(HSB_IDPARM3,0,0x1,0x10);       */
    GEL_MemoryFill(HSB_COMMAND,0,0x1,PGMEM);
    GEL_MemoryFill(HSB_STATUS,0,0x1,HOST_STATUS_INPUT_READY); 
}

do_QUIT()
{
    /* Host Asks for END of Processing */
    GEL_MemoryFill(HSB_STATUS,0,0x1,HOST_STATUS_END_PROCESSING); 
}

/* Show contents of HSB memory */
ShowHSB()
{
	GEL_TextOut("\nHSB[0] IDPARM1 %x %x\n","HandShakingBuffer",1,1,0,HSB_IDPARM1,*(HSB_IDPARM1)); 
	GEL_TextOut("HSB[1] IDPARM2 %x %x\n","HandShakingBuffer",1,2,0,HSB_IDPARM2,*(HSB_IDPARM2)); 
	GEL_TextOut("HSB[2] IDPARM3 %x %x\n","HandShakingBuffer",1,3,0,HSB_IDPARM3,*(HSB_IDPARM3)); 
	GEL_TextOut("HSB[3] COMMAND %x %x\n","HandShakingBuffer",1,4,0,HSB_COMMAND,*(HSB_COMMAND)); 
	GEL_TextOut("HSB[4] STATUS  %x %x\n","HandShakingBuffer",1,5,0,HSB_STATUS,*(HSB_STATUS)); 
	GEL_TextOut("HSB[5] RETURN  %x %x\n","HandShakingBuffer",1,6,0,HSB_RETURN,*(HSB_RETURN)); 
	GEL_TextOut("--------------------------------------","HandShakingBuffer",0,7,0,); 
}

/* Checks the Results of an individual test - Mimics HOST pgm */
CheckResults()
{                
	/* Handshake Acknowledged */
	if((unsigned)*(HSB_RETURN)==HANDSHAKEOK)
	{
		GEL_TextOut("Hand Shake Complete!\n","CnfTst Errors",1,1,0,); 
	}
	/* ISRAM test results */
	else if(*(HSB_RETURN)==ISRAM_OK)
	{
		GEL_TextOut("ISRAM Test PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if(*(HSB_RETURN)==ISRAM_ERR55)
	{
		GEL_TextOut("ISRAM 55 TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total 55 errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	else if(*(HSB_RETURN)==ISRAM_ERRAA)
	{
		GEL_TextOut("ISRAM AA TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total AA errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	else if(*(HSB_RETURN)==ISRAM_ERROR)
	{
		GEL_TextOut("ISRAM 55+AA TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total 55 errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total AA errors=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,4,0,*(HSB_IDPARM3)); 
	}
	/* SDRAM test results */
	else if(*(HSB_RETURN)==SDRAM_OK)
	{
		GEL_TextOut("SDRAM TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if(*(HSB_RETURN)==SDRAM_ERR55)
	{
		GEL_TextOut("SDRAM 55 TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total 55 errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	else if(*(HSB_RETURN)==SDRAM_ERRAA)
	{
		GEL_TextOut("SDRAM AA TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total AA errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	else if(*(HSB_RETURN)==SDRAM_ERROR)
	{
		GEL_TextOut("SDRAM 55+AA TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total 55 errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total AA errors=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,4,0,*(HSB_IDPARM3)); 
	}
	/* FLASH test results */
/*	else if(*(HSB_RETURN)==FLASH_OK)
	{
		GEL_TextOut("FLASH TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}*/
/*	else if(*(HSB_RETURN)==FLASH_ERRCK)     Turned off checksum test
	{
		GEL_TextOut("FLASH CHECKSUM ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Expected checksum=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Computed checksum=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}*/
/*	else if(*(HSB_RETURN)==FLASH_ERR55)
	{
		GEL_TextOut("FLASH 55 TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total 55 errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	else if(*(HSB_RETURN)==FLASH_ERRAA)
	{
		GEL_TextOut("FLASH AA TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total AA errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	else if(*(HSB_RETURN)==FLASH_ERROR)
	{
		GEL_TextOut("FLASH 55+AA TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total 55 errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total AA errors=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM2)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,4,0,*(HSB_IDPARM3)); 
	}*/
	/* MCBSP test results */
	else if(*(HSB_RETURN)==MCBSP_OK)
	{
		GEL_TextOut("MCBSP TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if(*(HSB_RETURN)==MCBSP_ERROR)
	{
		GEL_TextOut("MCBSP TEST FAILED! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Error return value=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
	}
	/* TIMER test results */
	else if(*(HSB_RETURN)==TIMER_OK)
	{
		GEL_TextOut("TIMER TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if(*(HSB_RETURN)==MCBSP_ERROR)
	{
		GEL_TextOut("TIMER TEST FAILED! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
	}
	/* QDMA test results */
	else if(*(HSB_RETURN)==QDMA_OK)
	{
		GEL_TextOut("QDMA  TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if(*(HSB_RETURN)==QDMA_ERROR)
	{
		GEL_TextOut("QDMA  TEST FAILED! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Error return value=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
	}
	/* LEDS test results */
	else if(*(HSB_RETURN)==LEDS_OK)
	{
		GEL_TextOut("LEDS  TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if(*(HSB_RETURN)==LEDS_ERROR)
	{
		GEL_TextOut("LEDS  TEST FAILED! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
	}
	/* CODEC test results */
	else if((unsigned)*(HSB_RETURN)==CODEC_OK)
	{
		GEL_TextOut("CODEC TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
	}
	else if((unsigned)*(HSB_RETURN)==CODEC_ERRTN)
	{
		GEL_TextOut("CODEC TONE TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Error in Control Reg=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
	}
	else if((unsigned)*(HSB_RETURN)==CODEC_ERRCD)
	{
		GEL_TextOut("CODEC CD/MIC TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Error in Control Reg=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM2)); 
	}
	else if((unsigned)*(HSB_RETURN)==CODEC_ERROR)
	{
		GEL_TextOut("CODEC TONE+CD/MIC TEST ERROR! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Error in Tone Control Reg=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Error in CD/MIC Control Reg=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM2)); 
	}
	/* PGMEM test results */
	else if((unsigned)*(HSB_RETURN)==PGMEM_OK)
	{
		GEL_TextOut("PGMEM TEST PASSED! (%x)\n","CnfTst Errors",1,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Value Written=%x\n","CnfTst Errors",1,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("First Address=%x\n","CnfTst Errors",1,3,0,(*(HSB_IDPARM2)+0x80000000)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",1,4,0,*(HSB_IDPARM3)); 
	}
	else if((unsigned)*(HSB_RETURN)==PGMEM_ERROR)
	{
		GEL_TextOut("PGMEM TEST FAILED! (%x)\n","CnfTst Errors",2,1,0,*(HSB_RETURN)); 
		GEL_TextOut("Total errors=%x\n","CnfTst Errors",2,2,0,*(HSB_IDPARM1)); 
		GEL_TextOut("Total Locations=%x\n","CnfTst Errors",2,3,0,*(HSB_IDPARM3)); 
	}
	/* Unknown command */
	else if((unsigned)*(HSB_RETURN)==DEFAULT_ERROR)
	{
		GEL_TextOut("UNKNOWN Command sent to DSP! (%x)\n","CnfTst Errors",0,1,0,*(HSB_RETURN)); 
	}
	/* Test Disabled */
	else if((unsigned)*(HSB_RETURN)==TEST_DISABLED)
	{
		GEL_TextOut("Test Disabled on DSP! (%x)\n","CnfTst Errors",0,1,0,*(HSB_RETURN)); 
	}
	/* Default */
	else
	{
		GEL_TextOut("No Error Code Returned! (%x)\n","CnfTst Errors",0,1,0,*(HSB_RETURN)); 
	}
}

/* Reads and decodes STATUS word of HSB */
ReadStatus()
{   
	if((unsigned)*(HSB_STATUS)==HOST_RECEIVE_HAND_SHAKING_INFO)
	{
		GEL_TextOut("Hand Shake Complete!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_STATUS)==HOST_STATUS_INPUT_READY)
	{
		GEL_TextOut("HOST command READY!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_STATUS)==HOST_STATUS_END_PROCESSING)
	{
		GEL_TextOut("HOST Requested End of Processing!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_STATUS)==DSP_STATUS_OUTPUT_READY)
	{
		GEL_TextOut("DSP Ready for HOST Command!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_STATUS)==DSP_PROCESSING_COMMAND)
	{
		GEL_TextOut("DSP Processing a HOST Command!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_STATUS)==0x0)
	{
		GEL_TextOut("DSP Waiting for HOST ACK!\n","CnfTst Errors",0,1,0,); 
	}
	else
	{
		GEL_TextOut("Unknown Status! (%x)\n","CnfTst Errors",0,1,0,*(HSB_STATUS)); 
	}
}

/* Reads and decodes COMMAND word of HSB */
ReadCommand()
{   
	if((unsigned)*(HSB_COMMAND)==ISRAM)
	{
		GEL_TextOut("ISRAM Test!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_COMMAND)==SDRAM)
	{
		GEL_TextOut("SDRAM Test!\n","CnfTst Errors",0,1,0,); 
	}
/*	else if((unsigned)*(HSB_COMMAND)==FLASH)
	{
		GEL_TextOut("FLASH Test!\n","CnfTst Errors",0,1,0,); 
	}*/
	else if((unsigned)*(HSB_COMMAND)==MCBSP)
	{
		GEL_TextOut("MCBSP Test!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_COMMAND)==TIMER)
	{
		GEL_TextOut("TIMER Test!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_COMMAND)==QDMA)
	{
		GEL_TextOut("QDMA  Test!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_COMMAND)==LEDS)
	{
		GEL_TextOut("LEDS  Test!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_COMMAND)==CODEC)
	{
		GEL_TextOut("CODEC Test!\n","CnfTst Errors",0,1,0,); 
	}
	else if((unsigned)*(HSB_COMMAND)==PGMEM)
	{
		GEL_TextOut("PGMEM Test!\n","CnfTst Errors",0,1,0,); 
	}
	else
	{
		GEL_TextOut("Unknown Command! (%x)\n","CnfTst Errors",0,1,0,*(HSB_COMMAND)); 
	}
}

/* Read Dip switches */
Get_Dips()
{
	GEL_TextOut("Get USER_DIPS (%x) ","CnfTst Errors",2,1,0,user_dip_settings); 
	if(user_dip_settings==0x0f000000)
	  GEL_TextOut("ALL USERSW OFF\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x0e000000)
	  GEL_TextOut("USERSW1\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x0d000000)
	  GEL_TextOut("USERSW2\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x0c000000)
	  GEL_TextOut("USERSW2+USERSW1\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x0b000000)
	  GEL_TextOut("USERSW3\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x0a000000)
	  GEL_TextOut("USERSW3+USERSW1\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x09000000)
	  GEL_TextOut("USERSW3+USERSW2\n","CnfTst Errors",2,1,0,);
	else if(user_dip_settings==0x08000000)
	  GEL_TextOut("USERSW3+USERSW2+USERSW1\n","CnfTst Errors",2,1,0,);
    GEL_MemoryFill(HSB_IDPARM3,0,0x1,user_dip_settings); /* Write parameter for LEDS command */ 
}    

/* Set Dip switches */
Set_Dips(value)
{   
    GEL_MemoryFill(0x0000B238,0,0x1,value); /* Write user_dip_settings memory location */
    GEL_MemoryFill(HSB_IDPARM3,0,0x1,value); /* Write parameter for LEDS command */ 
	GEL_TextOut("Set USER_DIPS (%x) ","CnfTst Errors",2,1,0,value);
	if(value==0x0f000000)
	  GEL_TextOut("ALL USERSW OFF\n","CnfTst Errors",2,1,0,);
	else if(value==0x0e000000)
	  GEL_TextOut("USERSW1\n","CnfTst Errors",2,1,0,);
	else if(value==0x0d000000)
	  GEL_TextOut("USERSW2\n","CnfTst Errors",2,1,0,);
	else if(value==0x0c000000)
	  GEL_TextOut("USERSW2+USERSW1\n","CnfTst Errors",2,1,0,);
	else if(value==0x0b000000)
	  GEL_TextOut("USERSW3\n","CnfTst Errors",2,1,0,);
	else if(value==0x0a000000)
	  GEL_TextOut("USERSW3+USERSW1\n","CnfTst Errors",2,1,0,);
	else if(value==0x09000000)
	  GEL_TextOut("USERSW3+USERSW2\n","CnfTst Errors",2,1,0,);
	else if(value==0x08000000)
	  GEL_TextOut("USERSW3+USERSW2+USERSW1\n","CnfTst Errors",2,1,0,);
}    
Set_USERSW1()
{   
    GEL_MemoryFill(0x0000B238,0,0x1,0x0e000000); /* Write user_dip_settings memory location */
    GEL_MemoryFill(HSB_IDPARM3,0,0x1,0x0e000000); /* Write parameter for LEDS command */ 
	GEL_TextOut("Set USER_DIPS (%x) USERSW1\n","CnfTst Errors",2,1,0,0x0e000000); 
}    
Set_USERSW2()
{   
    GEL_MemoryFill(0x0000B238,0,0x1,0x0d000000); /* Write user_dip_settings memory location */
    GEL_MemoryFill(HSB_IDPARM3,0,0x1,0x0d000000); /* Write parameter for LEDS command */ 
	GEL_TextOut("Set USER_DIPS (%x) USERSW2\n","CnfTst Errors",2,1,0,0x0d000000); 
}    
Set_USERSW3()
{   
    GEL_MemoryFill(0x0000B238,0,0x1,0x0b000000); /* Write user_dip_settings memory location */
    GEL_MemoryFill(HSB_IDPARM3,0,0x1,0x0b000000); /* Write parameter for LEDS command */ 
	GEL_TextOut("Set USER_DIPS (%x) USERSW3\n","CnfTst Errors",2,1,0,0x0b000000); 
}    
 

⌨️ 快捷键说明

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