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

📄 dma_image.c

📁 MPC5200 BSP 支持ATA,USB, I2C,扩展网口
💻 C
📖 第 1 页 / 共 4 页
字号:
	TASK_CRC16_DP_api->DRD[7]           = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_api->PtrStartTDT) + 0x0038UL - vMemOffset);
	TASK_CRC16_DP_api->DRD[8]           = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_api->PtrStartTDT) + 0x0040UL - vMemOffset);
	TASK_CRC16_DP_api->NumVar           = 10;
	TASK_CRC16_DP_api->var              = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_api->PtrVarTab) - vMemOffset);
	TASK_CRC16_DP_api->NumInc           = 8;
	TASK_CRC16_DP_api->inc              = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_api->PtrVarTab) + (4*24) - vMemOffset);
	TASK_CRC16_DP_api->Bytes            = &(TASK_CRC16_DP_api->var[0]);
	TASK_CRC16_DP_api->IncrBytes        = (volatile sint16 *)&(TASK_CRC16_DP_api->inc[0])+1;
	TASK_CRC16_DP_api->IterExtra        = &(TASK_CRC16_DP_api->var[1]);
	TASK_CRC16_DP_api->IncrDst          = (volatile sint16 *)&(TASK_CRC16_DP_api->inc[1])+1;
	TASK_CRC16_DP_api->IncrDstMA        = (volatile sint16 *)&(TASK_CRC16_DP_api->inc[2])+1;
	TASK_CRC16_DP_api->IncrSrc          = (volatile sint16 *)&(TASK_CRC16_DP_api->inc[3])+1;
	TASK_CRC16_DP_api->StartAddrDst     = &(TASK_CRC16_DP_api->var[4]);
	TASK_CRC16_DP_api->IncrSrcMA        = (volatile sint16 *)&(TASK_CRC16_DP_api->inc[4])+1;
	TASK_CRC16_DP_api->StartAddrSrc     = &(TASK_CRC16_DP_api->var[5]);
}


void init_dma_image_TASK_CRC16_DP_BD(uint8 *taskBar, sint64 vMemOffset)
{
	uint8 *vMem_taskBar = (taskBar - vMemOffset);
	TASK_CRC16_DP_BD_api->TaskNum       = 7;
	TASK_CRC16_DP_BD_api->PtrStartTDT   = (volatile uint32 *)(vMem_taskBar + 0x00e0UL);
	TASK_CRC16_DP_BD_api->PtrEndTDT     = (volatile uint32 *)(vMem_taskBar + 0x00e4UL);
	TASK_CRC16_DP_BD_api->PtrVarTab     = (volatile uint32 *)(vMem_taskBar + 0x00e8UL);
	TASK_CRC16_DP_BD_api->PtrFDT        = (volatile uint32 *)(vMem_taskBar + 0x00ecUL);
	TASK_CRC16_DP_BD_api->PtrCSave      = (volatile uint32 *)(vMem_taskBar + 0x00f8UL);
	TASK_CRC16_DP_BD_api->TaskPragma    = (volatile uint8  *)(TASK_CRC16_DP_BD_api->PtrFDT)+3;
	TASK_CRC16_DP_BD_api->NumDRD        = 9;
	TASK_CRC16_DP_BD_api->DRD[0]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x0004UL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[1]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x000cUL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[2]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x0010UL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[3]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x0014UL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[4]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x001cUL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[5]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x0020UL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[6]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x0030UL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[7]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x0034UL - vMemOffset);
	TASK_CRC16_DP_BD_api->DRD[8]        = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrStartTDT) + 0x003cUL - vMemOffset);
	TASK_CRC16_DP_BD_api->NumVar        = 13;
	TASK_CRC16_DP_BD_api->var           = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrVarTab) - vMemOffset);
	TASK_CRC16_DP_BD_api->NumInc        = 6;
	TASK_CRC16_DP_BD_api->inc           = (volatile uint32 *)(volatile uint32)(*(TASK_CRC16_DP_BD_api->PtrVarTab) + (4*24) - vMemOffset);
	TASK_CRC16_DP_BD_api->AddrEnable    = &(TASK_CRC16_DP_BD_api->var[0]);
	TASK_CRC16_DP_BD_api->IncrBytes     = (volatile sint16 *)&(TASK_CRC16_DP_BD_api->inc[0])+1;
	TASK_CRC16_DP_BD_api->BDTableBase   = &(TASK_CRC16_DP_BD_api->var[1]);
	TASK_CRC16_DP_BD_api->IncrDst       = (volatile sint16 *)&(TASK_CRC16_DP_BD_api->inc[1])+1;
	TASK_CRC16_DP_BD_api->BDTableLast   = &(TASK_CRC16_DP_BD_api->var[2]);
	TASK_CRC16_DP_BD_api->IncrSrc       = (volatile sint16 *)&(TASK_CRC16_DP_BD_api->inc[2])+1;
	TASK_CRC16_DP_BD_api->BDTableStart  = &(TASK_CRC16_DP_BD_api->var[3]);
	TASK_CRC16_DP_BD_api->Bytes         = &(TASK_CRC16_DP_BD_api->var[4]);
}


