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

📄 mbx.c

📁 以TI 公司的OMAP5910为例
💻 C
字号:
//////////////////////////////////////////////////////////////////////////
//            Copyright (C) 2004, Eyoka @ Microunit
//                           All Rights Reserved
//________________________________________________________________________
//
// FILENAME:    mbx.c
// PROJECT:     High-Resolution Video System On OMAP
// MODULE:      MPU System
// DESCRIPTION: MPU Mailbox 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 "mbx.h"


/////////////////////////////////////////////////////////////////////
// MAILBOX FUNCTIONS
/////////////////////////////////////////////////////////////////////

//___________________________________________________________________
// Function: MBX_Write1
// Usage: Write data and command to mailbox1.
// Parameters:
//	data			data to be written to DSP mailbox1
//	cmd				command to be written to DSP mailbox1
// Return Values:
//	BOOL			TRUE if successful; FALSE if not(mailbox maybe busy)
//___________________________________________________________________
//
BOOL MBX_Write1(WORD data, WORD cmd)
{
	WORD flag = MBX_ARM2DSP1_FLAG & 0x0001;
	if(flag)
	{
		return FALSE;
	}

	MBX_ARM2DSP1 = data;
	MBX_ARM2DSP1B = cmd;
	return TRUE;
}

//___________________________________________________________________
// Function: MBX_Write2
// Usage: Write data and command to mailbox2.
// Parameters:
//	data			data to be written to DSP mailbox2
//	cmd				command to be written to DSP mailbox2
// Return Values:
//	BOOL			TRUE if successful; FALSE if not(mailbox maybe busy)
//___________________________________________________________________
//
BOOL MBX_Write2(WORD data, WORD cmd)
{
	WORD flag = MBX_ARM2DSP2_FLAG & 0x0001;
	if(flag)
	{
		return FALSE;
	}

	MBX_ARM2DSP2 = data;
	MBX_ARM2DSP2B = cmd;
	return TRUE;
}

//___________________________________________________________________
// Function: MBX_Read1
// Usage: Read data and command from mailbox1.
// Parameters:
//	pData		out	pointer to store data in ARM mailbox1
//	pCmd		out	pointer to store command in ARM mailbox1
// Return Values:	N/A
//___________________________________________________________________
// NOTE: can ONLY be called in ISR.
void MBX_Read1(WORD *pData, WORD *pCmd)
{
	*pData = MBX_DSP2ARM1;
	*pCmd = MBX_DSP2ARM1B;
}

//___________________________________________________________________
// Function: MBX_Read2
// Usage: Read data and command from mailbox2.
// Parameters:
//	pData		out	pointer to store data in ARM mailbox2
//	pCmd		out	pointer to store command in ARM mailbox2
// Return Values:	N/A
//___________________________________________________________________
// NOTE: can ONLY be called in ISR.
void MBX_Read2(WORD *pData, WORD *pCmd)
{
	*pData = MBX_DSP2ARM2;
	*pCmd = MBX_DSP2ARM2B;
}



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

⌨️ 快捷键说明

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