📄 gdmatest.c
字号:
{
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 + -