void init_dma_image_TASK_GEN_DP_0(uint8 *taskBar, sint64 vMemOffset)
{
	uint8 *vMem_taskBar = (taskBar - vMemOffset);
	TASK_GEN_DP_0_api->TaskNum          = 8;
	TASK_GEN_DP_0_api->PtrStartTDT      = (volatile uint32 *)(vMem_taskBar + 0x0100UL);
	TASK_GEN_DP_0_api->PtrEndTDT        = (volatile uint32 *)(vMem_taskBar + 0x0104UL);
	TASK_GEN_DP_0_api->PtrVarTab        = (volatile uint32 *)(vMem_taskBar + 0x0108UL);
	TASK_GEN_DP_0_api->PtrFDT           = (volatile uint32 *)(vMem_taskBar + 0x010cUL);
	TASK_GEN_DP_0_api->PtrCSave         = (volatile uint32 *)(vMem_taskBar + 0x0118UL);
	TASK_GEN_DP_0_api->TaskPragma       = (volatile uint8  *)(TASK_GEN_DP_0_api->PtrFDT)+3;
	TASK_GEN_DP_0_api->NumDRD           = 4;
	TASK_GEN_DP_0_api->DRD[0]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_0_api->PtrStartTDT) + 0x000cUL - vMemOffset);
	TASK_GEN_DP_0_api->DRD[1]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_0_api->PtrStartTDT) + 0x0018UL - vMemOffset);
	TASK_GEN_DP_0_api->DRD[2]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_0_api->PtrStartTDT) + 0x0024UL - vMemOffset);
	TASK_GEN_DP_0_api->DRD[3]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_0_api->PtrStartTDT) + 0x002cUL - vMemOffset);
	TASK_GEN_DP_0_api->NumVar           = 9;
	TASK_GEN_DP_0_api->var              = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_0_api->PtrVarTab) - vMemOffset);
	TASK_GEN_DP_0_api->NumInc           = 8;
	TASK_GEN_DP_0_api->inc              = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_0_api->PtrVarTab) + (4*24) - vMemOffset);
	TASK_GEN_DP_0_api->Bytes            = &(TASK_GEN_DP_0_api->var[0]);
	TASK_GEN_DP_0_api->IncrBytes        = (volatile sint16 *)&(TASK_GEN_DP_0_api->inc[0])+1;
	TASK_GEN_DP_0_api->IterExtra        = &(TASK_GEN_DP_0_api->var[1]);
	TASK_GEN_DP_0_api->IncrDst          = (volatile sint16 *)&(TASK_GEN_DP_0_api->inc[1])+1;
	TASK_GEN_DP_0_api->IncrDstMA        = (volatile sint16 *)&(TASK_GEN_DP_0_api->inc[2])+1;
	TASK_GEN_DP_0_api->IncrSrc          = (volatile sint16 *)&(TASK_GEN_DP_0_api->inc[3])+1;
	TASK_GEN_DP_0_api->StartAddrDst     = &(TASK_GEN_DP_0_api->var[4]);
	TASK_GEN_DP_0_api->IncrSrcMA        = (volatile sint16 *)&(TASK_GEN_DP_0_api->inc[4])+1;
	TASK_GEN_DP_0_api->StartAddrSrc     = &(TASK_GEN_DP_0_api->var[5]);
}


void init_dma_image_TASK_GEN_DP_1(uint8 *taskBar, sint64 vMemOffset)
{
	uint8 *vMem_taskBar = (taskBar - vMemOffset);
	TASK_GEN_DP_1_api->TaskNum          = 9;
	TASK_GEN_DP_1_api->PtrStartTDT      = (volatile uint32 *)(vMem_taskBar + 0x0120UL);
	TASK_GEN_DP_1_api->PtrEndTDT        = (volatile uint32 *)(vMem_taskBar + 0x0124UL);
	TASK_GEN_DP_1_api->PtrVarTab        = (volatile uint32 *)(vMem_taskBar + 0x0128UL);
	TASK_GEN_DP_1_api->PtrFDT           = (volatile uint32 *)(vMem_taskBar + 0x012cUL);
	TASK_GEN_DP_1_api->PtrCSave         = (volatile uint32 *)(vMem_taskBar + 0x0138UL);
	TASK_GEN_DP_1_api->TaskPragma       = (volatile uint8  *)(TASK_GEN_DP_1_api->PtrFDT)+3;
	TASK_GEN_DP_1_api->NumDRD           = 4;
	TASK_GEN_DP_1_api->DRD[0]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_1_api->PtrStartTDT) + 0x000cUL - vMemOffset);
	TASK_GEN_DP_1_api->DRD[1]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_1_api->PtrStartTDT) + 0x0018UL - vMemOffset);
	TASK_GEN_DP_1_api->DRD[2]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_1_api->PtrStartTDT) + 0x0024UL - vMemOffset);
	TASK_GEN_DP_1_api->DRD[3]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_1_api->PtrStartTDT) + 0x002cUL - vMemOffset);
	TASK_GEN_DP_1_api->NumVar           = 9;
	TASK_GEN_DP_1_api->var              = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_1_api->PtrVarTab) - vMemOffset);
	TASK_GEN_DP_1_api->NumInc           = 8;
	TASK_GEN_DP_1_api->inc              = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_1_api->PtrVarTab) + (4*24) - vMemOffset);
	TASK_GEN_DP_1_api->Bytes            = &(TASK_GEN_DP_1_api->var[0]);
	TASK_GEN_DP_1_api->IncrBytes        = (volatile sint16 *)&(TASK_GEN_DP_1_api->inc[0])+1;
	TASK_GEN_DP_1_api->IterExtra        = &(TASK_GEN_DP_1_api->var[1]);
	TASK_GEN_DP_1_api->IncrDst          = (volatile sint16 *)&(TASK_GEN_DP_1_api->inc[1])+1;
	TASK_GEN_DP_1_api->IncrDstMA        = (volatile sint16 *)&(TASK_GEN_DP_1_api->inc[2])+1;
	TASK_GEN_DP_1_api->IncrSrc          = (volatile sint16 *)&(TASK_GEN_DP_1_api->inc[3])+1;
	TASK_GEN_DP_1_api->StartAddrDst     = &(TASK_GEN_DP_1_api->var[4]);
	TASK_GEN_DP_1_api->IncrSrcMA        = (volatile sint16 *)&(TASK_GEN_DP_1_api->inc[4])+1;
	TASK_GEN_DP_1_api->StartAddrSrc     = &(TASK_GEN_DP_1_api->var[5]);
}


