menuitem "simulator map" hotmenu mapSetEvm(){ GEL_MapOff(); GEL_MapOn(); GEL_MapAdd(0x00000000, 0, 0x10000, 1,1); GEL_MapAdd(0x80000000, 0, 0x10000, 1,1); GEL_MapAdd(0x02000000, 0, 0x400000, 1,1); GEL_MapAdd(0x03000000, 0, 0x400000, 1,1); } hotmenu mapSet6701(){ GEL_MapOff(); GEL_MapOn(); GEL_MapAdd(0x00000000, 0, 0x10000, 1,1); GEL_MapAdd(0x80000000, 0, 0x10000, 1,1); GEL_MapAdd(0x02000000, 0, 0x1000000, 1,1); GEL_MapAdd(0x03000000, 0, 0x1000000, 1,1); } hotmenu mapSet6713_noCache(){ /* C6713 specific memory mapping */ GEL_MapOn(); GEL_MapReset(); GEL_MapAdd(0x00000000,0,0x00040000,1,1); /* Internal RAM (L2) */ GEL_MapAdd(0x01800000,0,0x00000024,1,1); /* EMIF Control Registers */ GEL_MapAdd(0x01844000,0,0x00000018,1,1); /* Cache Control Registers */ GEL_MapAdd(0x01844020,0,0x00000008,1,1); GEL_MapAdd(0x01844030,0,0x00000008,1,1); GEL_MapAdd(0x01845000,0,0x00000008,1,1); GEL_MapAdd(0x01848200,0,0x00000010,1,1); /* CE0 Memory Attribute Registers */ GEL_MapAdd(0x01848240,0,0x00000010,1,1); /* CE1 Memory Attribute Registers */ GEL_MapAdd(0x01848280,0,0x00000010,1,1); /* CE2 Memory Attribute Registers */ GEL_MapAdd(0x018482c0,0,0x00000010,1,1); /* CE3 Memory Attribute Registers */ GEL_MapAdd(0x01860000,0,0x00000020,1,1); /* ROM Control Registers */ GEL_MapAdd(0x018c0000,0,0x00000028,1,1); /* McBSP0 Registers */ GEL_MapAdd(0x01900000,0,0x00000028,1,1); /* McBSP1 Registers */ GEL_MapAdd(0x01940000,0,0x0000000c,1,1); /* Timer0 Registers */ GEL_MapAdd(0x01980000,0,0x0000000c,1,1); /* Timer1 Registers */ GEL_MapAdd(0x019c0000,0,0x0000000c,1,1); /* Interrupt Selector Regsters */ GEL_MapAdd(0x01a00000,0,0x00000180,1,1); /* EDMA Parameter RAM */ GEL_MapAdd(0x01a00600,0,0x00000200,1,1); GEL_MapAdd(0x01a0ffe0,0,0x00000020,1,1); /* EDMA Control Registers */ GEL_MapAdd(0x01b4c000,0,0x00000024,1,1); /* McASP0 Control Registers */ GEL_MapAdd(0x01b4c044,0,0x00000010,1,1); GEL_MapAdd(0x01b4c060,0,0x00000030,1,1); GEL_MapAdd(0x01b4c0a0,0,0x00000020,1,1); GEL_MapAdd(0x01b4c100,0,0x00000060,1,1); GEL_MapAdd(0x01b4c180,0,0x00000040,1,1); GEL_MapAdd(0x01b4c200,0,0x00000040,1,1); GEL_MapAdd(0x01b4c280,0,0x00000040,1,1); GEL_MapAdd(0x01b50000,0,0x00000020,1,1); /* McASP1 Control Registers */ GEL_MapAdd(0x01b50044,0,0x00000010,1,1); GEL_MapAdd(0x01b50060,0,0x00000030,1,1); GEL_MapAdd(0x01b500a0,0,0x00000020,1,1); GEL_MapAdd(0x01b50100,0,0x00000060,1,1); GEL_MapAdd(0x01b50180,0,0x00000040,1,1); GEL_MapAdd(0x01b50200,0,0x00000040,1,1); GEL_MapAdd(0x01b50280,0,0x00000040,1,1); GEL_MapAdd(0x02000000,0,0x00000014,0,1); /* QDMA Registers */ GEL_MapAdd(0x02000020,0,0x00000014,0,1); GEL_MapAdd(0x03000000,0,0x00800000,1,0); /* ROM */ GEL_MapAdd(0x30000000,0,0x04000000,1,1); /* McBSP0 Data */ GEL_MapAdd(0x34000000,0,0x04000000,1,1); /* McBSP1 Data */ //GEL_MapAdd(0x80000000,0,0x08000000,1,1); /* External Memory Interface CE0 */ GEL_MapAdd(0x90000000,0,0x08000000,1,1); /* External Memory Interface CE1 (router) */ GEL_MapAdd(0x00000000, 0, 0x00040000, 1,1); GEL_MapAdd(0xa0000000, 0, 0x08000000, 1,1); GEL_MapAdd(0xb0000000, 0, 0x08000000, 1,1); /* uncomment the following line to initialize the EMIF registers on the C6x when Code Composer starts up */ emif_init_6713(); } hotmenu mapSet6201(){ GEL_MapOff(); GEL_MapOn(); GEL_MapAdd(0x01800000, 0, 0x20, 1,1); //Emif registers. GEL_MapAdd(0x018c0000, 0, 0x28, 1,1); //McBSP0 Registers GEL_MapAdd(0x01900000, 0, 0x28, 1,1); //McBSP1 Registers GEL_MapAdd(0x01940000, 0, 0x0c, 1,1); //Timer0 Registers GEL_MapAdd(0x01980000, 0, 0x0c, 1,1); //Timer1 Registers GEL_MapAdd(0x00000000, 0, 0x10000, 1,1); //64K ipram GEL_MapAdd(0x80000000, 0, 0x10000, 1,1); //64K idram //allocate more ROD register space than is really used: can be used for misc. storage GEL_MapAdd(0x00400000, 0, 0x01000000, 1,1); GEL_MapAdd(0x01400000, 0, 0x00080000, 1,1); //flash: load bin file at start. GEL_MapAdd(0x02000000, 0, 0x01000000, 1,1); GEL_MapAdd(0x03000000, 0, 0x01000000, 1,1); //for the SDSP: 4 MB each GEL_Load("Sct/Binary/rodRun_sct_sim.out"); } /* * Menuitem creates a selection available beneath the GEL * menu selection in Code Composer Studio. */ menuitem "Resets"; hotmenu ClearBreakPts_Reset_EMIFset_6713() { GEL_BreakPtReset(); GEL_Reset(); emif_init_6713(); } emif_init_6713() { /*---------------------------------------------------------------------------*/ /* EMIF REGISTER VALUES FROM SPRU269B */ /*---------------------------------------------------------------------------*/ #define EMIF_GCTL 0x01800000 #define EMIF_CE1 0x01800004 #define EMIF_CE0 0x01800008 #define EMIF_CE2 0x01800010 #define EMIF_CE3 0x01800014 #define EMIF_SDRAMCTL 0x01800018 #define EMIF_SDRAMTIMING 0x0180001C #define EMIF_SDRAMEXT 0x01800020 *(int *)EMIF_GCTL = 0x00003040;/* EMIF global control register */ *(int *)EMIF_CE1 = 0x40f40323; /* CE1 - 32-bit asynch access after boot*/ *(int *)EMIF_CE0 = 0xFFFFFF30; /* CE0 - SDRAM */ *(int *)EMIF_CE2 = 0x40f40323; /* CE2 - 32-bit asynch on daughterboard */ *(int *)EMIF_CE3 = 0x40f40323; /* CE3 - 32-bit asynch on daughterboard */ *(int *)EMIF_SDRAMCTL = 0x07117000; /* SDRAM control register (100 MHz)*/ *(int *)EMIF_SDRAMTIMING = 0x0000061A; /* SDRAM Timing register */ } /**************************** My GEL fxns: ****************************/ menuitem "gen functions" hotmenu taskop(){ GEL_MemoryLoad(0x02062000, 2, 0xd, "lists/taskop_mlist.txt"); setInListBit(); } dialog memSave(file "File Name in quotes: ", address "starting at address", len "length in words"){ if (address<0x00040000) { GEL_MemorySave(address, 0, len, file); } else if ((address>= 0x80000000)&&(address<0x80010000)) { GEL_MemorySave(address, 1, len, file); } else { GEL_MemorySave(address, 2, len, file); } } dialog memLoad(file "File Name in quotes: ", address "starting at address", len "length in words"){ if (address<0x00040000) { GEL_MemoryLoad(address, 0, len, file); } else if ((address>= 0x80000000)&&(address<0x80010000)) { GEL_MemoryLoad(address, 1, len, file); } else if (address>= 0x02000000) { GEL_MemoryLoad(address, 2, len, file); } } setInListBit(){ GEL_MemoryLoad(0x8000000c, 2, 0x1, "lists/inListBit.txt"); } setIDSPInListBit(){ GEL_MemoryLoad(0x80000078, 2, 0x1, "lists/inListBit.txt"); } setCR_IDSPBit(){ GEL_MemoryLoad(0x8000000c, 2, 0x1, "lists/CR_IDSP.txt"); } setInListBit6713(){ GEL_MemoryLoad(0x0001000c, 2, 0x1, "lists/inListBit.txt"); } setIDSPInListBit6713(){ GEL_MemoryLoad(0x00010078, 2, 0x1, "lists/inListBit.txt"); } setCR_IDSPBit6713(){ GEL_MemoryLoad(0x0001000c, 2, 0x1, "lists/CR_IDSP.txt"); } hotmenu testPrim(){ GEL_MemoryLoad(0x02062000, 2, 0x100, "lists/testPrim_mlist.txt"); setInListBit(); } menuitem "6201 functions" hotmenu echo2(){ GEL_MemoryLoad(0x02062000, 2, 0xf4, "lists/echo2_mlist.txt"); setInListBit(); } hotmenu mirror(){ GEL_MemoryLoad(0x02062000, 2, 0x15, "lists/mirror_mlist.txt"); setInListBit(); } hotmenu rwReg(){ GEL_MemoryLoad(0x02062000, 2, 0x100, "lists/rwreg_mlist.txt"); setInListBit(); } hotmenu ets_set_mdsp(){ GEL_MemoryLoad(0x02062000, 2, 0x100, "lists/ets-set-mdsp.txt"); setInListBit(); } hotmenu histoCtrl_pxl_digiVcal(){ GEL_MemoryLoad(0x02062000, 2, 0x45, "lists/histoCtrl_pxl_digiVcal_mlist.txt"); setInListBit(); } hotmenu histoCtrl_pxl_digiVcal_concurrent(){ GEL_MemoryLoad(0x02062000, 2, 0x45, "lists/histoCtrl_pxl_digiVcal_concurrent_mlist.txt"); setInListBit(); } hotmenu histoCtrl_pxl_Vcal(){ GEL_MemoryLoad(0x02062000, 2, 0x45, "lists/histoCtrl_pxl_Vcal_mlist.txt"); setInListBit(); } hotmenu loadModuleData(){ GEL_MemoryLoad(0x02400000, 2, 0x248, "moduleData/module00.txt"); //0 (G0) GEL_MemoryLoad(0x02400920, 2, 0x248, "moduleData/module01.txt"); //1 (G1) GEL_MemoryLoad(0x02401240, 2, 0x248, "moduleData/module02.txt"); //2 (G2) GEL_MemoryLoad(0x02401b60, 2, 0x248, "moduleData/module03.txt"); //3 (G3) GEL_MemoryLoad(0x02402480, 2, 0x248, "moduleData/module04.txt"); //4 (G0) GEL_MemoryLoad(0x02402da0, 2, 0x248, "moduleData/module05.txt"); //5 (G1) GEL_MemoryLoad(0x024036c0, 2, 0x248, "moduleData/module06.txt"); //6 (G2) GEL_MemoryLoad(0x02403fe0, 2, 0x248, "moduleData/module07.txt"); //7 (G3) //GEL_MemoryLoad(0x02404900, 2, 0x248, "moduleData/module08.txt"); //8 (G0) //GEL_MemoryLoad(0x02405220, 2, 0x248, "moduleData/module09.txt"); //9 (G1) //GEL_MemoryLoad(0x02405b40, 2, 0x248, "moduleData/module10.txt"); //10 (G2) //GEL_MemoryLoad(0x02406460, 2, 0x248, "moduleData/module11.txt"); //11 (G3) GEL_MemoryLoad(0x02404900, 2, 0x248, "moduleData/module08a.txt"); //8 (G0) GEL_MemoryLoad(0x02405220, 2, 0x248, "moduleData/module09a.txt"); //9 (G1) GEL_MemoryLoad(0x02405b40, 2, 0x248, "moduleData/module10a.txt"); //10 (G2) GEL_MemoryLoad(0x02406460, 2, 0x248, "moduleData/module11a.txt"); //11 (G3) } hotmenu loadModuleData_scanCfg_12m(){ GEL_MemoryLoad(0x02422380, 2, 0x1b60, "moduleData/scanCfg_12m.txt"); //modules 0-11 (8-11 are 'a') pre-processed by rw module data for normalMask flags. //So 0-7 have no normal masks, 8-9 are 'perfect' & 10-11 have a couple of chips //with minor flaws (=> 10: normalMasks= 0x6, 11: normalMasks= 0). } hotmenu loadModuleData_moduleMask_Cambridge() { GEL_MemoryLoad(0x02062000, 2, 0xe08, "lists/PrimBuffer_nmask.txt"); setInListBit(); } hotmenu loadModuleData_pxl_1chip(){ GEL_MemoryLoad(0x02400000, 2, 0x8000, "moduleData/pxlModCfg_32stage.txt"); //0 (G0) GEL_MemoryLoad(0x0274E580, 2, 0x8000, "moduleData/pxlModCfg_32stage.txt"); //0 (G0) //GEL_MemoryLoad(0x02062000, 2, 0x1a, "lists/moduleMask_struct_mlist.txt"); //setInListBit(); } hotmenu loadModuleData_pxl_concurrent(){ GEL_MemoryLoad(0x02400000, 2, 0x8000, "moduleData/moduleData-concurrent.txt"); //0 (G0) GEL_MemoryLoad(0x0274E580, 2, 0x8000, "moduleData/moduleData-concurrent.txt"); //0 (G0) //GEL_MemoryLoad(0x02062000, 2, 0x1a, "lists/moduleMask_struct_mlist.txt"); //setInListBit(); } hotmenu test_uModStruct_pxl(){ GEL_MemoryLoad(0x02062000, 2, 0x18, "lists/test_uModStruct_mlist.txt"); //0 (G0) setInListBit(); } hotmenu rwModuleData_12m(){ GEL_MemoryLoad(0x02062000, 2, 0x1bba, "lists/rwModuleData_12m_mlist.txt"); setInListBit(); } hotmenu rwModuleVariable(){ GEL_MemoryLoad(0x02062000, 2, 0x100, "lists/rwModuleVariable_mlist.txt"); setInListBit(); } hotmenu mirrorTask(){ GEL_MemoryLoad(0x02062000, 2, 0x231, "lists/mirrorTask_mlist.txt"); setInListBit(); } hotmenu sendConfig(){ GEL_MemoryLoad(0x02062000, 2, 0x16, "lists/sendConfig_mlist.txt"); setInListBit(); } hotmenu sendConfigErr(){ GEL_MemoryLoad(0x02062000, 2, 0x10, "lists/sendConfigErr.txt"); setInListBit(); } hotmenu moduleMask_uss(){ GEL_MemoryLoad(0x02062000, 2, 0x1a, "lists/moduleMask_uss_mlist.txt"); setInListBit(); } hotmenu moduleMask_8mod(){ GEL_MemoryLoad(0x02062000, 2, 0x100, "lists/moduleMask_8mod_mlist.txt"); setInListBit(); } hotmenu transSerialData(){ GEL_MemoryLoad(0x02062000, 2, 0x15, "lists/transSerialData_mlist.txt"); setInListBit(); } hotmenu writeBuffer(){ GEL_MemoryLoad(0x02062000, 2, 0x1b, "lists/writeBuffer_mlist.txt"); setInListBit(); } hotmenu writeFifo(){ GEL_MemoryLoad(0x02062000, 2, 0xc00f, "lists/accessFifo_writeCPA_pxl.txt"); setInListBit(); } menuitem "6701 functions" hotmenu echo(){ GEL_MemoryLoad(0x02062000, 2, 0x14, "lists/echo_mlist.txt"); setInListBit(); } hotmenu memfxn(){ GEL_MemoryLoad(0x02062000, 2, 0x1b, "lists/set_copyMem_mlist.txt"); //GEL_MemoryLoad(0x02062000, 2, 0x2b, "lists/mem_mlist.txt"); setInListBit(); } hotmenu ets_set(){ GEL_MemoryLoad(0x02062000, 2, 0x26, "lists/ets_set_mlist.txt"); setInListBit(); } hotmenu tasks(){ GEL_MemoryLoad(0x02062000, 2, 0xe0, "lists/tasks_mlist.txt"); setInListBit(); } hotmenu histo(){ GEL_MemoryLoad(0x02062000, 2, 0x59, "lists/histo_mlist.txt"); setInListBit(); } hotmenu modBaseNormal(){ GEL_MemoryLoad(0x800002c0, 2, 0x80, "lists/histo_setup-normal.txt"); } hotmenu modBase3x16sdram(){ GEL_MemoryLoad(0x800002c0, 2, 0x80, "lists/histo_setup-3x16-sdram.txt"); } hotmenu modBase3x16idram(){ GEL_MemoryLoad(0x800002c0, 2, 0x80, "lists/histo_setup-3x16-idram.txt"); } hotmenu histoTaskc(){ GEL_MemoryLoad(0x02062000, 2, 0x15, "lists/histoTask_mlist.txt"); setInListBit(); } hotmenu histoSetupc(){ GEL_MemoryLoad(0x02062000, 2, 0x13, "lists/histoSetup_mlist.txt"); setInListBit(); } hotmenu histoSetupTestc(){ GEL_MemoryLoad(0x02062000, 2, 0x15, "lists/histoSetupTest_mlist.txt"); setInListBit(); } hotmenu sendDatac(){ GEL_MemoryLoad(0x02062000, 2, 0xd, "lists/sendData_mlist.txt"); setInListBit(); } hotmenu moduleMask_idspc(){ GEL_MemoryLoad(0x02061000, 2, 0x88, "lists/moduleMask_sct.txt"); //GEL_MemoryLoad(0x02061000, 2, 0x42, "lists/moduleMask_pxl.txt"); setCR_IDSPBit(); setIDSPInListBit(); } hotmenu moduleMask_sctc(){ GEL_MemoryLoad(0x02061000, 2, 0x88, "lists/moduleMask_sct.txt"); } hotmenu moduleMask_pxlc(){ GEL_MemoryLoad(0x02061000, 2, 0x42, "lists/moduleMask_pxl.txt"); } menuitem "6713 functions" hotmenu scanLoad(){ GEL_MemoryLoad(0xb0000000, 2, 4631040, "c:/scandata/scandata.txt"); } hotmenu ets_idspe(){ GEL_MemoryLoad(0xa0061000, 2, 0x26, "lists/ets_set_mlist.txt"); setCR_IDSPBit6713(); setIDSPInListBit6713(); } hotmenu histoTaske(){ GEL_MemoryLoad(0xa0062000, 2, 0x15, "lists/histoTask_mlist.txt"); setInListBit6713(); } hotmenu histoSetup_c(){ GEL_MemoryLoad(0xa0062000, 2, 0x1c, "lists/histoSetup-c_mlist.txt"); setInListBit6713(); } hotmenu histoSetup_asm(){ GEL_MemoryLoad(0xa0062000, 2, 0x1c, "lists/histoSetup-asm_mlist.txt"); setInListBit6713(); } hotmenu sendDatae(){ GEL_MemoryLoad(0xa0062000, 2, 0xe, "lists/sendData_mlist.txt"); setInListBit6713(); } hotmenu moduleMask_idspe(){ GEL_MemoryLoad(0xa0061000, 2, 0x46, "lists/moduleMask_sct.txt"); //GEL_MemoryLoad(0xa0061000, 2, 0x42, "lists/moduleMask_pxl.txt"); setCR_IDSPBit6713(); setIDSPInListBit6713(); } hotmenu moduleMask_scte(){ GEL_MemoryLoad(0xa0061000, 2, 0x46, "lists/moduleMask_sct.txt"); } hotmenu moduleMask_pxle(){ GEL_MemoryLoad(0xa0061000, 2, 0x26, "lists/moduleMask_pxl.txt"); } hotmenu negHisto(){ GEL_MemoryFill( 0xa00e2000, 2, 0x8000, 0xfffffffe); //negate 1st 128K } hotmenu clearHisto(){ GEL_MemoryFill( 0xa00e2000, 2, 0x8000, 0); //clear 1st 128K } hotmenu resynchTaske(){ GEL_MemoryLoad(0xa0062000, 2, 0x15, "lists/resynchTask_mlist.txt"); setInListBit6713(); } nmaskLoad(){ unsigned int x, len= 5; x= routerData.base +0x100*routerData.nRouterFrames; routerData.nRouterFrames+= len; GEL_MemoryLoad(x, 2, 0x100*len, "events/nmask.txt"); } menuitem "router events 6713" hotmenu clearBurst(){ GEL_MemoryFill( 0x18000, 2, 0x2000, 0x0); } dialog nmask(nEvts "# events: ", evtType "0: nmask, 1: bin0x11") { unsigned int i; for (i=0; i