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

📄 mpu_subsystem.h

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 H
字号:
//*********************************************************************\\
//        company:               COMMIT Incorporated                   \\
//        department:            HW                                    \\
//        author:                LiYuan                                \\
//        version:               1.0                                   \\
//        create date:           11/03/2005                            \\
//        release date:                                                \\
//        final revise date:                                           \\
//        reviser:                                                     \\
//        file descript:                                               \\
//*********************************************************************\\

//registers define
static unsigned int TC_Base_Addr = 0xfffecc00;
#define  TC_OCPT1_PRIOR_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0x00)
#define  TC_OCPT1_PTOR1_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xa0)
#define  TC_OCPT1_PTOR2_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xa4)
#define  TC_OCPT1_PTOR3_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xa8)
#define  TC_OCPT1_ATOR_REG                     *(volatile unsigned long *)(TC_Base_Addr + 0xac)
#define  TC_OCPT1_AADDR_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xb0)
#define  TC_OCPT1_ATYPER_REG                   *(volatile unsigned long *)(TC_Base_Addr + 0xb4)
#define  TC_OCPT_CONFIG_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xb8)
#define  TC_OCPT2_PRIOR_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xd0)
#define  TC_OCPT2_PTOR1_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xd4)
#define  TC_OCPT2_PTOR2_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xd8)
#define  TC_OCPT2_PTOR3_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xdc)
#define  TC_OCPT2_ATOR_REG                     *(volatile unsigned long *)(TC_Base_Addr + 0xe0)
#define  TC_OCPT2_AADDR_REG                    *(volatile unsigned long *)(TC_Base_Addr + 0xe4)
#define  TC_OCPT2_ATYPER_REG                   *(volatile unsigned long *)(TC_Base_Addr + 0xe8)

static unsigned int MPUIPORT_Base_Addr = 0xe1020000;
#define  MPUIPORT_APIRI_REG                    *(volatile unsigned short *)(MPUIPORT_Base_Addr + 0x00)
#define  MPUIPORT_APIRS_REG                    *(volatile unsigned short *)(MPUIPORT_Base_Addr + 0x02)

static unsigned int MPUI_Base_Addr = 0xfffec900;
#define  MPUI_CONTROL_REG                      *(volatile unsigned long *)(MPUI_Base_Addr + 0x00)
#define  MPUI_DEBUG_ADDRESS_REG                *(volatile unsigned long *)(MPUI_Base_Addr + 0x04)
#define  MPUI_DEBUG_DATA_REG                   *(volatile unsigned long *)(MPUI_Base_Addr + 0x08)
#define  MPUI_DEBUG_FLAG_REG                   *(volatile unsigned long *)(MPUI_Base_Addr + 0x0c)
#define  MPUI_STATUS_REG                       *(volatile unsigned long *)(MPUI_Base_Addr + 0x10)
#define  MPUI_DSP_STATUS_REG                   *(volatile unsigned long *)(MPUI_Base_Addr + 0x14)
#define  MPUI_DSP_BOOT_CONFIG_REG              *(volatile unsigned long *)(MPUI_Base_Addr + 0x18)
#define  MPUI_DSP_MPUI_CONFIG_REG              *(volatile unsigned long *)(MPUI_Base_Addr + 0x1c)
#define  MPUI_DSP_MISC_REG                     *(volatile unsigned long *)(MPUI_Base_Addr + 0x20)
#define  MPUI_ENHANCED_CTRL_REG                *(volatile unsigned long *)(MPUI_Base_Addr + 0x24)

static unsigned int MAILBOX_Base_Addr = 0xfffcf000;
#define  MAILBOX_MPU2DSP1A_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x00)
#define  MAILBOX_MPU2DSP1B_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x04)
#define  MAILBOX_DSP2MPU1A_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x08)
#define  MAILBOX_DSP2MPU1B_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x0c)
#define  MAILBOX_DSP2MPU2A_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x10)
#define  MAILBOX_DSP2MPU2B_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x14)
#define  MAILBOX_MPU2DSP1_FLAG_REG             *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x18)
#define  MAILBOX_DSP2MPU1_FLAG_REG             *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x1c)
#define  MAILBOX_DSP2MPU2_FLAG_REG             *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x20)
#define  MAILBOX_MPU2DSP2A_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x24)
#define  MAILBOX_MPU2DSP2B_REG                 *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x28)
#define  MAILBOX_MPU2DSP2_FLAG_REG             *(volatile unsigned short *)(MAILBOX_Base_Addr + 0x2c)