void init_dma_image_TASK_GEN_DP_2(uint8 *taskBar, sint64 vMemOffset)
{
	uint8 *vMem_taskBar = (taskBar - vMemOffset);
	TASK_GEN_DP_2_api->TaskNum          = 10;
	TASK_GEN_DP_2_api->PtrStartTDT      = (volatile uint32 *)(vMem_taskBar + 0x0140UL);
	TASK_GEN_DP_2_api->PtrEndTDT        = (volatile uint32 *)(vMem_taskBar + 0x0144UL);
	TASK_GEN_DP_2_api->PtrVarTab        = (volatile uint32 *)(vMem_taskBar + 0x0148UL);
	TASK_GEN_DP_2_api->PtrFDT           = (volatile uint32 *)(vMem_taskBar + 0x014cUL);
	TASK_GEN_DP_2_api->PtrCSave         = (volatile uint32 *)(vMem_taskBar + 0x0158UL);
	TASK_GEN_DP_2_api->TaskPragma       = (volatile uint8  *)(TASK_GEN_DP_2_api->PtrFDT)+3;
	TASK_GEN_DP_2_api->NumDRD           = 4;
	TASK_GEN_DP_2_api->DRD[0]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_2_api->PtrStartTDT) + 0x000cUL - vMemOffset);
	TASK_GEN_DP_2_api->DRD[1]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_2_api->PtrStartTDT) + 0x0018UL - vMemOffset);
	TASK_GEN_DP_2_api->DRD[2]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_2_api->PtrStartTDT) + 0x0024UL - vMemOffset);
	TASK_GEN_DP_2_api->DRD[3]           = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_2_api->PtrStartTDT) + 0x002cUL - vMemOffset);
	TASK_GEN_DP_2_api->NumVar           = 9;
	TASK_GEN_DP_2_api->var              = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_2_api->PtrVarTab) - vMemOffset);
	TASK_GEN_DP_2_api->NumInc           = 8;
	TASK_GEN_DP_2_api->inc              = (volatile uint32 *)(volatile uint32)(*(TASK_GEN_DP_2_api->PtrVarTab) + (4*24) - vMemOffset);
	TASK_GEN_DP_2_api->Bytes            = &(TASK_GEN_DP_2_api->var[0]);
	TASK_GEN_DP_2_api->IncrBytes        = (volatile sint16 *)&(TASK_GEN_DP_2_api->inc[0])+1;
	TASK_GEN_DP_2_api->IterExtra        = &(TASK_GEN_DP_2_api->var[1]);
	TASK_GEN_DP_2_api->IncrDst          = (volatile sint16 *)&(TASK_GEN_DP_2_api->inc[1])+1;
	TASK_GEN_DP_2_api->IncrDstMA        = (volatile sint16 *)&(TASK_GEN_DP_2_api->inc[2])+1;
	TASK_GEN_DP_2_api->IncrSrc          = (volatile sint16 *)&(TASK_GEN_DP_2_api->inc[3])+1;
	TASK_GEN_DP_2_api->StartAddrDst     = &(TASK_GEN_DP_2_api->var[4]);
	TASK_GEN_DP_2_api->IncrSrcMA        = (volatile sint16 *)&(TASK_GEN_DP_2_api->inc[4])+1;
	TASK_GEN_DP_2_api->StartAddrSrc     = &(TASK_GEN_DP_2_api->var[5]);
}


void init_dma_image_TASK_GEN_DP_3(uint8 *taskBar, sint64 vMemOffset)
{
	uint8 *vMem_taskBar = (taskBar - vMemOffset);
	TASK_GEN_DP_3_api->TaskNum          = 11;
	TASK_GEN_DP_3_api->PtrStartTDT      = (volatile uint32 *)(vMem_taskBar + 0x0160UL);
	TASK_GEN_DP_3_api->PtrEndTDT        = (volatile uint32 *)(vMem_taskBar + 0x0164UL);
	TASK_GEN_DP_3_api->PtrVarTab        = (volatile uint32 *)(vMem_taskBar + 0x0168UL);
	TASK_GEN_DP_3_api->PtrFDT           = (volatile uint32 *)(vMem_taskBar + 0x016cUL);
	TASK_GEN_DP_3_api->PtrCSave         = (volatile uint32 *)(vMem_taskBar + 0x0178UL);
	TASK_GEN_DP_3_api->TaskPragma       = (volatile uint8  *)(TASK_GEN_DP_3_api->PtrFDT)+3;
	TASK_GEN_DP_3_api->NumDRD           = 4;

⌨️ 快捷键说明

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