📄 conftest.gel
字号:
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 + -