📄 config.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 + -