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

📄 mcf5307.h

📁 mcf5307开发板diab4.2开发环境下led的测试程序
💻 H
📖 第 1 页 / 共 4 页
字号:
#define MCF5307_PPORT_PADDR_11	(0x0800)	/* Bit 11 General I/O Output	*/#define MCF5307_PPORT_PADDR_10	(0x0400)	/* Bit 10 General I/O Output	*/#define MCF5307_PPORT_PADDR_9	(0x0200)	/* Bit  9 General I/O Output	*/#define MCF5307_PPORT_PADDR_8	(0x0100)	/* Bit  8 General I/O Output	*/#define MCF5307_PPORT_PADDR_7	(0x0080)	/* Bit  7 General I/O Output	*/#define MCF5307_PPORT_PADDR_6	(0x0040)	/* Bit  6 General I/O Output	*/#define MCF5307_PPORT_PADDR_5	(0x0020)	/* Bit  5 General I/O Output	*/#define MCF5307_PPORT_PADDR_4	(0x0010)	/* Bit  4 General I/O Output	*/#define MCF5307_PPORT_PADDR_3	(0x0008)	/* Bit  3 General I/O Output	*/#define MCF5307_PPORT_PADDR_2	(0x0004)	/* Bit  2 General I/O Output	*/#define MCF5307_PPORT_PADDR_1	(0x0002)	/* Bit  1 General I/O Output	*/#define MCF5307_PPORT_PADDR_0	(0x0001)	/* Bit  0 General I/O Output	*/#define MCF5307_PPORT_PADAT_15	(0x8000)	/* Bit 15 Current Status	*/#define MCF5307_PPORT_PADAT_14	(0x4000)	/* Bit 14 Current Status	*/#define MCF5307_PPORT_PADAT_13	(0x2000)	/* Bit 13 Current Status	*/#define MCF5307_PPORT_PADAT_12	(0x1000)	/* Bit 12 Current Status	*/#define MCF5307_PPORT_PADAT_11	(0x0800)	/* Bit 11 Current Status	*/#define MCF5307_PPORT_PADAT_10	(0x0400)	/* Bit 10 Current Status	*/#define MCF5307_PPORT_PADAT_9	(0x0200)	/* Bit  9 Current Status	*/#define MCF5307_PPORT_PADAT_8	(0x0100)	/* Bit  8 Current Status	*/#define MCF5307_PPORT_PADAT_7	(0x0080)	/* Bit  7 Current Status	*/#define MCF5307_PPORT_PADAT_6	(0x0040)	/* Bit  6 Current Status	*/#define MCF5307_PPORT_PADAT_5	(0x0020)	/* Bit  5 Current Status	*/#define MCF5307_PPORT_PADAT_4	(0x0010)	/* Bit  4 Current Status	*/#define MCF5307_PPORT_PADAT_3	(0x0008)	/* Bit  3 Current Status	*/#define MCF5307_PPORT_PADAT_2	(0x0004)	/* Bit  2 Current Status	*/#define MCF5307_PPORT_PADAT_1	(0x0002)	/* Bit  1 Current Status	*/#define MCF5307_PPORT_PADAT_0	(0x0001)	/* Bit  0 Current Status	*//************************************************************************//*									*//*  M-BUS Registers							*//*									*//************************************************************************/typedef volatile struct{	NATURAL32	reserved0[0xa0];	NATURAL8	MADR;		/* M-Bus Address Register		*/	NATURAL8	reserved1;	NATURAL16	reserved2;	NATURAL8	MFDR;		/* M-Bus Frequency Divider Register	*/	NATURAL8	reserved3;	NATURAL16	reserved4;	NATURAL8	MBCR;		/* M-Bus Control Register		*/	NATURAL8	reserved5;	NATURAL16	reserved6;	NATURAL8	MBSR;		/* M-Bus Status Register		*/	NATURAL8	reserved7;	NATURAL16	reserved8;	NATURAL8	MBDR;		/* M-Bus Data I/O Register		*/} MCF5307_MBUS;#define MCF5307_MBUS_MADR_ADDR(a)	(((a)&0xFE)<<0x01) /* Slave Address	*/#define MCF5307_MBUS_MFDR_MBC(a)	((a)&0x3F)	/* M-Bus Clock Rate	*/#define MCF5307_MBUS_MBCR_MEN		(0x80)	/* M-Bus Enable			*/#define MCF5307_MBUS_MBCR_MIEN		(0x40)	/* M-Bus Interrupt Enable	*/#define MCF5307_MBUS_MBCR_MSTA		(0x20)	/* Master/Slave Mode Select Bit	*/#define MCF5307_MBUS_MBCR_MTX		(0x10)	/* Transmit/Rcv Mode Select Bit	*/#define MCF5307_MBUS_MBCR_TXAK		(0x08)	/* Transmit Acknowledge Enable	*/#define MCF5307_MBUS_MBCR_RSTA		(0x04)	/* Repeat Start			*/#define MCF5307_MBUS_MBSR_MCF		(0x80)	/* Data Transfer Complete	*/#define MCF5307_MBUS_MBSR_MAAS		(0x40)	/* Addressed as a Slave		*/#define MCF5307_MBUS_MBSR_MBB		(0x20)	/* Bus Busy			*/#define MCF5307_MBUS_MBSR_MAL		(0x10)	/* Arbitration Lost		*/#define MCF5307_MBUS_MBSR_SRW		(0x04)	/* Slave Transmit		*/#define MCF5307_MBUS_MBSR_MIF		(0x02)	/* M-Bus Interrupt		*/#define MCF5307_MBUS_MBSR_RXAK		(0x01)	/* No Acknowledge Received	*//************************************************************************//*									*//*  DMA Registers							*//*									*//************************************************************************/typedef volatile struct{	NATURAL32	reserved0[0xc0];	NATURAL32	SAR0;		/* DMA 0 Source Address Register	*/	NATURAL32	DAR0;		/* DMA 0 Destination Address Register	*/	NATURAL16	DCR0;		/* DMA 0 Control Register		*/	NATURAL16	reserved1;	NATURAL16	BCR0;		/* DMA 0 Byte Count Register		*/	NATURAL16	reserved2;	NATURAL8	DSR0;		/* DMA 0 Status Register		*/	NATURAL8	reserved3;	NATURAL16	reserved4;	NATURAL8	DIVR0;		/* DMA 0 Interrupt Vector Register	*/	NATURAL8	reserved5;	NATURAL16	reserved6;	NATURAL32	reserved7[0xa];	NATURAL32	SAR1;		/* DMA 1 Source Address Register	*/	NATURAL32	DAR1;		/* DMA 1 Destination Address Register	*/	NATURAL16	DCR1;		/* DMA 1 Control Register		*/	NATURAL16	reserved8;	NATURAL16	BCR1;		/* DMA 1 Byte Count Register		*/	NATURAL16	reserved9;	NATURAL8	DSR1;		/* DMA 1 Status Register		*/	NATURAL8	reserved10;	NATURAL16	reserved11;	NATURAL8	DIVR1;		/* DMA 1 Interrupt Vector Register	*/	NATURAL8	reserved12;	NATURAL16	reserved13;	NATURAL32	reserved14[0xa];	NATURAL32	SAR2;		/* DMA 2 Source Address Register	*/	NATURAL32	DAR2;		/* DMA 2 Destination Address Register	*/	NATURAL16	DCR2;		/* DMA 2 Control Register		*/	NATURAL16	reserved15;	NATURAL16	BCR2;		/* DMA 2 Byte Count Register		*/	NATURAL16	reserved16;	NATURAL8	DSR2;		/* DMA 2 Status Register		*/	NATURAL8	reserved17;	NATURAL16	reserved18;	NATURAL8	DIVR2;		/* DMA 2 Interrupt Vector Register	*/	NATURAL8	reserved19;	NATURAL16	reserved20;	NATURAL32	reserved21[0xa];	NATURAL32	SAR3;		/* DMA 3 Source Address Register	*/	NATURAL32	DAR3;		/* DMA 3 Destination Address Register	*/	NATURAL16	DCR3;		/* DMA 3 Control Register		*/	NATURAL16	reserved22;	NATURAL16	BCR3;		/* DMA 3 Byte Count Register		*/	NATURAL16	reserved23;	NATURAL8	DSR3;		/* DMA 3 Status Register		*/	NATURAL8	reserved24;	NATURAL16	reserved25;	NATURAL8	DIVR3;		/* DMA 3 Interrupt Vector Register	*/} MCF5307_DMA;#define MCF5307_DMA_DCR_INT		(0x8000) /* Interrupt on Completion	*/#define MCF5307_DMA_DCR_EEXT		(0x4000) /* Enable External Request	*/#define MCF5307_DMA_DCR_CS		(0x2000) /* Cycle Steal			*/#define MCF5307_DMA_DCR_AA		(0x1000) /* Auto Align			*/#define MCF5307_DMA_DCR_BWC_DMA		(0x0000) /* Bandwidth: DMA Priority	*/#define MCF5307_DMA_DCR_BWC_512		(0x0200) /* Bandwidth:   512 Bytes	*/#define MCF5307_DMA_DCR_BWC_1024	(0x0400) /* Bandwidth:  1024 Bytes	*/#define MCF5307_DMA_DCR_BWC_2048	(0x0600) /* Bandwidth:  2048 Bytes	*/#define MCF5307_DMA_DCR_BWC_4096	(0x0800) /* Bandwidth:  4096 Bytes	*/#define MCF5307_DMA_DCR_BWC_8192	(0x0a00) /* Bandwidth:  8192 Bytes	*/#define MCF5307_DMA_DCR_BWC_16384	(0x0c00) /* Bandwidth: 16384 Bytes	*/#define MCF5307_DMA_DCR_BWC_32768	(0x0e00) /* Bandwidth: 32768 Bytes	*/#define MCF5307_DMA_DCR_SAA		(0x0100) /* Single Address Access	*/#define MCF5307_DMA_DCR_SRW		(0x0080) /* Forces MRW Signal High	*/#define	MCF5307_DMA_DCR_SINC		(0x0040) /* Source Increment		*/#define MCF5307_DMA_DCR_SSIZE_LONG	(0x0000) /* Source Size:  Longword	*/#define MCF5307_DMA_DCR_SSIZE_BYTE	(0x0010) /* Source Size:  Byte		*/#define MCF5307_DMA_DCR_SSIZE_WORD	(0x0020) /* Source Size:  Word		*/#define MCF5307_DMA_DCR_SSIZE_LINE	(0x0030) /* Source Size:  Line		*/#define MCF5307_DMA_DCR_DINC		(0x0008) /* Destination Increment	*/#define MCF5307_DMA_DCR_DSIZE_LONG	(0x0000) /* Destination Size:  Longword	*/#define MCF5307_DMA_DCR_DSIZE_BYTE	(0x0002) /* Destination Size:  Byte	*/#define MCF5307_DMA_DCR_DSIZE_WORD	(0x0004) /* Destination Size:  Word	*/#define MCF5307_DMA_DCR_START		(0x0001) /* Start Transfer		*/#define MCF5307_DMA_DSR_CE		(0x40)	/* Configuration Error		*/#define MCF5307_DMA_DSR_BES		(0x20)	/* Bus Error on Source		*/#define MCF5307_DMA_DSR_BED		(0x10)	/* Bus Error on Destination	*/#define MCF5307_DMA_DSR_REQ		(0x04)	/* Request			*/#define MCF5307_DMA_DSR_BSY		(0x02)	/* Busy				*/#define MCF5307_DMA_DSR_DONE		(0x01)	/* Transaction Done		*//****************************************************************************************//*											*//*  Here we put the modules together.  An example access for the UART mode		*//*  register would be: (assuming we have a pointer to the IMM):				*//*											*//*   imm->uart1.UMR									*//*											*//****************************************************************************************/typedef volatile union{	MCF5307_SIM	sim;	MCF5307_CS	cs;	MCF5307_DRAMC	dramc;	MCF5307_TIMER	timer;	MCF5307_UART1	uart1;	MCF5307_UART2	uart2;	MCF5307_PPORT	parallel_port;	MCF5307_MBUS	mbus;	MCF5307_DMA	dma;} MCF5307_IMM;/************************************************************************//*									*//*  Function prototypes							*//*									*//************************************************************************/voidird (int, char **);voidirm (int, char **);voidmcf5307_write_cacr (NATURAL32);voidmcf5307_write_acr0 (NATURAL32);voidmcf5307_write_acr1 (NATURAL32);voidmcf5307_write_vbr (NATURAL32);voidmcf5307_write_srambar (NATURAL32);voidmcf5307_write_mbar (NATURAL32);voidmcf5307_init (MCF5307_IMM *imm);voidmcf5307_sim_init(MCF5307_IMM *imm);voidmcf5307_timer_init(MCF5307_IMM *imm);void	mcf5307_pport_init(MCF5307_IMM *imm);voidmcf5307_uart_init(MCF5307_IMM *imm);voidmcf5307_mbus_init(MCF5307_IMM *imm);voidmcf5307_dma_init(MCF5307_IMM *imm);voidmcf5307_cs_init(MCF5307_IMM *imm);voidmcf5307_sdramc_init1 (MCF5307_IMM *imm);voidmcf5307_sdramc_init2 (MCF5307_IMM *imm);NATURAL32memTestDataBus1(NATURAL32 * address);NATURAL32memTestDataBus(volatile NATURAL32 * address);NATURAL8memory_test(void);NATURAL32 * memTestDevice(volatile NATURAL32 * baseAddress, NATURAL32 nBytes);NATURAL32 * memTestAddressBus(volatile NATURAL32 * baseAddress, NATURAL32 nBytes);#endif	/* MCF5307_H */

⌨️ 快捷键说明

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