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 + -
显示快捷键?