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

📄 config.h

📁 ARM7开发板 AT91EB01 BSP源代码
💻 H
字号:
/* config.h - Atmel AT91M55800A */

/* Copyright 1999 ARM Limited */

/*
modification history
--------------------
12.24.2004  written.
*/

/*
This module contains the configuration parameters for the Atmel AT91M55800A BSP.
*/
#ifndef	INCconfigh
#define	INCconfigh


/* BSP version/revision identification, before configAll.h */

#define BSP_VER_1_1	1	    /* 1.2 is backward compatible with 1.1 */
#define BSP_VER_1_2	1
#define BSP_VERSION	"1.2"
#define BSP_REV		"/1"    /* 0 for first revision */

#include "configAll.h"

#define  DEFAULT_BOOT_LINE   "tsfs(0,0):vxWorks"


/* Memory configuration */
#undef	 LOCAL_MEM_AUTOSIZE	/* run-time memory sizing */



/*
 * The default configuration, and the only one tested thoroughly, is to
 * use the Expansion board SRAM.  If this is not used, the kernel will
 * need to be configured to be smaller in size than the default.
 *
 * If the symbol AT91EB01_USE_EXPANSION_RAM is not defined, the Makefile
 * will need changing appropriately as well.
 */
#define AT91EB01_USE_EXPANSION_RAM	/* use expansion board & on-board SRAM*/


/* Use the Expansion Flash as writable Flash rather than the onboard Flash. */
#define AT91EB01_USE_EXPANSION_FLASH


#define LOCAL_MEM_SIZE		0x00200000

#define USER_RESERVED_MEM	0		/* see sysMemTop() */

/*
 * Ensure that the standard BSP startup code does not clear memory from
 * 0 up to where the kernel loads - this address area includes areas
 * defined to be reserved within the AT91M40400, and we should not access
 * them.  To do this, define the symbol RESERVED to be the start of the
 * off-chip RAM.
 */

#undef  RESERVED
#define RESERVED        	0x02000000


/*
 * Boot ROM is an image written to Flash device on the expansion card, part
 * of which can be reserved for boot parameters etc. (see the Flash
 * section below).
 *
 * The following parameters are defined here and in the Makefile.
 * They must be kept synchronized; effectively config.h depends on Makefile.
 * Any changes made here must be made in the Makefile and vice versa.
 *
 * ROM_BASE_ADRS is the base of the main Flash ROM.
 * ROM_TEXT_ADRS is the entry point of the VxWorks image
 * ROM_SIZE is the size of the part of the Flash ROM allocated to
 *		the VxWorks image (Flash size - size used for NVRAM)
 *
 * Two other constants are used:
 * ROM_COPY_SIZE is the size of the part of the ROM to be copied into RAM
 * 		 (uncompressed boot ROM)
 * ROM_SIZE_TOTAL is the size of the entire Flash ROM (used in sysPhysMemDesc)
 *
 * The values are given as literals here to make it easier to ensure
 * that they are the same as those in the Makefile.
 */

#define ROM_BASE_ADRS		0x20000000	    /* base of Flash */
#define ROM_TEXT_ADRS		ROM_BASE_ADRS	/* code start adrs in Flash */
#define ROM_SIZE		    0x001FFF00	    /* size of ROM holding VxWorks*/

#define ROM_COPY_SIZE		ROM_SIZE
#define ROM_SIZE_TOTAL		0x00200000	    /* total size of ROM */


#define RAM_LOW_ADRS		0x02000000	    /* VxWorks image entry point */
#define RAM_HIGH_ADRS		0x02100000	    /* RAM address for ROM boot */


/*
 * Flash memory configuration
 *
 * Part of the main Flash memory part can be used as NVRAM storage, if
 * desired.  If this is wanted, define INCLUDE_FLASH and reduce ROM_SIZE
 * in this file and in Makefile by NV_RAM_SIZE.  The default is to
 * provide support for Flash.
 */

#define INCLUDE_FLASH

#define FLASH_SIZE		0x00200000
#define FLASH_ADRS		0x20000000

/* how much Flash we reserve */
/* offset from start of Flash to NVRAM bit */
#define NV_RAM_SIZE		     0x100		
#define FLASH_NV_RAM_OFFSET	 (FLASH_SIZE - NV_RAM_SIZE)

