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

📄 dspmmu.c

📁 以TI 公司的OMAP5910为例
💻 C
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    dspmmu.c
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      MPU System
// DESCRIPTION: DSPMMU Interface.
// TARGET CPU:  ARM-925T of OMAP5910
// VERSION:     0.2
//________________________________________________________________________
//
// REVISE HISTORY
// DATE         VERSION AUTHOR  DESCRIPTION
// 2004-11-08   0.2     Eyoka   Checked.
// 2004-11-01   0.1     Eyoka   Created.
//////////////////////////////////////////////////////////////////////////

#include "dspmmu.h"


/////////////////////////////////////////////////////////////////////
// FUNCTIONS
/////////////////////////////////////////////////////////////////////

//___________________________________________________________________
// Function: DSPMMU_TLB_Insert
// Usage: Write DSPMMU TLB entry.
// Parameters:
//	pConfig			pointer to TLB_PARAM.
// Return Values:	N/A
//___________________________________________________________________
// locked base index considered 0
void DSPMMU_TLB_Insert(TLB_PARAM *pConfig)
{
	DSPMMU_CAM_H_REG = (WORD)(pConfig->vir_addr>>22);
	DSPMMU_CAM_L_REG = ((WORD)(pConfig->vir_addr>>6) & 0xFC00)
							| (pConfig->bPreserved<<3) | pConfig->size;

	DSPMMU_RAM_H_REG = (WORD)(pConfig->phy_addr>>16);
	DSPMMU_RAM_L_REG = ((WORD)(pConfig->phy_addr) & 0xFC00)
							| (pConfig->ap<<8);

	DSPMMU_LOCK_REG = pConfig->index<<4;

	DSPMMU_LD_TLB_REG = 0x0001;  
}

//___________________________________________________________________
// Function: DSPMMU_ReleaseReset
// Usage: Release DSPMMU from reset.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_ReleaseReset(void)
{
	DSPMMU_CNTL_REG |= 0x0001;
}

//___________________________________________________________________
// Function: DSPMMU_Reset
// Usage: Reset DSPMMU.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_Reset(void)
{
	DSPMMU_CNTL_REG &= 0xFFFE;
}

//___________________________________________________________________
// Function: DSPMMU_Enable
// Usage: Enable DSPMMU.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_Enable(void)
{
	DSPMMU_CNTL_REG |= 0x0002;
}

//___________________________________________________________________
// Function: DSPMMU_Disable
// Usage: Disable DSPMMU.
// Parameters:		N/A
// Return Values:	N/A
//___________________________________________________________________
//
void DSPMMU_Disable(void)
{
	DSPMMU_CNTL_REG &= 0xFFFD;
}



// the end
//////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

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