📄 omap30_armmbx.h
字号:
//-------------------------------------------------------------------------------
// TEXAS INSTRUMENTS INCORPORATED PROPRIETARY INFORMATION
// Property of Texas Instruments
// For Unrestricted Internal Use Only
// Unauthorized reprofuction and/or distribution is strictly prohibited.
// This product is protected under copyright law and trade secret law
// as an unpublished work
// Created 2000, (C) Copyright 2000 Texas Instruments. All rights reserved
//
//-------------------------------------------------------------------------------
#ifndef _OMAP30_MAILBOX__H_
#define _OMAP30_MAILBOX__H_
//-------------------------------------------------------------------------------
//
// ARM REGISTERS DECLARATION
//
//-------------------------------------------------------------------------------
#define ARMMBX_BASE_ADDR MEM_ARM_MAILBOX_ADDR
//ARMMBX_ARM2DSP1
//-------------------
#define ARMMBX_ARM2DSP1 REG16(ARMMBX_BASE_ADDR+0x00)
#define ARMMBX_ARM2DSP1_ARM2DSP1_POS 0
#define ARMMBX_ARM2DSP1_ARM2DSP1_NUMB 16
#define ARMMBX_ARM2DSP1_ARM2DSP1_RES_VAL 0x0
//R/W
//ARMMBX_ARM2DSP1B
//-------------------
#define ARMMBX_ARM2DSP1B REG16(ARMMBX_BASE_ADDR+0x04)
#define ARMMBX_ARM2DSP1B_ARM2DSP1B_POS 0
#define ARMMBX_ARM2DSP1B_ARM2DSP1B_NUMB 16
#define ARMMBX_ARM2DSP1B_ARM2DSP1B_RES_VAL 0x0
//R/W
//ARMMBX_DSP2ARM1
//-------------------
#define ARMMBX_DSP2ARM1 REG16(ARMMBX_BASE_ADDR+0x08)
#define ARMMBX_DSP2ARM1_DSP2ARM1_POS 0
#define ARMMBX_DSP2ARM1_DSP2ARM1_NUMB 16
#define ARMMBX_DSP2ARM1_DSP2ARM1_RES_VAL 0x0
//R
//ARMMBX_DSP2ARM1B
//-------------------
#define ARMMBX_DSP2ARM1B REG16(ARMMBX_BASE_ADDR+0x0C)
#define ARMMBX_DSP2ARM1B_DSP2ARM1B_POS 0
#define ARMMBX_DSP2ARM1B_DSP2ARM1B_NUMB 16
#define ARMMBX_DSP2ARM1B_DSP2ARM1B_RES_VAL 0x0
//R
//ARMMBX_DSP2ARM2
//-------------------
#define ARMMBX_DSP2ARM2 REG16(ARMMBX_BASE_ADDR+0x10)
#define ARMMBX_DSP2ARM2_DSP2ARM2_POS 0
#define ARMMBX_DSP2ARM2_DSP2ARM2_NUMB 16
#define ARMMBX_DSP2ARM2_DSP2ARM2_RES_VAL 0x0
//R
//ARMMBX_DSP2ARM2B
//-------------------
#define ARMMBX_DSP2ARM2B REG16(ARMMBX_BASE_ADDR+0x14)
#define ARMMBX_DSP2ARM2B_DSP2ARM2B_POS 0
#define ARMMBX_DSP2ARM2B_DSP2ARM2B_NUMB 16
#define ARMMBX_DSP2ARM2B_DSP2ARM2B_RES_VAL 0x0
//R
//ARMMBX_ARM2DSP_INT1_FLAG
//-------------------
#define ARMMBX_ARM2DSP_INT1_FLAG REG16(ARMMBX_BASE_ADDR+0x18)
#define ARMMBX_ARM2DSP_INT1_FLAG_INT_POS 0
#define ARMMBX_ARM2DSP_INT1_FLAG_INT_NUMB 1
#define ARMMBX_ARM2DSP_INT1_FLAG_INT_RES_VAL 0x0
//R
//ARMMBX_DSP2ARM_INT1_FLAG
//-------------------
#define ARMMBX_DSP2ARM_INT1_FLAG REG16(ARMMBX_BASE_ADDR+0x1C)
#define ARMMBX_DSP2ARM_INT1_FLAG_INT_POS 0
#define ARMMBX_DSP2ARM_INT1_FLAG_INT_NUMB 1
#define ARMMBX_DSP2ARM_INT1_FLAG_INT_RES_VAL 0x0
//R
//ARMMBX_DSP2ARM_INT2_FLAG
//-------------------
#define ARMMBX_DSP2ARM_INT2_FLAG REG16(ARMMBX_BASE_ADDR+0x20)
#define ARMMBX_DSP2ARM_INT2_FLAG_INT_POS 0
#define ARMMBX_DSP2ARM_INT2_FLAG_INT_NUMB 1
#define ARMMBX_DSP2ARM_INT2_FLAG_INT_RES_VAL 0x0
//R
//ARMMBX_ARM2DSP2
//-------------------
#define ARMMBX_ARM2DSP2 REG16(ARMMBX_BASE_ADDR+0x24)
#define ARMMBX_ARM2DSP2_ARM2DSP2_POS 0
#define ARMMBX_ARM2DSP2_ARM2DSP2_NUMB 16
#define ARMMBX_ARM2DSP2_ARM2DSP2_RES_VAL 0x0
//R/W
//ARMMBX_ARM2DSP2B
//-------------------
#define ARMMBX_ARM2DSP2B REG16(ARMMBX_BASE_ADDR+0x28)
#define ARMMBX_ARM2DSP2B_ARM2DSP2B_POS 0
#define ARMMBX_ARM2DSP2B_ARM2DSP2B_NUMB 16
#define ARMMBX_ARM2DSP2B_ARM2DSP2B_RES_VAL 0x0
//R/W
//ARMMBX_ARM2DSP_INT2_FLAG
//-------------------
#define ARMMBX_ARM2DSP_INT2_FLAG REG16(ARMMBX_BASE_ADDR+0x2C)
#define ARMMBX_ARM2DSP_INT2_FLAG_INT_POS 0
#define ARMMBX_ARM2DSP_INT2_FLAG_INT_NUMB 1
#define ARMMBX_ARM2DSP_INT2_FLAG_INT_RES_VAL 0x0
//R
//-------------------------------------------------------------------------------
//
// GLOBAL TYPES DEFINITION
//
//-------------------------------------------------------------------------------
#define ARMMBX_ARM2DSP_FLAG_MASK 0x0001
#define ARMMBX_DSP2ARM_FLAG_MASK 0x0001
typedef enum
{
ARM2DSP1 = 0,
DSP2ARM1 = 1,
DSP2ARM2 = 2,
ARM2DSP2 = 3
} Mailbox_Enum_t;
//-------------------------------------------------------------------------------
//
// FUNCTIONS
//
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
// NAME : Mailbox_Write
// DESCRIPTION : Write data to Mailbox registers :
// - ARM2DSP1 and ARM2DSP1B if ARM2DSP1_FLAG[0] == 0
// - ARM2DSP2 and ARM2DSP2B if ARM2DSP2_FLAG[0] == 0
// PARAMETERS : Mailbox ARM2DSP1 or ARM2DSP2
// Data1 data to first register
// Data2 data to second register
// RETURN VALUE: TRUE if write done successfully, otherwise FALSE
// LIMITATIONS : None
//-------------------------------------------------------------------------------
BOOL Mailbox_Write(Mailbox_Enum_t Mailbox, UWORD16 Data1, UWORD16 Data2);
//-------------------------------------------------------------------------------
// NAME : Mailbox_Read
// DESCRIPTION : Read data from Mailbox registers :
// - ARM2DSP1 and ARM2DSP1B
// - ARM2DSP2 and ARM2DSP2B
// - DSP2ARM1 and DSP2ARM1B
// - DSP2ARM2 and DSP2ARM2B
// PARAMETERS : Mailbox ARM2DSP1, ARM2DSP2, DSP2ARM1 or DSP2ARM2
// *Ptr1 pointer on data from first register
// *Ptr2 pointer on data from second register
// RETURN VALUE: None
// LIMITATIONS : None
//-------------------------------------------------------------------------------
void Mailbox_Read(Mailbox_Enum_t Mailbox, UWORD16 *Ptr1, UWORD16 *Ptr2);
//-------------------------------------------------------------------------------
// NAME : Mailbox_Clear
// DESCRIPTION : Clear the interrupt send by the DSP :
// - DSP2ARM_INT1B
// - DSP2ARM_INT2B
// PARAMETERS : Mailbox DSP2ARM1 or DSP2ARM2
// RETURN VALUE: None
// LIMITATIONS : None
//-------------------------------------------------------------------------------
void Mailbox_Clear(Mailbox_Enum_t Mailbox);
#endif /* _OMAP30_MAILBOX__H_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -