|
/*------------------------------------------------------- 文 件 名 : C5402DEF.H 创 建 人 : DSP菜鸟 HotPower@126.com 创 建 日 期 : 2006.6.09 11:19 最近修改日期 : 2006.6.13 10:56 创 建 地 点 : 西安大雁塔村队部 版 本 号 : V2.18 (菜鸟完善版) 备 注 : 由此文件出现的问题,DSP菜鸟不负任何责任 将不断完善本头文件。 -------------------------------------------------------*/ #ifndef __C5402DEF_H #define __C5402DEF_H typedef volatile unsigned int TI_REG; #define Disable() asm(" ssbx intm"); #define Enable() asm(" rsbx intm"); #define idle(x) asm(" IDLE " :x:); #define idle1() asm(" IDLE 1"); #define idle2() asm(" IDLE 2"); #define idle3() asm(" IDLE 3"); /*--------------------------------------- TCR位定义 ----------------------------------------*/ #define TDDR 0//0~3 #define TSS 4 #define PSC 6//6~9 #define FREE 10 #define SOFT 11 /*--------------------------------------- IMR位定义 ----------------------------------------*/ #define INT0 0 #define INT1 1 #define INT2 2 #define TINT0 3 #define BRINT0 4 #define BXINT0 5 #define TINT1 7 #define INT3 8 #define HPINT 9 #define BRINT1 10 #define BXINT1 11 #define DMAC0 6 #define DMAC1 7 #define DMAC2 10 #define DMAC3 11 #define DMAC4 12 #define DMAC5 13 /*--------------------------------------- ST0位定义 ----------------------------------------*/ #define OVB 9 #define OVA 10 #define C 11 #define TC 12 /*--------------------------------------- ST1位定义 ----------------------------------------*/ #define SXM 8 #define OVM 9 #define INTM 11 #define HM 12 #define XF 13 #define CPL 14 #define BRAF 15 typedef volatile union _TI_UMcBSP{//McBSP地址冲突处理 TI_REG SPCR1;//串行接口控制寄存器1 TI_REG SPCR2;//串行接口控制寄存器2 TI_REG RCR1;//接收控制寄存器1 TI_REG RCR2;//接收控制寄存器2 TI_REG XCR1;//发送控制寄存器1 TI_REG XCR2;//发送控制寄存器2 TI_REG SRGR1;//采样率发生器寄存器1 TI_REG SRGR2;//采样率发生器寄存器2 TI_REG MCR1;//多通道寄存器1 TI_REG MCR2;//多通道寄存器2 TI_REG RCERA;//接收通道使能寄存器段A TI_REG RCERB;//接收通道使能寄存器段B TI_REG XCERA;//发送通道使能寄存器段A TI_REG XCERB;//发送通道使能寄存器段B TI_REG PCR;//引脚控制寄存器 }TI_UMcBSP; typedef union _TI_UDMA {//DMA地址冲突处理 TI_REG DMSRC0;//DMA通道源地址寄存器0 TI_REG DMDST0;//DMA通道目的地址寄存器0 TI_REG DMCTR0;//DMA通道单元计数寄存器0 TI_REG DMSFC0;//DMA通道同步事件和帧寄存器0 TI_REG DMMCR0;//DMA通道传输模式控制寄存器0 TI_REG DMSRC1;//DMA通道源地址寄存器1 TI_REG DMDST1;//DMA通道目的地址寄存器1 TI_REG DMCTR1;//DMA通道单元计数寄存器1 TI_REG DMSFC1;//DMA通道同步事件和帧寄存器1 TI_REG DMMCR1;//DMA通道传输模式控制寄存器1 TI_REG DMSRC2;//DMA通道源地址寄存器2 TI_REG DMDST2;//DMA通道目的地址寄存器2 TI_REG DMCTR2;//DMA通道单元计数寄存器2 TI_REG DMSFC2;//DMA通道同步事件和帧寄存器2 TI_REG DMMCR2;//DMA通道传输模式控制寄存器2 TI_REG DMSRC3;//DMA通道源地址寄存器3 TI_REG DMDST3;//DMA通道目的地址寄存器3 TI_REG DMCTR3;//DMA通道单元计数寄存器3 TI_REG DMSFC3;//DMA通道同步事件和帧寄存器3 TI_REG DMMCR3;//DMA通道传输模式控制寄存器3 TI_REG DMSRC4;//DMA通道源地址寄存器4 TI_REG DMDST4;//DMA通道目的地址寄存器4 TI_REG DMCTR4;//DMA通道单元计数寄存器4 TI_REG DMSFC4;//DMA通道同步事件和帧寄存器4 TI_REG DMMCR4;//DMA通道传输模式控制寄存器4 TI_REG DMSRC5;//DMA通道源地址寄存器5 TI_REG DMDST5;//DMA通道目的地址寄存器5 TI_REG DMCTR5;//DMA通道单元计数寄存器5 TI_REG DMSFC5;//DMA通道同步事件和帧寄存器5 TI_REG DMMCR5;//DMA通道传输模式控制寄存器5 TI_REG DMSRCP;//DMA源程序页地址(公用的通道) TI_REG DMDSTP;//DMA目的程序页地址(公用的通道) TI_REG DMIDX0;//DMA单元变址寄存器0 TI_REG DMIDX1;//DMA单元变址寄存器1 TI_REG DMFRI0;//DMA帧变址寄存器0 TI_REG DMFRI1;//DMA帧变址寄存器1 TI_REG DMGSA;//DMA全局源地址重载寄存器 TI_REG DMGDA;//DMA全局目的地址重载寄存器 TI_REG DMGCR;//DMA全局计数重载寄存器 TI_REG DMGFR;//DMA全局帧计数重载寄存器 }TI_UDMA; typedef volatile struct _TI_SREG { //0x0000 TI_REG IMR;//中断屏蔽寄存器 TI_REG IFR;//中断标志寄存器 TI_REG Reserved0[4]; //保留4个空位 TI_REG ST0;//状态寄存器0 TI_REG ST1;//状态寄存器1 TI_REG AL;//累加器A低16位 TI_REG AH;//累加器A高16位 TI_REG AG;//累加器A保护位 TI_REG BL;//累加器B低16位 TI_REG BH;//累加器B高16位 TI_REG BG;//累加器B保护位 TI_REG TREG;//临时寄存器 TI_REG TRN; //0x0010 TI_REG AR0;//辅助寄存器0 TI_REG AR1;//辅助寄存器1 TI_REG AR2;//辅助寄存器2 TI_REG AR3;//辅助寄存器3 TI_REG AR4;//辅助寄存器4 TI_REG AR5;//辅助寄存器5 TI_REG AR6;//辅助寄存器6 TI_REG AR7;//辅助寄存器7 TI_REG SP;//堆栈指针 TI_REG BK;//缓冲大小寄存器 TI_REG BRC;//块重复计数器 TI_REG RSA;//块重复起始地址寄存器 TI_REG REA;//块重复结束地址寄存器 TI_REG PMST;//处理器工作模式状态寄存器 TI_REG XPC;//程序计数器扩展寄存器 TI_REG Reserved1[1]; //保留1个空位 //0x0020 TI_REG DRR20;//数据接收寄存器2 TI_REG DRR10;//数据接收寄存器1 TI_REG DXR20;//数据发送寄存器2 TI_REG DXR10;//数据发送寄存器1 TI_REG TIM;//定时器寄存器 TI_REG PRD;//定时器周期寄存器 TI_REG TCR;//定时器控制寄存器 TI_REG Reserved2[1]; //保留1个空位 TI_REG SWWSR;//软件等待状态寄存器 TI_REG BSCR;//分区状态寄存器 TI_REG Reserved3[1]; //保留1个空位 TI_REG SWCR;//软件等待状态控制寄存器 TI_REG HPIC;//HPI控制寄存器 TI_REG Reserved4[3]; //保留3个空位 //0x0030 TI_REG TIM1;//定时器寄存器1 TI_REG PRD1;//定时器周期寄存器1 TI_REG TCR1;//定时器控制寄存器1 TI_REG Reserved5[5]; //保留5个空位 TI_REG SPSA0;//子区寻址寄存器0 TI_UMcBSP SPSD0;//子区数据寄存器0 TI_REG Reserved6[2]; //保留2个空位 TI_REG GPIOCR;//GPIO控制寄存器 TI_REG GPIOSR;//GPIO状态寄存器 TI_REG Reserved7[2]; //保留2个空位 //0x0040 TI_REG DRR21;//数据接收寄存器2 TI_REG DRR11;//数据接收寄存器1 TI_REG DXR21;//数据发送寄存器2 TI_REG DXR11;//数据发送寄存器1 TI_REG Reserved8[4]; //保留4个空位 TI_REG SPSA1;//子区寻址寄存器1 TI_UMcBSP SPSD1;//子区数据寄存器1 TI_REG Reserved9[10]; //保留10个空位 TI_REG DMPREC;//DMA通道优先级和使能控制寄存器 TI_REG DMSA;//DMA子区寻址寄存器 TI_UDMA DMSDI;//带子区寻址自动增加的DMA子区数据寄存器 TI_UDMA DMSDN;//子区数据寄存器 TI_REG CLKMD;//时钟模式寄存器 TI_REG Reserved10[7]; //保留7个空位 }TI_SREG, *TI_PSREG; #define TI_BASE_SREG ((TI_SREG *) 0x0000)//定义硬件结构指针(硬件地址) const TI_PSREG SREG = TI_BASE_SREG;//定义全局结构指针变量REGS typedef volatile struct _TI_McBSP { TI_REG DRR2;//数据接收寄存器2 TI_REG DRR1;//数据接收寄存器1 TI_REG DXR2;//数据发送寄存器2 TI_REG DXR1;//数据发送寄存器1 TI_REG Reserved[20]; //保留20个空位 TI_REG SPSA;//子区寻址寄存器 TI_UMcBSP SPSD;//子区数据寄存器 }TI_McBSP, *TI_PMcBSP; #define TI_BASE_McBSP0 ((TI_McBSP *) 0x0020)//定义硬件结构指针(硬件地址) #define TI_BASE_McBSP1 ((TI_McBSP *) 0x0040)//定义硬件结构指针(硬件地址) const TI_PMcBSP McBSP0 = TI_BASE_McBSP0;//定义全局结构指针变量McBSP0 const TI_PMcBSP McBSP1 = TI_BASE_McBSP1;//定义全局结构指针变量McBSP1 typedef volatile struct _TI_DMA { TI_REG DMPREC;//DMA通道优先级和使能控制寄存器 TI_REG DMSA;//DMA子区寻址寄存器 TI_UDMA DMSDI;//带子区寻址自动增加的DMA子区数据寄存器 TI_UDMA DMSDN;//子区数据寄存器 }TI_DMA, *TI_PDMA; #define TI_BASE_DMA ((TI_DMA *) 0x0054)//定义硬件结构指针(硬件地址) const TI_PDMA DMA = TI_BASE_DMA;//定义全局结构指针变量DMA typedef volatile struct _TI_TIMER { TI_REG TIM;//定时器寄存器 TI_REG PRD;//定时器周期寄存器 TI_REG TCR;//定时器控制寄存器 }TI_TIMER, *TI_PTIMER; #define TI_BASE_TIMER0 ((TI_TIMER *) 0x0024)//定义硬件结构指针(硬件地址) #define TI_BASE_TIMER1 ((TI_TIMER *) 0x0030)//定义硬件结构指针(硬件地址) const TI_PTIMER TIMER0 = TI_BASE_TIMER0;//定义全局结构指针变量TIMER0 const TI_PTIMER TIMER1 = TI_BASE_TIMER1;//定义全局结构指针变量TIMER1 #endif // __C5402DEF_H
|