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

📄 gdmatest.c

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 C
📖 第 1 页 / 共 5 页
字号:
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->HalfFrameIntEnable);
        RES_Set(DMA_HALFIE_RESET_VAL);
        RES_Set(0x32);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CICR_RESET_ERR;
        }
    
    if (Chptr->FrameIntEnable       !=  DMA_FRAMEIE_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->FrameIntEnable);
        RES_Set(DMA_FRAMEIE_RESET_VAL);
        RES_Set(0x33);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CICR_RESET_ERR;
        }
    
    if (Chptr->LastFrameIntEnable   !=  DMA_LASTIE_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LastFrameIntEnable);
        RES_Set(DMA_LASTIE_RESET_VAL);
        RES_Set(0x34);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CICR_RESET_ERR;
        }
    
    if (Chptr->BlockIntEnable       !=  DMA_BLOCKIE_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->BlockIntEnable);
        RES_Set(DMA_BLOCKIE_RESET_VAL);
        RES_Set(0x35);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CICR_RESET_ERR;
        }
    RES_Set(logresult);
    
                                
        //DMA_CSR
        //----------
    logresult = TEST_OK;
    if (Chptr->TimeoutInt      !=  DMA_TOUT_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->TimeoutInt);
        RES_Set(DMA_TOUT_RESET_VAL);
        RES_Set(0x40);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CSR_RESET_ERR;
        }
    
    if (Chptr->DropInt         !=  DMA_DROP_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->DropInt);
        RES_Set(DMA_DROP_RESET_VAL);
        RES_Set(0x41);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CSR_RESET_ERR;
        }
    
    if (Chptr->HalfFrameInt    !=  DMA_HALF_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->HalfFrameInt);
        RES_Set(DMA_HALF_RESET_VAL);
        RES_Set(0x42);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CSR_RESET_ERR;
        }
    
    if (Chptr->FrameInt        !=  DMA_FRAME_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->FrameInt);
        RES_Set(DMA_FRAME_RESET_VAL);
        RES_Set(0x43);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CSR_RESET_ERR;
        }
    
    if (Chptr->LastFrameInt    !=  DMA_LASTFRAME_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LastFrameInt);
        RES_Set(DMA_LASTFRAME_RESET_VAL);
        RES_Set(0x44);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CSR_RESET_ERR;
        }
    
    if (Chptr->BlockInt        !=  DMA_BLOCK_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->BlockInt);
        RES_Set(DMA_BLOCK_RESET_VAL);
        RES_Set(0x45);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_CSR_RESET_ERR;
        }
    RES_Set(logresult);

   }
 else
   {
    LCD_CHANNEL_DESCRIPTOR* Chptr;
    Chptr=&(SystemDma.LcdChannel);
   
   //DMA_LCD_CTRL
   //--------------------
  logresult = TEST_OK;
  if (Chptr->FrameMode != DMA_LCD_FRAMEMODE_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->FrameMode);
        RES_Set(DMA_LCD_FRAMEMODE_RESET_VAL);
        RES_Set(0x50);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }

  if (Chptr->FrameItIe != DMA_LCD_FRAMEIE_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->FrameItIe);
        RES_Set(DMA_LCD_FRAMEIE_RESET_VAL);
        RES_Set(0x51);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }

  if (Chptr->BusErrorItIe != DMA_LCD_BUSERROR_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->BusErrorItIe);
        RES_Set(DMA_LCD_BUSERROR_RESET_VAL);
        RES_Set(0x52);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }

  if (Chptr->Frame1ItCond != DMA_LCD_FRAME1IT_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->Frame1ItCond);
        RES_Set(DMA_LCD_FRAME1IT_RESET_VAL);
        RES_Set(0x53);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }

  if (Chptr->Frame2ItCond != DMA_LCD_FRAME2IT_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->Frame2ItCond);
        RES_Set(DMA_LCD_FRAME2IT_RESET_VAL);
        RES_Set(0x54);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }

  if (Chptr->BusErrorItCond != DMA_LCD_BUSERRORIT_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->BusErrorItCond);
        RES_Set(DMA_LCD_BUSERRORIT_RESET_VAL);
        RES_Set(0x55);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }

  if (Chptr->LcdSrc != DMA_LCD_SRC_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LcdSrc);
        RES_Set(DMA_LCD_SRC_RESET_VAL);
        RES_Set(0x56);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_CTRL_RESET_ERR;
        }
    RES_Set(logresult);

   //DMA_LCD_TOP_F1
   //-----------------------
    logresult = TEST_OK;
  if (Chptr->LcdTopF1 != DMA_LCD_TOP_F1_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LcdTopF1);
        RES_Set(DMA_LCD_TOP_F1_RESET_VAL);
        RES_Set(0x60);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_F1_RESET_ERR;
        }
    RES_Set(logresult);

   //DMA_LCD_BOT_F1
   //-----------------------
    logresult = TEST_OK;
  if (Chptr->LcdBotF1 != DMA_LCD_BOT_F1_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LcdBotF1);
        RES_Set(DMA_LCD_BOT_F1_RESET_VAL);
        RES_Set(0x70);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_F1_RESET_ERR;
        }
    RES_Set(logresult);

   //DMA_LCD_TOP_F2
   //-----------------------
    logresult = TEST_OK;
  if (Chptr->LcdTopF2 != DMA_LCD_TOP_F2_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LcdTopF2);
        RES_Set(DMA_LCD_TOP_F2_RESET_VAL);
        RES_Set(0x80);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_F2_RESET_ERR;
        }
    RES_Set(logresult);

   //DMA_LCD_BOT_F2
   //-----------------------
    logresult = TEST_OK;
  if (Chptr->LcdBotF2 != DMA_LCD_BOT_F2_RESET_VAL)
        {
        RES_Set(START_ARRAY_DATA);
        RES_Set(Chptr->LcdBotF2);
        RES_Set(DMA_LCD_BOT_F2_RESET_VAL);
        RES_Set(0x90);
        RES_Set(END_ARRAY_DATA);
        logresult = DMA_LCD_F2_RESET_ERR;
        }
    RES_Set(logresult);

   }
  return((BOOL)TRUE);
}