#undef	NV_BOOT_OFFSET
#define NV_BOOT_OFFSET	     0	
/* bootline at start of NVRAM */


/*
 * Do not read-modify-write all of sector of Flash used as NVRAM
 * (undefine this if you do require the rest of the Flash sector to be
 * preserved when NVRAM writes are made).
 */
#define FLASH_NO_OVERLAY


/* Serial port configuration */
#define INCLUDE_SERIAL
#undef	NUM_TTY
#define NUM_TTY			N_SIO_CHANNELS



/*
 * Use the Peripheral Data Controller. To use the USARTs in
 * character-at-a-time mode, undefine this.
 */
#define AT91_USE_PDC

/* There is neither cache nor MMU in the AT91 microcontroller */

#undef  INCLUDE_MMU_BASIC
#undef  INCLUDE_MMU_FULL
#undef  INCLUDE_MMU_MPU
#undef  INCLUDE_CACHE_SUPPORT

#undef  CONSOLE_BAUD_RATE
#define CONSOLE_BAUD_RATE   38400

#undef  CONSOLE_TTY 
#define CONSOLE_TTY         1


/* Network driver configuration
 *
 * De-select unused (default) network drivers selected in configAll.h
 */
#undef	INCLUDE_ENP		    /* include CMC Ethernet interface*/
#undef	INCLUDE_EX	     	/* include Excelan Ethernet interface */
#undef	INCLUDE_SM_NET		/* include backplane net interface */
#undef	INCLUDE_SM_SEQ_ADDR	/* shared memory network auto address setup */


#undef  INCLUDE_PPP
#undef  INCLUDE_NETWORK


/* If not using PPP, then default to WDB over serial, select higher speed */
#ifndef INCLUDE_PPP

#undef 	WDB_TTY_CHANNEL 
#define WDB_TTY_CHANNEL				0

#undef  WDB_COMM_TYPE
#define WDB_COMM_TYPE				WDB_COMM_SERIAL

#undef 	WDB_TTY_BAUD
#define WDB_TTY_BAUD				38400

#else

#if TRUE
/*
 * The following seem to help when connected to a PPP server on
 * Solaris. They may or may not be appropriate for your setup.
 */

#undef  PPP_OPT_NO_PAP
#define PPP_OPT_NO_PAP		1
#undef  PPP_OPT_NO_CHAP
#define PPP_OPT_NO_CHAP		1
#undef  PPP_OPT_DEBUG
#define PPP_OPT_DEBUG		0
#undef  PPP_OPT_PASSIVE_MODE
#define PPP_OPT_PASSIVE_MODE	1
#endif /* TRUE */

#endif /* INCLUDE_PPP */

/*
 * Interrupt mode - interrupts can be in either preemptive or non-preemptive
 * mode.  For non-preemptive mode, change INT_MODE to INT_NON_PREEMPT_MODEL
 */

#define INT_MODE	INT_PREEMPT_MODEL


/*
 * Enable BSP-configurable interrupt priorities: order of servicing and
 * masking of interrupts will be determined by at91IntLvlPriMap[] in
 * sysLib.c.  If AT91_INT_SOFT_PRIORITY_MAP is not defined, priority of
 * interrupts will be least-significant bit first.
 */

#define AT91_INT_SOFT_PRIORITY_MAP   /* BSP-configurable interrupt priorities */

/*
 * Enable use of the Protect Mode feature in the AT91 Interrupt
 * controller: allows the Interrupt Vector register to be read by
 * debuggers.
 */

#define AT91_INT_USE_PROTECT_MODE

/* xsj add it */
#define INCLUDE_DEBUG
#define INCLUDE_SHELL_BANNER
#define INCLUDE_STANDALONE_SYM_TBL



/*
 * miscellaneous definitions
 * Note: ISR_STACK_SIZE is defined here rather than in ../all/configAll.h
 * (as is more usual) because the stack size depends on the interrupt
 * structure of the BSP.
 */

#define ISR_STACK_SIZE	0x800	/* size of ISR stack, in bytes */


/* Optional timestamp support */

#undef 	INCLUDE_TIMESTAMP	/* define to include timestamp driver */

#include "at91eb01.h"

#endif	/* INCconfigh */

#if defined(PRJ_BUILD)
#include "prjParams.h"
#endif

⌨️ 快捷键说明

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