config.h

来源:互联网 发布:美容整形行业 知乎 编辑:程序博客网 时间:2024/05/14 23:58
/****************************************Copyright (c)**************************************************
**                                  广州致远电子有限公司
**
**                                 http://www.21cm.com.cn
**      数据类型的定义 系统时钟 总线的重要参数
**--------------文件信息--------------------------------------------------------------------------------
**文   件   名: config.h
**创   建   人: 黄绍斌
**最后修改日期: 2005年11月11日
**描        述: 用户配置文件
**
**--------------历史版本信息----------------------------------------------------------------------------
** 创建人: 
** 版  本: 
** 日 期: 
** 描 述: 
**------------------------------------------------------------------------------------------------------
********************************************************************************************************/
// 这一段无需改动
#ifndef TRUE
#define TRUE   1
#endif


#ifndef FALSE
#define FALSE 0
#endif


#ifndef NULL
#define NULL   (void *)0
#endif


typedef unsigned char   uint8;          /* 无符号8位整型变量            */
typedef signed   char   int8;           /* 有符号8位整型变量            */
typedef unsigned short uint16;         /* 无符号16位整型变量               */
typedef signed   short int16;          /* 有符号16位整型变量               */
typedef unsigned int   uint32;         /* 无符号32位整型变量               */
typedef signed   int   int32;          /* 有符号32位整型变量               */
typedef float           fp32;           /* 单精度浮点数(32位长度)         */
typedef double         fp64;           /* 双精度浮点数(64位长度)         */




/********************************/
/*      ARM的特殊代码           */
/********************************/
// 这一段无需改动
#include    "s3c2410.h"


#include    <stdio.h>
#include    <ctype.h>
#include    <stdlib.h>


// IRQ中断向量地址表
extern  uint32 VICVectAddr[];


// 使能/禁能IRQ、FIQ中断
__swi(0x00) void SwiHandle1(int Handle);


#define IRQDisable()    SwiHandle1(0)
#define IRQEnable()     SwiHandle1(1)
#define FIQDisable()    SwiHandle1(2)
#define FIQEnable()     SwiHandle1(3)


/* CPU时钟设置(PLLCON控制值) */
/* 50.00MHz (外部晶振为12MHz时) */
//#define   MDIV_500x5C
//#define   PDIV_500x4
//#define   SDIV_500x2


/* 200.00MHz (外部晶振为12MHz时) */
/* 设置值为:m=100,p=6,s=0, MPLL=FCLK=12*100/6=200MHz */
#define   MDIV_2000x5C
#define   PDIV_2000x4
#define   SDIV_2000x0
#define   MPLLCON_200((MDIV_200 << 12) | (PDIV_200 << 4) | (SDIV_200)) 


/* 系统时钟宏定义 */
#define     FCLK (200*1000000)/* 系统时钟,由target.c文件的TargetResetInit()设置 */
#define     HCLK (FCLK/2)/* HCLK只能为FCLK除上1、2 */
#define     PCLK (HCLK/2)/* PCLK只能为HCLK除上1、2 */




/* 总线宽度控制定义(0表示8位,1表示16位,2表示32位) */
#define   DW8 (0x0)
#define   DW16(0x1)
#define   DW32(0x2)
#define   WAIT(0x1<<2)
#define   UBLB(0x1<<3)


/* Bank时序控制(位域)定义 */
#define     MT 15/* 存储类型选择,仅对Bank6和Bank7有效 (2bit) */
#define     Trcd 2/* RAS到CAS延迟,仅对SDRAM有效 (2bit) */
#define     SCAN 0/* 列地址位数,仅对SDRAM有效 (2bit) */


#define     Tacs 13/* 在nGCSn有效之前,地址信号的建立时间 (2bit) */
#define     Tcos 11/* 在nOE有效之前,片选的建立时间 (2bit) */
#define     Tacc 8/* 访问周期 (3bit) */
#define     Tcoh 6/* nOE结束之后,片选信号的保持时间 (2bit) */
#define     Tcah 4/* nGCSn结束之后,地址信号的保持时间 (2bit) */
#define     Tacp 2/* Page模式的访问周期 (2bit) */
#define     PMC 0/* Page模式配置 (2bit) */




/********************************/
/*     应用程序配置             */
/********************************/
// 以下根据需要改动


/**** 外部总线配置,用户可根据实际需要修改 ****/
#define   B7_BWCON(DW16|WAIT|UBLB) 
#define   B6_BWCON(DW32|UBLB) /* SDRAM所用的Bank,不要修改 */ 
#define   B5_BWCON(DW16|WAIT|UBLB)  
#define   B4_BWCON(DW16|WAIT|UBLB)  
#define   B3_BWCON(DW16|WAIT|UBLB)  
#define   B2_BWCON(DW16|WAIT|UBLB)  
#define   B1_BWCON(DW16|WAIT|UBLB)


#define   B7_BANKCON((0<<MT)|(1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))
#define   B6_BANKCON((3<<MT)|(1<<Trcd)|(1<<SCAN)) /* SDRAM所用的Bank,不要修改 */
#define   B5_BANKCON((1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))
#define   B4_BANKCON((1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))
#define   B3_BANKCON((1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))
#define   B2_BANKCON((1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))
#define   B1_BANKCON((1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))
#define   B0_BANKCON((1<<Tacs)|(1<<Tcos)|(7<<Tacc)|(1<<Tcoh)|(1<<Tcah)|(1<<Tacp)|(0<<PMC))




/********************************/
/*       用户包含文件           */
/********************************/
// 以下根据需要改动
#include    <setjmp.h>
#include    <rt_misc.h>
#include    <string.h>


#include    "target.h"              //This line may not be deleted 这一句不能删除


/*********************************************************************************************************
**                            End Of File
********************************************************************************************************/
原创粉丝点击