//-------------------------------------------------------------------------------
// NAME         : DMAT_InitWithPattern       
//
// DESCRIPTION  : Setup everything which is involved with data in the channel
//                
// PARAMETERS   : ChannelNumber       DMA_CHANNEL_0   
//                                    DMA_CHANNEL_1   
//                                    DMA_CHANNEL_2   
//                                    DMA_CHANNEL_3   
//                                    DMA_CHANNEL_4   
//                                    DMA_CHANNEL_5   
//                                    DMA_CHANNEL_6   
//                                    DMA_CHANNEL_7   
//                                    DMA_CHANNEL_8   
//                                    DMA_CHANNEL_LCD 
//
//                Config              See DMA_CONFIG... labels in dmatest.h
//
//
// RETURN VALUE : IS_OK or NOT_OK if something fail
//
//--------------------------------------------------------------------------------
BOOL DMAT_InitWithPattern( UWORD16 ChannelNumber, UWORD16 Pattern, UWORD16 Config)
{
CHANNEL_DESCRIPTOR* Chptr;

 Chptr=&(SystemDma.DmaChannel[ChannelNumber]);
 Chptr->Pattern = Pattern;

    switch(Config)
	{
	case DMA_CONFIG8_8_1:
	    {
		//DMA_CSDP
		//--------------------
		Chptr->TypeSize = DMA_TYPE_8_BITS;
		
		Chptr->SrcPack = DMA_NO_PACKING;
		Chptr->DestPack = DMA_NO_PACKING;
		
		Chptr->SrcBurst = DMA_SINGLE_BURST;
		Chptr->DestBurst = DMA_SINGLE_BURST;
		
		//DMA_CCR
		//-----------------------
		Chptr->SyncNumb = DMA_NOT_SYNC;
		Chptr->EventSync = DMA_FRAME_SYNCHRONIZED;//fs
		Chptr->Priority = DMA_HIGH_PRIORITY;
		//  Chptr->Enable = ;
		Chptr->Autoinit = DMA_AUTOINIT_OFF;
		Chptr->Fifofush = DMA_NO_FLUSH;
		
		Chptr->SrcAddressMode = DMA_ADD_POSTINC;
		Chptr->DestAddressMode = DMA_ADD_POSTINC;
		
		//DMA_CEN 
		//----------------------
		Chptr->EltNumber = 25;
		
		//DMA_CFN 
		//----------------------
		Chptr->FrameNumber = 3;
		
		//DMA_CEI 
		//----------------------
		Chptr->EltIndex = 0;
		
		//DMA_CFI 
		//----------------------
		Chptr->FrameIndex = 0;
						
		break;
	    }//DMA_CONFIG8_8_1

	case DMA_CONFIG8_8_2:
	    {
		//DMA_CSDP
		//--------------------
		Chptr->TypeSize = DMA_TYPE_8_BITS;
		
		Chptr->SrcPack = DMA_NO_PACKING;
		Chptr->DestPack = DMA_NO_PACKING;
		
		Chptr->SrcBurst = DMA_SINGLE_BURST;
		Chptr->DestBurst = DMA_SINGLE_BURST;
		
		//DMA_CCR
		//-----------------------
		Chptr->SyncNumb = DMA_NOT_SYNC;
		Chptr->EventSync = DMA_FRAME_SYNCHRONIZED;//fs
		Chptr->Priority = DMA_HIGH_PRIORITY;
		//  Chptr->Enable = ;
		Chptr->Autoinit = DMA_AUTOINIT_OFF;
		Chptr->Fifofush = DMA_NO_FLUSH;
		
		Chptr->SrcAddressMode = DMA_ADD_SINGLE_INDEX;
		Chptr->DestAddressMode = DMA_ADD_DOUBINDEX;
		
		//DMA_CEN 
		//----------------------
		Chptr->EltNumber = 25;
		
		//DMA_CFN 
		//----------------------
		Chptr->FrameNumber = 3;
		
		//DMA_CEI 
		//----------------------
		Chptr->EltIndex = 3;
		
		//DMA_CFI 
		//----------------------
		Chptr->FrameIndex = 11;
						
		break;
	    }//DMA_CONFIG8_8_2

	case DMA_CONFIG8_8_3:
	    {
		//DMA_CSDP
		//--------------------
		Chptr->TypeSize = DMA_TYPE_8_BITS;
		
		Chptr->SrcPack = DMA_NO_PACKING;
		Chptr->DestPack = DMA_NO_PACKING;
		
		Chptr->SrcBurst = DMA_SINGLE_BURST;
		Chptr->DestBurst = DMA_SINGLE_BURST;
		
		//DMA_CCR
		//-----------------------
		Chptr->SyncNumb = DMA_NOT_SYNC;
		Chptr->EventSync = DMA_FRAME_SYNCHRONIZED;//fs
		Chptr->Priority = DMA_HIGH_PRIORITY;
		//  Chptr->Enable = ;
		Chptr->Autoinit = DMA_AUTOINIT_OFF;
		Chptr->Fifofush = DMA_NO_FLUSH;
		
		Chptr->SrcAddressMode = DMA_ADD_POSTINC;
		Chptr->DestAddressMode = DMA_ADD_POSTINC;
		
		//DMA_CEN 
		//----------------------
		Chptr->EltNumber = 25;
		
		//DMA_CFN 
		//----------------------
		Chptr->FrameNumber = 3;
		
		//DMA_CEI 
		//----------------------
		Chptr->EltIndex = 3;
		
		//DMA_CFI 
		//----------------------
		Chptr->FrameIndex = 11;
						
		break;
	    }//DMA_CONFIG8_8_3

	case DMA_CONFIG8_8_4:
	    {
		//DMA_CSDP
		//--------------------
		Chptr->TypeSize = DMA_TYPE_8_BITS;
		
		Chptr->SrcPack = DMA_NO_PACKING;
		Chptr->DestPack = DMA_NO_PACKING;
		
		Chptr->SrcBurst = DMA_SINGLE_BURST;
		Chptr->DestBurst = DMA_SINGLE_BURST;
		
		//DMA_CCR
		//-----------------------
		Chptr->SyncNumb = DMA_NOT_SYNC;
		Chptr->EventSync = DMA_FRAME_SYNCHRONIZED;//fs
		Chptr->Priority = DMA_HIGH_PRIORITY;
		//  Chptr->Enable = ;
		Chptr->Autoinit = DMA_AUTOINIT_OFF;
		Chptr->Fifofush = DMA_NO_FLUSH;
		
		Chptr->SrcAddressMode = DMA_ADD_POSTINC;
		Chptr->DestAddressMode = DMA_ADD_CONSTANT;
		
		//DMA_CEN 
		//----------------------
		Chptr->EltNumber = 25;
		
		//DMA_CFN 
		//----------------------
		Chptr->FrameNumber = 3;
		
		//DMA_CEI 
		//----------------------
		Chptr->EltIndex = 0;
		
		//DMA_CFI 
		//----------------------
		Chptr->FrameIndex = 0;
						
		break;
	    }//DMA_CONFIG8_8_4

	case DMA_CONFIG8_8_5:
	    {
		//DMA_CSDP
		//--------------------
		Chptr->TypeSize = DMA_TYPE_8_BITS;
		
		Chptr->SrcPack = DMA_NO_PACKING;
		Chptr->DestPack = DMA_NO_PACKING;
		
		Chptr->SrcBurst = DMA_SINGLE_BURST;
		Chptr->DestBurst = DMA_SINGLE_BURST;
		
		//DMA_CCR
		//-----------------------
		Chptr->SyncNumb = DMA_NOT_SYNC;
		Chptr->EventSync = DMA_FRAME_SYNCHRONIZED;//fs
		Chptr->Priority = DMA_HIGH_PRIORITY;
		//  Chptr->Enable = ;
		Chptr->Autoinit = DMA_AUTOINIT_OFF;
		Chptr->Fifofush = DMA_NO_FLUSH;
		
		Chptr->SrcAddressMode = DMA_ADD_CONSTANT;
		Chptr->DestAddressMode = DMA_ADD_POSTINC;
		
		//DMA_CEN 
		//----------------------
		Chptr->EltNumber = 25;
		
		//DMA_CFN 
		//----------------------
		Chptr->FrameNumber = 3;
		
		//DMA_CEI 
		//----------------------
		Chptr->EltIndex = 0;
		

⌨️ 快捷键说明

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