📄 mbx.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 + -