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

📄 defbf561.h

📁 此代码实现blackfin系列DSP的上电监控代码
💻 H
📖 第 1 页 / 共 5 页
字号:
/************************************************************************ * * defBF561.h * * (c) Copyright 2001-2003 Analog Devices, Inc.  All rights reserved. * ************************************************************************//* SYSTEM MMR REGISTER AND MEMORY MAP FOR ADSP-BF561 */#ifndef _DEF_BF561_H#define _DEF_BF561_H/* * #if !defined(__ADSPBF561__) * #warning defBF561.h should only be included for BF561 chip. * #endif */// include all Core registers and bit definitions#include <asm/arch-common/def_LPBlackfin.h>/* Helper macros  * usage: *  P0.H = HI(UART_THR); *  P0.L = LO(UART_THR); */#define LO(con32) ((con32) & 0xFFFF)#define lo(con32) ((con32) & 0xFFFF)#define HI(con32) (((con32) >> 16) & 0xFFFF)#define hi(con32) (((con32) >> 16) & 0xFFFF)//*****************************************************************************// System MMR Register Map//*****************************************************************************//// Clock and System Control (0xFFC00000 - 0xFFC000FF)#define PLL_CTL			0xFFC00000	// PLL Control register (16-bit)#define PLL_DIV		        0xFFC00004	// PLL Divide Register (16-bit)#define VR_CTL		        0xFFC00008	// Voltage Regulator						// Control Register (16-bit)#define PLL_STAT		0xFFC0000C	// PLL Status register (16-bit)#define PLL_LOCKCNT		0xFFC00010	// PLL Lock Count register						// (16-bit)// System Reset and Interrupt Controller registers for// core A (0xFFC0 0100-0xFFC0 01FF)#define SICA_SWRST              0xFFC00100	// Software Reset register#define SICA_SYSCR              0xFFC00104	// System Reset Configuration 						// register#define SICA_RVECT              0xFFC00108	// SIC Reset Vector Address						// Register#define SICA_IMASK              0xFFC0010C	// SIC Interrupt Mask						// register 0 - hack to fix						// old tests#define SICA_IMASK0             0xFFC0010C	// SIC Interrupt Mask						// register 0#define SICA_IMASK1             0xFFC00110	// SIC Interrupt Mask						// register 1#define SICA_IAR0               0xFFC00124	// SIC Interrupt Assignment						// Register 0#define SICA_IAR1               0xFFC00128	// SIC Interrupt Assignment						// Register 1#define SICA_IAR2               0xFFC0012C	// SIC Interrupt Assignment						// Register 2#define SICA_IAR3               0xFFC00130	// SIC Interrupt Assignment						// Register 3#define SICA_IAR4               0xFFC00134	// SIC Interrupt Assignment						// Register 4#define SICA_IAR5               0xFFC00138	// SIC Interrupt Assignment						// Register 5#define SICA_IAR6               0xFFC0013C	// SIC Interrupt Assignment						// Register 6#define SICA_IAR7               0xFFC00140	// SIC Interrupt Assignment						// Register 7#define SICA_ISR0               0xFFC00114	// SIC Interrupt Status						// register 0#define SICA_ISR1               0xFFC00118	// SIC Interrupt Status						// register 1#define SICA_IWR0               0xFFC0011C	// SIC Interrupt						// Wakeup-Enable register 0#define SICA_IWR1               0xFFC00120	// SIC Interrupt						// Wakeup-Enable register 1// System Reset and Interrupt Controller registers for// Core B (0xFFC0 1100-0xFFC0 11FF)#define SICB_SWRST              0xFFC01100	// reserved#define SICB_SYSCR              0xFFC01104	// reserved#define SICB_RVECT              0xFFC01108	// SIC Reset Vector Address						// Register#define SICB_IMASK0             0xFFC0110C	// SIC Interrupt Mask						// register 0#define SICB_IMASK1             0xFFC01110	// SIC Interrupt Mask						// register 1#define SICB_IAR0               0xFFC01124	// SIC Interrupt Assignment						// Register 0#define SICB_IAR1               0xFFC01128	// SIC Interrupt Assignment						// Register 1#define SICB_IAR2               0xFFC0112C	// SIC Interrupt Assignment						// Register 2#define SICB_IAR3               0xFFC01130	// SIC Interrupt Assignment						// Register 3#define SICB_IAR4               0xFFC01134	// SIC Interrupt Assignment						// Register 4#define SICB_IAR5               0xFFC01138	// SIC Interrupt Assignment						// Register 5#define SICB_IAR6               0xFFC0113C	// SIC Interrupt Assignment						// Register 6#define SICB_IAR7               0xFFC01140	// SIC Interrupt Assignment						// Register 7#define SICB_ISR0               0xFFC01114	// SIC Interrupt Status						// register 0#define SICB_ISR1               0xFFC01118	// SIC Interrupt Status						// register 1#define SICB_IWR0               0xFFC0111C	// SIC Interrupt						// Wakeup-Enable register 0#define SICB_IWR1               0xFFC01120	// SIC Interrupt						// Wakeup-Enable register 1// Watchdog Timer registers for Core A (0xFFC0 0200-0xFFC0 02FF)#define WDOGA_CTL 		0xFFC00200	// Watchdog Control register#define WDOGA_CNT 		0xFFC00204	// Watchdog Count register#define WDOGA_STAT 		0xFFC00208	// Watchdog Status register// Watchdog Timer registers for Core B (0xFFC0 1200-0xFFC0 12FF)#define WDOGB_CTL		0xFFC01200	// Watchdog Control register#define WDOGB_CNT 		0xFFC01204	// Watchdog Count register#define WDOGB_STAT 		0xFFC01208	// Watchdog Status register// UART Controller (0xFFC00400 - 0xFFC004FF)#define UART_THR             	0xFFC00400	// Transmit Holding register#define UART_RBR             	0xFFC00400	// Receive Buffer register#define UART_DLL              	0xFFC00400	// Divisor Latch (Low-Byte)#define UART_IER              	0xFFC00404	// Interrupt Enable Register#define UART_DLH              	0xFFC00404	// Divisor Latch (High-Byte)#define UART_IIR              	0xFFC00408	// Interrupt Identification						// Register#define UART_LCR              	0xFFC0040C	// Line Control Register#define UART_MCR		0xFFC00410	// Modem Control Register#define UART_LSR              	0xFFC00414	// Line Status Register#define UART_MSR            	0xFFC00418	// Modem Status Register#define UART_SCR              	0xFFC0041C	// SCR Scratch Register#define UART_GCTL      	      	0xFFC00424	// Global Control Register// SPI Controller (0xFFC00500 - 0xFFC005FF)#define SPI_CTL          	0xFFC00500	// SPI Control Register#define SPI_FLG               	0xFFC00504	// SPI Flag register#define SPI_STAT              	0xFFC00508	// SPI Status register#define SPI_TDBR              	0xFFC0050C	// SPI Transmit Data						// Buffer Register#define SPI_RDBR              	0xFFC00510	// SPI Receive Data						// Buffer Register#define SPI_BAUD              	0xFFC00514	// SPI Baud rate						// Register#define SPI_SHADOW            	0xFFC00518	// SPI_RDBR Shadow						// Register// Timer 0-7 registers (0xFFC0 0600-0xFFC0 06FF)#define TIMER0_CONFIG 		0xFFC00600	// Timer0 Configuration 						// register#define TIMER0_COUNTER 		0xFFC00604	// Timer0 Counter register#define TIMER0_PERIOD 		0xFFC00608	// Timer0 Period register#define TIMER0_WIDTH 		0xFFC0060C	// Timer0 Width register#define TIMER1_CONFIG 		0xFFC00610	// Timer1 Configuration 						// register#define TIMER1_COUNTER 		0xFFC00614	// Timer1 Counter register#define TIMER1_PERIOD 		0xFFC00618	// Timer1 Period register#define TIMER1_WIDTH 		0xFFC0061C	// Timer1 Width register#define TIMER2_CONFIG 		0xFFC00620	// Timer2 Configuration 						// register#define TIMER2_COUNTER 		0xFFC00624	// Timer2 Counter register#define TIMER2_PERIOD 		0xFFC00628	// Timer2 Period register#define TIMER2_WIDTH 		0xFFC0062C	// Timer2 Width register#define TIMER3_CONFIG 		0xFFC00630	// Timer3 Configuration 						// register#define TIMER3_COUNTER 		0xFFC00634	// Timer3 Counter register#define TIMER3_PERIOD 		0xFFC00638	// Timer3 Period register#define TIMER3_WIDTH 		0xFFC0063C	// Timer3 Width register#define TIMER4_CONFIG 		0xFFC00640	// Timer4 Configuration						// register#define TIMER4_COUNTER 		0xFFC00644	// Timer4 Counter register#define TIMER4_PERIOD 		0xFFC00648	// Timer4 Period register#define TIMER4_WIDTH 		0xFFC0064C	// Timer4 Width register#define TIMER5_CONFIG 		0xFFC00650	// Timer5 Configuration 						// register#define TIMER5_COUNTER 		0xFFC00654	// Timer5 Counter register#define TIMER5_PERIOD 		0xFFC00658	// Timer5 Period register#define TIMER5_WIDTH 		0xFFC0065C	// Timer5 Width register#define TIMER6_CONFIG 		0xFFC00660	// Timer6 Configuration 						// register#define TIMER6_COUNTER 		0xFFC00664	// Timer6 Counter register#define TIMER6_PERIOD 		0xFFC00668	// Timer6 Period register#define TIMER6_WIDTH 		0xFFC0066C	// Timer6 Width register#define TIMER7_CONFIG 		0xFFC00670	// Timer7 Configuration 						// register#define TIMER7_COUNTER 		0xFFC00674	// Timer7 Counter register#define TIMER7_PERIOD 		0xFFC00678	// Timer7 Period register#define TIMER7_WIDTH 		0xFFC0067C	// Timer7 Width register#define TMRS8_ENABLE 		0xFFC00680	// Timer Enable Register#define TMRS8_DISABLE 		0xFFC00684	// Timer Disable register#define TMRS8_STATUS 		0xFFC00688	// Timer Status register// Timer registers 8-11 (0xFFC0 1600-0xFFC0 16FF)#define TIMER8_CONFIG 		0xFFC01600	// Timer8 Configuration 						// register#define TIMER8_COUNTER 		0xFFC01604	// Timer8 Counter register#define TIMER8_PERIOD 		0xFFC01608	// Timer8 Period register#define TIMER8_WIDTH 		0xFFC0160C	// Timer8 Width register#define TIMER9_CONFIG 		0xFFC01610	// Timer9 Configuration 						// register#define TIMER9_COUNTER 		0xFFC01614	// Timer9 Counter register#define TIMER9_PERIOD 		0xFFC01618	// Timer9 Period register#define TIMER9_WIDTH 		0xFFC0161C	// Timer9 Width register#define TIMER10_CONFIG 		0xFFC01620	// Timer10 Configuration 						// register#define TIMER10_COUNTER		0xFFC01624	// Timer10 Counter register#define TIMER10_PERIOD 		0xFFC01628	// Timer10 Period register#define TIMER10_WIDTH 		0xFFC0162C	// Timer10 Width register#define TIMER11_CONFIG 		0xFFC01630	// Timer11 Configuration 						// register#define TIMER11_COUNTER		0xFFC01634	// Timer11 Counter register#define TIMER11_PERIOD 		0xFFC01638	// Timer11 Period register#define TIMER11_WIDTH 		0xFFC0163C	// Timer11 Width register#define TMRS4_ENABLE 		0xFFC01640	// Timer Enable Register#define TMRS4_DISABLE 		0xFFC01644	// Timer Disable register#define TMRS4_STATUS 		0xFFC01648	// Timer Status register// Programmable Flag 0 registers (0xFFC0 0700-0xFFC0 07FF)#define FIO0_FLAG_D 		0xFFC00700	// Flag Data register#define FIO0_FLAG_C 	        0xFFC00704	// Flag Clear register#define FIO0_FLAG_S 	        0xFFC00708	// Flag Set register#define FIO0_FLAG_T 	        0xFFC0070C	// Flag Toggle register#define FIO0_MASKA_D 	        0xFFC00710	// Flag Mask Interrupt A Data			        		// register#define FIO0_MASKA_C 	        0xFFC00714	// Flag Mask Interrupt A Clear			        		// register#define FIO0_MASKA_S 	        0xFFC00718	// Flag Mask Interrupt A Set			        		// register#define FIO0_MASKA_T 	        0xFFC0071C	// Flag Mask Interrupt A Toggle			        		// register#define FIO0_MASKB_D 	        0xFFC00720	// Flag Mask Interrupt B Data			        		// register#define FIO0_MASKB_C 	        0xFFC00724	// Flag Mask Interrupt B Clear			        		// register#define FIO0_MASKB_S 	        0xFFC00728	// Flag Mask Interrupt B Set			        		// register#define FIO0_MASKB_T 	        0xFFC0072C	// Flag Mask Interrupt B Toggle						// register#define FIO0_DIR 		0xFFC00730	// Flag Direction  register#define FIO0_POLAR 	        0xFFC00734	// Flag Polarity register#define FIO0_EDGE 	        0xFFC00738	// Flag Interrupt Sensitivity 			        		// register#define FIO0_BOTH 	        0xFFC0073C	// Flag Set on Both Edges 			        		// register#define FIO0_INEN 	        0xFFC00740	// Flag Input Enable register// Programmable Flag 1 registers (0xFFC0 1500-0xFFC0 15FF)#define FIO1_FLAG_D 	        0xFFC01500	// Flag Data register#define FIO1_FLAG_C 	        0xFFC01504	// Flag Clear register#define FIO1_FLAG_S 	        0xFFC01508	// Flag Set register#define FIO1_FLAG_T 	        0xFFC0150C	// Flag Toggle register#define FIO1_MASKA_D 	        0xFFC01510	// Flag Mask Interrupt A Data			        		// register#define FIO1_MASKA_C 	        0xFFC01514	// Flag Mask Interrupt A Clear			        		// register#define FIO1_MASKA_S 	        0xFFC01518	// Flag Mask Interrupt A Set			        		// register#define FIO1_MASKA_T 	        0xFFC0151C	// Flag Mask Interrupt A Toggle			        		// register#define FIO1_MASKB_D 	        0xFFC01520	// Flag Mask Interrupt B Data			        		// register#define FIO1_MASKB_C 	        0xFFC01524	// Flag Mask Interrupt B Clear			        		// register#define FIO1_MASKB_S 	        0xFFC01528	// Flag Mask Interrupt B Set			        		// register#define FIO1_MASKB_T 	        0xFFC0152C	// Flag Mask Interrupt B Toggle			        		// register#define FIO1_DIR 	       	0xFFC01530	// Flag Direction register#define FIO1_POLAR 	       	0xFFC01534	// Flag Polarity register#define FIO1_EDGE 	       	0xFFC01538	// Flag  Interrupt Sensitivity 						// register#define FIO1_BOTH 	       	0xFFC0153C	// Flag Set on Both Edges 						// register#define FIO1_INEN 	       	0xFFC01540	// Flag Input Enable register// Programmable Flag registers (0xFFC0 1700-0xFFC0 17FF)#define FIO2_FLAG_D 	        0xFFC01700	// Flag Data register#define FIO2_FLAG_C 	        0xFFC01704	// Flag Clear register#define FIO2_FLAG_S 	        0xFFC01708	// Flag Set register

⌨️ 快捷键说明

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