gsample_ccs24_a9.gel
来自「OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI」· GEL 代码 · 共 527 行 · 第 1/2 页
GEL
527 行
GEL_MapAddStr(0x0E000000, 0, 0x02000000, "R|AS2", 0); /* CS3 - NOR Flash - 64MBytes Mode3*/
GEL_MapAddStr(0x10000000, 0, 0x02000000, "R|W|AS4", 0); /* EMIFF - DDRAM - 32MBytes */
}
/* Internal SRAM on OCPT1 - 32KBytes */
GEL_MapAddStr(0x20000000, 0, 0x00008000, "R|W|AS4", 0);
/* Camera Core & ELCD on OCPT2 - 2KBytes each */
GEL_MapAddStr(0x35000000, 0, 0x00000800, "R|W|AS4", 0); /* Camera Core */
GEL_MapAddStr(0x35000800, 0, 0x00000800, "R|W|AS4", 0); /* ELCD */
/* ARM Public Rhea Strobe 0 */
GEL_MapAddStr(0xFFFB0000, 0, 0x00000400, "R|W|AS1", 0); /* register UART 1 */
GEL_MapAddStr(0xFFFB0400, 0, 0x00000400, "R|W|AS4", 0); /* register USB OTG */
GEL_MapAddStr(0xFFFB0800, 0, 0x00000400, "R|W|AS1", 0); /* register UART 2 */
GEL_MapAddStr(0xFFFB0C00, 0, 0x00000400, "R|W|AS4", 0); /* register SPI */
GEL_MapAddStr(0xFFFB1000, 0, 0x00000400, "R|W|AS2", 0); /* register ULPDR */
GEL_MapAddStr(0xFFFB1400, 0, 0x00000400, "R|W|AS4", 0); /* register GPTIMER1 */
GEL_MapAddStr(0xFFFB1800, 0, 0x00000400, "R|W|AS2", 0); /* register McBSP1 */
GEL_MapAddStr(0xFFFB1C00, 0, 0x00000400, "R|W|AS4", 0); /* register GPTIMER2 */
GEL_MapAddStr(0xFFFB2000, 0, 0x00000400, "R|W|AS2", 0); /* register MCSI2 */
GEL_MapAddStr(0xFFFB2800, 0, 0x00000400, "R|W|AS2", 0); /* register MCSI1 */
GEL_MapAddStr(0xFFFB3000, 0, 0x00000400, "R|W|AS2", 0); /* register uWire */
GEL_MapAddStr(0xFFFB3800, 0, 0x00000400, "R|W|AS2", 0); /* register I2C1 Multi-master */
GEL_MapAddStr(0xFFFB3C00, 0, 0x00000400, "R|W|AS2", 0); /* register I2C2 Multi-master */
GEL_MapAddStr(0xFFFB4000, 0, 0x00000400, "R|W|AS4", 0); /* register USB Client */
GEL_MapAddStr(0xFFFB4800, 0, 0x00000800, "R|W|AS2", 0); /* register Cipher A51/52/53 */
GEL_MapAddStr(0xFFFB5000, 0, 0x00000800, "R|W|AS2", 0); /* register TPU */
GEL_MapAddStr(0xFFFB5800, 0, 0x00000800, "R|W|AS2", 0); /* TPU RAM */
GEL_MapAddStr(0xFFFB6000, 0, 0x00000800, "R|W|AS1", 0); /* register PWT */
GEL_MapAddStr(0xFFFB6800, 0, 0x00000800, "R|W|AS2", 0); /* register GEA 1/2/3 */
GEL_MapAddStr(0xFFFB7000, 0, 0x00000400, "R|W|AS4", 0); /* register Serial Radio I/F */
GEL_MapAddStr(0xFFFB7400, 0, 0x00000400, "R|W|AS2", 0); /* register McBSP Digital RF */
GEL_MapAddStr(0xFFFB7800, 0, 0x00000400, "R|W|AS2", 0); /* register MMC1 */
GEL_MapAddStr(0xFFFB7C00, 0, 0x00000400, "R|W|AS2", 0); /* register MMC2 */
GEL_MapAddStr(0xFFFB8000, 0, 0x00000400, "R|W|AS4", 0); /* register Memory Stick */
GEL_MapAddStr(0xFFFB8400, 0, 0x00000400, "R|W|AS4", 0); /* register Memory Stick */
GEL_MapAddStr(0xFFFB8800, 0, 0x00000400, "R|W|AS2", 0); /* register USIM */
GEL_MapAddStr(0xFFFB9000, 0, 0x00000400, "R|W|AS4", 0); /* register Timer32k or OS Timer */
GEL_MapAddStr(0xFFFB9800, 0, 0x00000400, "R|W|AS1", 0); /* register UART3 */
GEL_MapAddStr(0xFFFBA000, 0, 0x00000400, "R|W|AS4", 0); /* register USB Host */
GEL_MapAddStr(0xFFFBA800, 0, 0x00000400, "R|W|AS4", 0); /* register Frame Counter */
GEL_MapAddStr(0xFFFBB000, 0, 0x00000400, "R|W|AS2", 0); /* register TSP */
GEL_MapAddStr(0xFFFBB800, 0, 0x00000400, "R|W|AS4", 0); /* register Rhea Switch */
GEL_MapAddStr(0xFFFBC000, 0, 0x00000400, "R|W|AS4", 0); /* register 1wire */
GEL_MapAddStr(0xFFFBC400, 0, 0x00000400, "R|W|AS4", 0); /* register 32k sync timer */
GEL_MapAddStr(0xFFFBC800, 0, 0x00000400, "R|W|AS4", 0); /* register L4 Rhea Static switch */
GEL_MapAddStr(0xFFFBCC00, 0, 0x00000400, "R|W|AS4", 0); /* register NAND Flash controller */
GEL_MapAddStr(0xFFFBD000, 0, 0x00000400, "R|W|AS1", 0); /* register LPG1 */
GEL_MapAddStr(0xFFFBD800, 0, 0x00000400, "R|W|AS1", 0); /* register LPG2 */
GEL_MapAddStr(0xFFFBE000, 0, 0x00000400, "R|W|AS2", 0); /* register keyboard */
GEL_MapAddStr(0xFFFBE400, 0, 0x00000400, "R|W|AS4", 0); /* register GPIO1 */
GEL_MapAddStr(0xFFFBEC00, 0, 0x00000400, "R|W|AS4", 0); /* register GPIO2 */
GEL_MapAddStr(0xFFFBF000, 0, 0x00000800, "R|W|AS2", 0); /* register Gigacell Mailbox */
/* ARM Public Rhea Strobe 1 */
GEL_MapAddStr(0xFFFCF000, 0, 0x00000800, "R|W|AS2", 0); /* register Mailbox Gigacell */
/* ARM Private Rhea Strobe 0 */
/* ARM Private Rhea Strobe 1 */
GEL_MapAddStr(0xFFFE0000, 0, 0x00000800, "R|W|AS4", 0); /* register Interrupt Handler level 2 */
GEL_MapAddStr(0xFFFE1000, 0, 0x00000800, "R|W|AS4", 0); /* register Neptune Configuration */
GEL_MapAddStr(0xFFFE1800, 0, 0x00000800, "R|W|AS4", 0); /* register Die ID */
GEL_MapAddStr(0xFFFE2000, 0, 0x00000800, "R|W|AS4", 0); /* register Production ID */
GEL_MapAddStr(0xFFFE2800, 0, 0x00000800, "R|W|AS4", 0); /* register Neptune Debug */
GEL_MapAddStr(0xFFFE3000, 0, 0x00000800, "R|W|AS4", 0); /* register LCD Converter */
GEL_MapAddStr(0xFFFE3800, 0, 0x00000800, "R|W|AS4", 0); /* register BIST Control Module */
GEL_MapAddStr(0xFFFE4000, 0, 0x00000800, "R|W|AS4", 0); /* register DES3DES */
GEL_MapAddStr(0xFFFE4800, 0, 0x00000800, "R|W|AS4", 0); /* register SHA1/MD5 */
GEL_MapAddStr(0xFFFE5000, 0, 0x00000800, "R|W|AS4", 0); /* register RNG */
GEL_MapAddStr(0xFFFE5800, 0, 0x00000800, "R|W|AS4", 0); /* register NEPTUNE JTAG */
GEL_MapAddStr(0xFFFE6800, 0, 0x00000800, "R|W|AS4", 0); /* register AES */
GEL_MapAddStr(0xFFFE8000, 0, 0x00001000, "R|W|AS4", 0); /* register PKA */
GEL_MapAddStr(0xFFFE9000, 0, 0x00001000, "R|W|AS4", 0); /* PKA RAM */
GEL_MapAddStr(0xFFFEA800, 0, 0x00000800, "R|W|AS4", 0); /* register Secure Watchdog */
GEL_MapAddStr(0xFFFEB000, 0, 0x00000800, "R|W|AS4", 0); /* register 32K Watchdog */
GEL_MapAddStr(0xFFFEC000, 0, 0x00000100, "R|W|AS4", 0); /* register LCD */
GEL_MapAddStr(0xFFFEC300, 0, 0x00000100, "R|W|AS4", 0); /* register L3 OCPI */
GEL_MapAddStr(0xFFFEC500, 0, 0x00000100, "R|W|AS4", 0); /* register OMAP MCU Timer 1 */
GEL_MapAddStr(0xFFFEC600, 0, 0x00000100, "R|W|AS4", 0); /* register OMAP MCU Timer 2 */
GEL_MapAddStr(0xFFFEC700, 0, 0x00000100, "R|W|AS4", 0); /* register OMAP MCU Timer 3 */
GEL_MapAddStr(0xFFFEC800, 0, 0x00000100, "R|W|AS4", 0); /* register OMAP Watchdog Timer */
GEL_MapAddStr(0xFFFEC900, 0, 0x00000100, "R|W|AS4", 0); /* register MPUI Interface */
GEL_MapAddStr(0xFFFECA00, 0, 0x00000100, "R|W|AS4", 0); /* register Rhea Bridge Internal */
GEL_MapAddStr(0xFFFECB00, 0, 0x00000100, "R|W|AS4", 0); /* register Interrupt Handler level 1 */
GEL_MapAddStr(0xFFFECC00, 0, 0x00000100, "R|W|AS4", 0); /* register Traffic Controller */
GEL_MapAddStr(0xFFFECE00, 0, 0x00000100, "R|W|AS2", 0); /* register CLKM */
GEL_MapAddStr(0xFFFECF00, 0, 0x00000100, "R|W|AS2", 0); /* register ADPLL1 */
GEL_MapAddStr(0xFFFED200, 0, 0x00000100, "R|W|AS4", 0); /* register DSP MMU */
GEL_MapAddStr(0xFFFED300, 0, 0x00000100, "R|W|AS4", 0); /* register Rhea Bridge 2 External */
GEL_MapAddStr(0xFFFED400, 0, 0x00000100, "R|W|AS2", 0); /* register Test Block (PSA) */
GEL_MapAddStr(0xFFFED800, 0, 0x00001000, "R|W|AS4", 0); /* register System DMA */
/* DSP MPUI Interface */
/* Memory mapping */
GEL_MapAddStr(0xE0000000, 0, 0x01000000, "R|W|AS4", 0); /* MPUI Memory */
/* DSP Strobe 0 */
GEL_MapAddStr(0xE1000000, 0, 0x00000800, "R|W|AS2", 0); /* DSP RHEA Shared*/
GEL_MapAddStr(0xE1004000, 0, 0x00000800, "R|W|AS2", 0); /* DSP TRACE Private*/
GEL_MapAddStr(0xE1008000, 0, 0x00000800, "R|W|AS2", 0); /* DSP CLKM */
/* DSP Strobe 1 */
GEL_MapAddStr(0xE1010000, 0, 0x00000800, "R|W|AS2", 0); /* UART1 */
GEL_MapAddStr(0xE1010800, 0, 0x00000400, "R|W|AS2", 0); /* UART2 */
GEL_MapAddStr(0xE1010C00, 0, 0x00000400, "R|W|AS2", 0); /* SPI */
GEL_MapAddStr(0xE1011000, 0, 0x00000400, "R|W|AS2", 0); /* ULPDR */
GEL_MapAddStr(0xE1011400, 0, 0x00000400, "R|W|AS2", 0); /* GPTIMER1 */
GEL_MapAddStr(0xE1011800, 0, 0x00000400, "R|W|AS2", 0); /* McBSP Audio (McBSP1) */
GEL_MapAddStr(0xE1011C00, 0, 0x00000400, "R|W|AS2", 0); /* GPTIMER2 */
GEL_MapAddStr(0xE1012000, 0, 0x00000400, "R|W|AS2", 0); /* MCSI Modem (MCSI2) */
GEL_MapAddStr(0xE1012800, 0, 0x00000400, "R|W|AS2", 0); /* MCSI Blue Tooth (MCSI1) */
GEL_MapAddStr(0xE1013800, 0, 0x00000800, "R|W|AS2", 0); /* I2C1 & I2C2 multi-master */
GEL_MapAddStr(0xE1014800, 0, 0x00000800, "R|W|AS2", 0); /* Cipher A51/52/53 */
GEL_MapAddStr(0xE1015000, 0, 0x00000800, "R|W|AS2", 0); /* TPU Reg */
GEL_MapAddStr(0xE1015800, 0, 0x00000800, "R|W|AS2", 0); /* TPU RAM */
GEL_MapAddStr(0xE1016800, 0, 0x00000800, "R|W|AS2", 0); /* GEA 1/2/3 */
GEL_MapAddStr(0xE1017000, 0, 0x00000400, "R|W|AS2", 0); /* Serial Radio I/F */
GEL_MapAddStr(0xE1017400, 0, 0x00000400, "R|W|AS2", 0); /* McBSP Digital RF */
GEL_MapAddStr(0xE1017C00, 0, 0x00000400, "R|W|AS2", 0); /* MMCSDIO2 */
GEL_MapAddStr(0xE1018800, 0, 0x00000400, "R|W|AS2", 0); /* USIM */
GEL_MapAddStr(0xE1019800, 0, 0x00000400, "R|W|AS2", 0); /* UART3 */
GEL_MapAddStr(0xE101A800, 0, 0x00000400, "R|W|AS2", 0); /* Frame Counter */
GEL_MapAddStr(0xE101B000, 0, 0x00000400, "R|W|AS2", 0); /* TSP */
GEL_MapAddStr(0xE101B800, 0, 0x00000400, "R|W|AS2", 0); /* Rhea Switch */
GEL_MapAddStr(0xE101C400, 0, 0x00000400, "R|W|AS2", 0); /* 32k Sync Timer */
GEL_MapAddStr(0xE101C800, 0, 0x00000400, "R|W|AS2", 0); /* L4 Static Rhea Switch */
GEL_MapAddStr(0xE101CC00, 0, 0x00000400, "R|W|AS2", 0); /* NAND Flash Controller */
GEL_MapAddStr(0xE101E400, 0, 0x00000400, "R|W|AS2", 0); /* GPIO1 */
GEL_MapAddStr(0xE101EC00, 0, 0x00000400, "R|W|AS2", 0); /* GPIO2 */
GEL_MapAddStr(0xE101F000, 0, 0x00000800, "R|W|AS2", 0); /* Mailbox Gigacell */
GEL_MapAddStr(0xE1020000, 0, 0x00000004, "R|W|AS2", 0); /* UMA MPUI Control Register */
GEL_TextOut("Memory mapping terminated\n","result");
}
hotmenu HW_Break_0x0C000()
{
GEL_HWBreakPtReset();
GEL_HWBreakPtAdd(0x0C000000);
}
hotmenu Remove_Break()
{
GEL_HWBreakPtReset();
}
dialog Flash_write( unsigned short *address,
unsigned short data )
{
*address = data;
GEL_TextOut("Wrote %x to %x\n","result",,,, address, data );
}
dialog ______________________________(){}
dialog Flash_id_Mode_1_2()
{
unsigned short manufacturId;
unsigned short deviceId;
*0x0C000000 = 0x90;
manufacturId = *((unsigned short *)0x0C000000);
deviceId = *((unsigned short *)0x0C000002);
*0x0C000000 = 0xFF;
GEL_TextOut("Manufactur Id %x:%d\n","result",,,, manufacturId, manufacturId );
GEL_TextOut("Device Id %x:%d\n","result",,,, deviceId, deviceId );
}
dialog Flash_id_Mode_3()
{
unsigned short manufacturId;
unsigned short deviceId;
*0x0E000000 = 0x90;
manufacturId = *((unsigned short *)0x0E000000);
deviceId = *((unsigned short *)0x0E000002);
*0x0E000000 = 0xFF;
GEL_TextOut("Manufactur Id %x:%d\n","result",,,, manufacturId, manufacturId );
GEL_TextOut("Device Id %x:%d\n","result",,,, deviceId, deviceId );
}
dialog Flash_id_Mode_5_6_7()
{
unsigned short manufacturId;
unsigned short deviceId;
*0x04000000 = 0x90;
manufacturId = *((unsigned short *)0x04000000);
deviceId = *((unsigned short *)0x04000002);
*0x04000000 = 0xFF;
GEL_TextOut("Manufactur Id %x:%d\n","result",,,, manufacturId, manufacturId );
GEL_TextOut("Device Id %x:%d\n","result",,,, deviceId, deviceId );
}
dialog _______________________________(){}
MMU_Section(inAddr, inVal, inCount)
{
int lvCounter;
for (lvCounter = 0; lvCounter < inCount; lvCounter++)
{
((int *)inAddr)[lvCounter] = inVal | (0x100000 * lvCounter);
}
}
init_MMU()
{
int ttb_base_address;
ttb_base_address = 0x10110000;
MMU_Section(0x10110000,0x10000c0e,16); // VA=0x00000000, PA=0x10000000, system 0x0 address is mapped into SDRAM to access exception vector
MMU_Section(0x10110100,0x04000c02,64); // VA=0x04000000, PA=0x04000000, system 0x04000000 address is mapped into cs1 address space
MMU_Section(0x10110200,0x08000c02,64); // VA=0x08000000, PA=0x08000000, system 0x08000000 address is mapped into cs2 address space
MMU_Section(0x10110300,0x0c000c02,64); // VA=0x0c000000, PA=0x0c000000, system 0x0c000000 address is mapped into cs3 address space
MMU_Section(0x10110400,0x10000c0e,64); // VA=0x10000000, PA=0x10000000, system 0x10000000 address is mapped into SDRAM address space
MMU_Section(0x10110800,0x20000c02,1); // VA=0x20000000, PA=0x20000000, system 0x20000000 address is mapped into L3 T1 address space
MMU_Section(0x10110d40,0x35000c02,8); // VA=0x35000000, PA=0x35000000, system 0x35000000 address is mapped into L3 T2(camera and lcd) address space
MMU_Section(0x10113800,0xe0000c02,64); // VA=0xe0000000, PA=0xe0000000, system 0xe0000000 address is mapped into DSP MPUI address space
MMU_Section(0x10113ffc,0xfff00c02,1); // VA=0xfff00000, PA=0xfff00000, system 0xfff00000 address is mapped into MPU&DSP peripherals address space
REG_CP15_TT_BASE = ttb_base_address;
REG_CP15_DACR = 0xFFFFFFFF;
REG_CP15_MMU = 1;
if(REG_CP15_MMU)
{
GEL_TextOut("\nMMU is ON\n","result");
}
else
{
GEL_TextOut("\n**FAILED**\n","result");
GEL_TextOut("\nMMU is OFF\n","result");
}
GEL_MapAddStr(0x00000000, 0, 0x01000000, "R|W|AS4", 0); /* CS4 - SDRAM mapped at 0x0 - 16MB */
}
/* EOF */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?