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

📄 config.h

📁 VxWorkS下 MV2604的BSP源代码
💻 H
📖 第 1 页 / 共 2 页
字号:
#define SM_ANCHOR_ADRS  ((sysProcNumGet() == 0) ? \        ((char*) (LOCAL_MEM_LOCAL_ADRS + SM_ANCHOR_OFFSET)) : \        ((char*) (VME_A32_MSTR_LOCAL + SM_ANCHOR_OFFSET)))#define SM_INT_TYPE		SM_INT_MAILBOX_1	 /* or SM_INT_NONE *//* * The following defines are only used by the master. * If SM_OFF_BOARD == FALSE, these values are used * by the master's UNIVERSE_II window definitions, so * they need to be on a 64K byte boundary. * The slave only uses the "Anchor" address. */#define SM_MEM_ADRS		0x00010000	/* Start of actual SM region */#define SM_MEM_SIZE		0x00020000#define SM_OBJ_MEM_ADRS		(SM_MEM_ADRS+SM_MEM_SIZE) /* SM Objects pool */#define SM_OBJ_MEM_SIZE		0x00010000#define	INCLUDE_VME		/* undef to exclude VME support *//* * Local Memory definitions * * By default, the available DRAM memory is sized at bootup (LOCAL_MEM_AUTOSIZE * is defined).  If auto-sizing is not selected, make certain that * LOCAL_MEM_SIZE is set to the actual amount of memory on the board. * By default, it is set to the minimum memory configuration: 16 MB. * Failure to do so can cause unpredictable system behavior! */#define	LOCAL_MEM_AUTOSIZE			/* undef for fixed size */#define LOCAL_MEM_LOCAL_ADRS	0x00000000	/* fixed at zero */#define LOCAL_MEM_SIZE		0x01000000	/* Default: Min memory: 16MB */#define RAM_HIGH_ADRS		0x00300000  	/* RAM address for ROM boot */#define RAM_LOW_ADRS		0x00100000	/* RAM address for kernel *//* user reserved memory, see sysMemTop() */#define USER_RESERVED_MEM	(0)	/* number of reserved bytes *//* * The constants ROM_TEXT_ADRS, ROM_SIZE, RAM_LOW_ADRS and RAM_HIGH_ADRS  * are defined in config.h, Makefile. * All definitions for these constants must be identical. */#undef INCLUDE_MOT_BUG_ROM			/* define this to use */#ifdef INCLUDE_MOT_BUG_ROM#   define	ROM_BASE_ADRS	(LOCAL_MEM_SIZE)#   define	ROM_TEXT_ADRS	ROM_BASE_ADRS#else#   define	ROM_BASE_ADRS	0xfff00000	/* base address of ROM */#   define	ROM_TEXT_ADRS	(ROM_BASE_ADRS + 0x100)#endif /* INCLUDE_MOT_BUG_ROM */#define	ROM_SIZE		0x00100000	/* 1 Meg ROM space *//* Extended VME A32 space;  enabled by default, #undef disables it */#define	EXTENDED_VME/* * VME A32 master window, * * The standard window size (as shipped) is 128 MB.  This is the largest * size recommended for use with TLBs and is the largest size allowed with * extended VME addressing disabled.  Use of only BAT registers can increase * the size to 1 GB.  For larger sizes, TLBs and BATs must be used together. * * Memory address granularity is 64 KB for TLBs while BATs are restricted to * the following fixed sizes: 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4 MB, 8 MB, * 16 MB, 32 MB, 64 MB, 128 MB or 256 MB each.  Because there are only 4 BATs * for data address translation, a maximum of 4 x 256 MB = 1 GB can be * mapped this way. * * Memory usage by TLBs is costly.  For each 128 MB of memory to be mapped, * 1 MB of memory is used by TLBs.  A TLB array for 1 GB would require 8 MB! *//*  * VME A32 start address.  This value must be larger than the amount of local * DRAM when using the Extended VME address map. */#ifdef EXTENDED_VME#    define VME_A32_MSTR_LOCAL	0x10000000	/* 256MB default */#else#    define VME_A32_MSTR_LOCAL	0xd8000000	/* After PCI I/O */#endif/* VME Master access windows, set size to 0 to disable a window */#define	VME_A32_MSTR_BUS	0x08000000	/* Base VME address */#define VME_A32_MSTR_SIZE	0x08000000 /* VME A24 master window, (16MB) */#define	VME_A24_MSTR_BUS	0x00000000	/* Base VME address */#define VME_A24_MSTR_SIZE	0x01000000	/* 0 to 16MB, mult of 64K *//* VME A16 Master window (64KB) */#define VME_A16_MSTR_SIZE	0x00010000	/* either 0 or 64KB, only *//* Setup VME slave windows, set size to 0 to disable a window *//* * VME A32 slave window, default is to map all local memory to VMEbus. * The window size is set to LOCAL_MEM_SIZE.  This will reduce the window * size if LOCAL_MEM_SIZE does not reflect the actual amount of memory. * Hence, if all of physical memory is to be addressed in the A32 window, * the actual board memory size should be set in LOCAL_MEM_SIZE. */#define VME_A32_SLV_LOCAL    LOCAL_MEM_LOCAL_ADRS#define VME_A32_SLV_BUS	     VME_A32_MSTR_BUS#define VME_A32_SLV_SIZE     (((ULONG)sysPhysMemTop()) - (LOCAL_MEM_LOCAL_ADRS))/* VME A24 slave window, no default support *//* VME A16 slave window, no default support */#ifdef	INCLUDE_VME_DMA/* Default DMA operating parameters used by sysVmeDmaInit() *//* * VMEbus data transfer type * - a combination of VMEbus Max. Datawidth (VDM) and *   VMEbus Cycle Type (VCT). * *	choices: *		(DCTL_VDW_8  | DCTL_VCT_SINGLE) *		(DCTL_VDW_16 | DCTL_VCT_SINGLE) *		(DCTL_VDW_32 | DCTL_VCT_SINGLE) *		(DCTL_VDW_64 | DCTL_VCT_SINGLE) *		(DCTL_VDW_32 | DCTL_VCT_BLK)	** BLT  ** *		(DCTL_VDW_64 | DCTL_VCT_BLK)	** MBLT ** */#define	VME_DMA_XFER_TYPE	(DCTL_VDW_32 | DCTL_VCT_SINGLE)/* * VMEbus Address Space type *	choices: *		DCTL_VAS_A16 *		DCTL_VAS_A24 *		DCTL_VAS_A32 */#define	VME_DMA_ADDR_SPACE	DCTL_VAS_A32/* * Program/Data Address Modifier (AM) Code *	choices: *		DCTL_PGM_DATA *		DCTL_PGM_PRGM */#define	VME_DMA_DATA_TYPE	DCTL_PGM_DATA/* * Supervisor/User Address Modifier (AM) Code *	choices: *		DCTL_SUPER_USER *		DCTL_SUPER_SUP */#define	VME_DMA_USER_TYPE	DCTL_SUPER_SUP/* * VMEbus Aligned DMA Transfer Count (in bytes) * - Max. data transferred before giving up the VMEbus *	choices: *		DGCS_VON_DONE *		DGCS_VON_256 *		DGCS_VON_512 *		DGCS_VON_1024 *		DGCS_VON_2048 *		DGCS_VON_4096 *		DGCS_VON_8192 *		DGCS_VON_16384 */#define	VME_DMA_MAX_BURST		DGCS_VON_DONE/* * Minimum period the DMA is off the VMEbus between tenures (in microseconds) *	choices: *		DGCS_VOFF_0 *		DGCS_VOFF_16 *		DGCS_VOFF_32 *		DGCS_VOFF_64 *		DGCS_VOFF_128 *		DGCS_VOFF_256 *		DGCS_VOFF_512 *		DGCS_VOFF_1024 */#define	VME_DMA_MIN_TIME_OFF_BUS	DGCS_VOFF_0#endif	/* INCLUDE_VME_DMA *//* Include MPIC support by default */#define	INCLUDE_MPIC/* * These defines are used to initialize the External Source * Vector/Priority registers in the MPIC.  The following can * be defined: interrupt sensitivity, polarity and interrupt priority. * * Note: by default a 1 into the sense bit(22) will setup for level * sensitive, and a 0 into the polarity bit(23) will setup for low * polarity. * * At initialization all external interrupt sources are disabled * except for the 8259 input, which is enabled in the MPIC driver. * * All currently unused interrupt sources are set to a priority of * 0, which will not allow them to be enabled.  If any one of these * levels is to be used, the priority value must be changed here. */ #define INIT_EXT_SRC0           ( INT_MASK_BIT | HIGH_POLARITY | LEVEL_SENSE |\                                  PRIORITY_LVL8 )   /* PIB (8259) */ #define INIT_EXT_SRC1           ( INT_MASK_BIT | PRIORITY_LVL0 ) /* Falcon ECC*/ #define INIT_EXT_SRC2           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL14 )  /* primary ethernet */ #define INIT_EXT_SRC3           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL3 )   /* primary SCSI */ #define INIT_EXT_SRC4           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL0 )   /* graphics */#define INIT_EXT_SRC5           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL10 )  /* Universe LINT0 */ #define INIT_EXT_SRC6           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL0 )   /* Universe LINT1 */ #define INIT_EXT_SRC7           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL0 )   /* Universe LINT2 */ #define INIT_EXT_SRC8           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL0 )   /* Universe LINT3 */ #define INIT_EXT_SRC9           ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL7 )   /* PCI PMC1/PMC2 INTA */#ifdef INCLUDE_SECONDARY_ENET# define INIT_EXT_SRC10         ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL13 )  /* PCI INTB/sec ethernet */#else# define INIT_EXT_SRC10         ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL6 )  /* PCI INTB */#endif /* INCLUDE_SECONDARY_ENET */#ifdef INCLUDE_SECONDARY_SCSI# define INIT_EXT_SRC11         ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL2 )   /* PCI INTC/sec SCSI */#else# define INIT_EXT_SRC11         ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL5 )   /* PCI INTC */#endif /* INCLUDE_SECONDARY_SCSI */#define INIT_EXT_SRC12          ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL4 )   /* PCI PMC1/PMC2 INTD */ #define INIT_EXT_SRC13          ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL0 )   /* LM/SIG int 0 */ #define INIT_EXT_SRC14          ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL15 )  /* LM/SIG int 0/mailbox */ #define INIT_EXT_SRC15          ( INT_MASK_BIT | LEVEL_SENSE |\                                  PRIORITY_LVL0 )   /* NOT USED */  /* BSP-specific includes */#include "mv2600.h"#ifdef __cplusplus}#endif#endif	/* INCconfigh */#if defined(PRJ_BUILD)#include "prjParams.h"#endif

⌨️ 快捷键说明

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