static unsigned int TIPBPRIVATE_Base_Addr = 0xfffeca00;
#define  TIPBPRIVATE_RHEA_CNTL_REG             *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x00)
#define  TIPBPRIVATE_RHEA_BUS_ALLOC_REG        *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x04)
#define  TIPBPRIVATE_ARM_RHEA_CNTL_REG         *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x08)
#define  TIPBPRIVATE_ENHANCED_RHEA_CNTL_REG    *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x0c)
#define  TIPBPRIVATE_ADDRESS_DBG_REG           *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x10)
#define  TIPBPRIVATE_DATA_DEBUG_LOW_REG        *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x14)
#define  TIPBPRIVATE_DATA_DEBUG_HIGH_REG       *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x18)
#define  TIPBPRIVATE_DEBUG_CNTR_SIG_REG        *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x1c)
#define  TIPBPRIVATE_ACCESS_CNTL_REG           *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x20)
#define  TIPBPRIVATE_CHANNEL_INFO_REG_LSB_REG  *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x24)
#define  TIPBPRIVATE_CHANNEL_INFO_REG_MSB_REG  *(volatile unsigned short *)(TIPBPRIVATE_Base_Addr + 0x28)

static unsigned int TIPBPUBLIC_Base_Addr = 0xfffed300;
#define  TIPBPUBLIC_RHEA_CNTL_REG              *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x00)
#define  TIPBPUBLIC_RHEA_BUS_ALLOC_REG         *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x04)
#define  TIPBPUBLIC_ARM_RHEA_CNTL_REG          *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x08)
#define  TIPBPUBLIC_ENHANCED_RHEA_CNTL_REG     *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x0c)
#define  TIPBPUBLIC_ADDRESS_DBG_REG            *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x10)
#define  TIPBPUBLIC_DATA_DEBUG_LOW_REG         *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x14)
#define  TIPBPUBLIC_DATA_DEBUG_HIGH_REG        *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x18)
#define  TIPBPUBLIC_DEBUG_CNTR_SIG_REG         *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x1c)
#define  TIPBPUBLIC_ACCESS_CNTL_REG            *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x20)
#define  TIPBPUBLIC_CHANNEL_INFO_REG_LSB_REG   *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x24)
#define  TIPBPUBLIC_CHANNEL_INFO_REG_MSB_REG   *(volatile unsigned short *)(TIPBPUBLIC_Base_Addr + 0x28)

//parameter define
#define  MAILBOX_MPU2DSP1         1
#define  MAILBOX_MPU2DSP2         2
#define  MAILBOX_DSP2MPU1         3
#define  MAILBOX_DSP2MPU2         4

#define  MAILBOX_MPU2DSP1A        11
#define  MAILBOX_MPU2DSP1B        12
#define  MAILBOX_MPU2DSP2A        13
#define  MAILBOX_MPU2DSP2B        14
#define  MAILBOX_DSP2MPU1A        15
#define  MAILBOX_DSP2MPU1B        16
#define  MAILBOX_DSP2MPU2A        17
#define  MAILBOX_DSP2MPU2B        18

#define  MAILBOX_MPU2DSP1_FLAG    1
#define  MAILBOX_MPU2DSP2_FLAG    2
#define  MAILBOX_DSP2MPU1_FLAG    3
#define  MAILBOX_DSP2MPU2_FLAG    4

//functions define
void MAILBOX_IntCfg();
short MAILBOX_Read(int);
void MAILBOX_Write(int, short, short);
short MAILBOX_GetFlag(int);
void MAILBOX_InthProcess();
void WaitDSPRun();

⌨️ 快捷键说明

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