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

📄 wrsbcarm7.h

📁 VxWorks BSP for S3C44B0X
💻 H
字号:
/* sbcarm7.h - WindRiver SBC ARM7 header file *//* Copyright 1984-2001 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------*//*This file contains I/O address and related constants for the SBC ARM7 board.*/#ifndef    INCsbcarm7h#define    INCsbcarm7h#ifdef __cplusplusextern "C" {#endif#include "s3c44b0x.h"#define TARGET_SBCARM7/* * Local-to-Bus memory address constants: * the local memory address always appears at 0 locally; * it is not dual ported. */#define LOCAL_MEM_LOCAL_ADRS  0x00000000    /* fixed */#define LOCAL_MEM_BUS_ADRS    0x00000000    /* fixed */#define BUS                   BUS_TYPE_NONE/************************************************************************* * * DRAM Memory Bank 0 area MAP for Exception vector table  * and Stack, User code area.  * *//*  : 0x00000000->0x0c000000 */#define DRAM_BASE           0x0c000000   /* Final start address of DRAM */#define DRAM_LIMIT          0x400000/*  : 0x1000000->0x0c000000 */#define RESET_DRAM_START    0x0c000000   /* Start of DRAM on power-up */#define RESET_ROM_START     0x0          /* Start of ROM on power-up *//* definitions for the s3c44b0x UART */#define N_S3C44B0X_UART_CHANNELS  2        /* number of s3c44b0x UART chans */#define N_SIO_CHANNELS            N_S3C44B0X_UART_CHANNELS#define N_UART_CHANNELS           N_S3C44B0X_UART_CHANNELS#define UART_REG_ADDR_INTERVAL    1        /* registers 4 bytes apart *//************************************************************************* * SYSTEM CLOCK  */#define S3C44B0X_CPU_SPEED         64000000    /* CPU clocked at 64 MHz. The timer *//************************************************************************* * SYSTEM MEMORY CONTROL REGISTER EQU TABLES  *//* interrupt levels */#define INT_LVL_ADC        0#define INT_LVL_RTC        1#define INT_LVL_UTXD1      2#define INT_LVL_UTXD0      3#define INT_LVL_SIO        4#define INT_LVL_IIC        5#define INT_LVL_URXD1      6#define INT_LVL_URXD0      7#define INT_LVL_TIMER5     8#define INT_LVL_TIMER4     9#define INT_LVL_TIMER3     10#define INT_LVL_TIMER2     11#define INT_LVL_TIMER1     12#define INT_LVL_TIMER0     13#define INT_LVL_UERR0_1    14#define INT_LVL_WDT        15#define INT_LVL_BDMA1      16#define INT_LVL_BDMA0      17#define INT_LVL_ZDMA1      18#define INT_LVL_ZDMA0      19#define INT_LVL_TICK       20#define INT_LVL_EINT4567   21#define INT_LVL_EINT3      22#define INT_LVL_EINT2      23#define INT_LVL_EINT1      24#define INT_LVL_EINT0      25/* interrupt vectors */#define INT_VEC_ADC     IVEC_TO_INUM(INT_LVL_ADC)#define INT_VEC_RTC     IVEC_TO_INUM(INT_LVL_RTC)#define INT_VEC_UTXD1   IVEC_TO_INUM(INT_LVL_UTXD1)#define INT_VEC_UTXD0   IVEC_TO_INUM(INT_LVL_UTXD0)#define INT_VEC_SIO     IVEC_TO_INUM(INT_LVL_SIO)#define INT_VEC_IIC     IVEC_TO_INUM(INT_LVL_IIC)#define INT_VEC_URXD1   IVEC_TO_INUM(INT_LVL_URXD1)#define INT_VEC_URXD0   IVEC_TO_INUM(INT_LVL_URXD0)#define INT_VEC_TIMER5  IVEC_TO_INUM(INT_LVL_TIMER5)#define INT_VEC_TIMER4  IVEC_TO_INUM(INT_LVL_TIMER4)#define INT_VEC_TIMER3  IVEC_TO_INUM(INT_LVL_TIMER3)#define INT_VEC_TIMER2  IVEC_TO_INUM(INT_LVL_TIMER2)#define INT_VEC_TIMER1  IVEC_TO_INUM(INT_LVL_TIMER1)#define INT_VEC_TIMER0  IVEC_TO_INUM(INT_LVL_TIMER0)#define INT_VEC_UERR0_1 IVEC_TO_INUM(INT_LVL_UERR0_1)#define INT_VEC_WDT     IVEC_TO_INUM(INT_LVL_WDT)#define INT_VEC_BDMA1   IVEC_TO_INUM(INT_LVL_BDMA1)#define INT_VEC_BDMA0   IVEC_TO_INUM(INT_LVL_BDMA0)#define INT_VEC_ZDMA1   IVEC_TO_INUM(INT_LVL_ZDMA1)#define INT_VEC_ZDMA0   IVEC_TO_INUM(INT_LVL_ZDMA0)#define INT_VEC_TICK    IVEC_TO_INUM(INT_LVL_TICK)#define INT_VEC_EINT4567   IVEC_TO_INUM(INT_LVL_EINT4567)#define INT_VEC_EINT3   IVEC_TO_INUM(INT_LVL_EINT3)#define INT_VEC_EINT2   IVEC_TO_INUM(INT_LVL_EINT2)#define INT_VEC_EINT1   IVEC_TO_INUM(INT_LVL_EINT1)#define INT_VEC_EINT0   IVEC_TO_INUM(INT_LVL_EINT0)/********************************************************************************************************** * Cache Definitions * */#define S3C44B0X_CACHE_0K   	 	(0<<1)#define S3C44B0X_CACHE_4K        (1<<1)#define S3C44B0X_CACHE_8K        (3<<1)#define S3C44B0X_WRITE_BUFF      (1<<3)#define S3C44B0X_CACHE_MODE      0x0E#define S3C44B0X_CACHE_SIZE		S3C44B0X_CACHE_8K#define NON_CACHE_REGION    	0		/*TODO*//*#define S3C44B0X_TAGRAM          0x11000000*/#define S3C44B0X_TAGRAM_BEG 0x10002000  /*CACHE TAG RAM起始地址*/#define S3C44B0X_TAGRAM_END 0x10004800  /*CACHE TAG RAM结束地址*//* * * definitions for the s3c44b0x Timer: * two timers clocked from same source and with the same reload overhead */#define SYS_TIMER_INT_LVL           (INT_LVL_TIMER5)#define AUX_TIMER_INT_LVL           (INT_LVL_TIMER1)/****************************************************************************************** * Clock rates depend upon CPU power and work load of application. * The values below are minimum and maximum allowed by the hardware. * Note that it takes 3 ticks to reload the 16-bit counter and we don't * accept values that would mean a zero reload value as we don't know what * that will do. * So: * min frequency = roundup(clock_rate/(max_counter_value+3)) * max frequency = rounddown(clock_rate/(min_counter_value+3)) * i.e.              SYS_CLK_RATE_MAX (SYS_TIMER_CLK/4) * However, we must set maxima that are sustainable on a running * system. Experiments suggest that a 16MHz PID board can sustain a * maximum clock rate of 10000 to 10500. The values below have been * chosen so that there is a reasonable margin and the BSP passes the * test suite. */#define SYS_CLK_RATE_MIN      10#define SYS_CLK_RATE_MAX      1000#define AUX_CLK_RATE_MIN      2#define AUX_CLK_RATE_MAX      1000#define SYS_TIMER_CLK               (S3C44B0X_CPU_SPEED)    /* Frequency of counter/timer */#define AUX_TIMER_CLK               (S3C44B0X_CPU_SPEED)    /* Frequency of counter/timer *//* * Our MAC address definition.  User can change this value as * per requirement.  Note, the least significant byte of the * address is changed to the value of the user DIP switch setting. * SW4-D0 is the least significant bit of this byte.  Open=0. */#define ETHERNET_MAC_ADRS { 0x00, 0xA0, 0x88, 0x88, 0x88, 0x00 }/*#define rEXTDBWTH     (DSR0+DSR1+DSR2+DSR3+DSR4+DSR5+DSD0+DSD1+DSD2+DSD3+DSX0+DSX1+DSX2+DSX3)*//*  : deleted and added */#define rEXTDBWTH  		0x11110010/*  : added++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ *//*FLASH0*/#define B0_Tacs         0x0     /*0clk*/#define B0_Tcos         0x0     /*0clk*/#define B0_Tacc         0x6     /*10clk*/#define B0_Tcoh         0x0     /*0clk*/#define B0_Tah          0x0     /*0clk*/#define B0_Tacp         0x0     /*0clk*/#define B0_PMC          0x0     /*normal(1data)*/#define rROMCON0 ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))/*FLASH1*/#define rROMCON1		rROMCON0/*CPLD1 External (CF Card)*/#define B2_Tacs         0x3     /*4clk*/#define B2_Tcos         0x3     /*4clk*/#define B2_Tacc         0x7     /*14clk*/#define B2_Tcoh         0x3     /*4clk*/#define B2_Tah          0x3     /*4clk*/#define B2_Tacp         0x3     /*6clk*/#define B2_PMC          0x0     /*normal(1data)*/#define rROMCON2 ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC))/*CPLD2 Exernal (Net)*/#define rROMCON3		rROMCON2/*CPLD3 USER FREE*/#define rROMCON4		rROMCON2/*CPLD4 Internal*/#define rROMCON5		rROMCON2/*SDRAM1 Bank 6 parameter*//*BDRAMTYPE="DRAM"       ;MT=01(FP DRAM) or 10(EDO DRAM)*/ #define B6_MT           0x3     /*SDRAM*/#define B6_Trcd         0x0     /*2clk*/#define B6_SCAN         0x1     /*8bit*/#define rSDRAMCON0 ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))/*SDRAM2 Bank 7 parameter*/#define rSDRAMCON1		rSDRAMCON0/*REFRESH parameter*/#define REFEN           0x1     /*Refresh enable*/#define TREFMD          0x0     /*CBR(CAS before RAS)/Auto refresh*/#define Trp             0x2     /*3clk*/#define Trc             0x1     /*5clk*/#define Tchr            0x2     /*3clk*//*REFCNT = 2048 + 1 - MCLK(MHz) * 15.6*/#define REFCNT          1050    /*period=15.6us, MCLK=66Mhz*/#define rSREFEXTCON ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT)#define rBANKSIZE		0x10	/*SCLK power down mode, BANKSIZE 32M/32M*/#define rMRSRB6			0x20	/*MRSR6 CL=2clk*/#define rMRSRB7			0x20	/*MRSR7*/#ifdef __cplusplus}#endif#endif    /* INCsbcarm7h */

⌨️ 快捷键说明

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