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

📄 init_gnu.h

📁 本source code 為s3c4510的bootloader
💻 H
📖 第 1 页 / 共 3 页
字号:
/*************************************************************************//*                                                                       *//* FILE NAME                                      VERSION                *//*                                                                       *//* snds.a                                 SNDS100 Board version 1.0      *//*                                                                       *//* COMPONENT                                                             *//*                                                                       *//* DESCRIPTION                                                           *//*                                                                       *//*     SNDS100 for KS32C5000, KS32C50100 ASSEBLER SYSTEM HEADER FILE     *//*                                                                       *//* AUTHOR                                                                *//*                                                                       *//*      Young Sun KIM, Samsung Electronics, Inc.                         *//*                                                                       *//* DATA STRUCTURES                                                       *//*                                                                       *//*                                                                       *//* FUNCTIONS                                                             *//*                                                                       *//* DEPENDENCIES                                                          *//*                                                                       *//*                                                                       *//* HISTORY                                                               *//*                                                                       *//*         NAME            DATE                    REMARKS               *//*                                                                       *//*      Young Sun KIM   09-25-1998      Created initial version 1.0      *//*************************************************************************//* 			*//* Modified by 		*//* Dmitriy Cherkashin 	*//* dch@ucrouter.ru	*//* 2002,2003,2004	*//*/			*//************************************************************************//* Format of the Program Status Register                                *//************************************************************************//*                                                                      *//* 31  30  29   28         7   6   5   4   3   2   1   0                *//*+---+---+---+---+--ss--+---+---+---+---+---+---+---+---+              *//*| N | Z | C | V |      | I | F | T |     M4 ~ M0       |              *//*+---+---+---+---+--ss--+---+---+---+---+---+---+---+---+              *//* 									*/	 /* 7:0 	(C)onftrol bits						  	*/ /* 15:8   	e(X)tension bits					*//* 23:16	(S)tatus bits						*//* 31:24	(F)lag bits						*/  /*                                                                      *//************************************************************************//************************************************************************//* Processor Mode and Mask                                              *//************************************************************************/#define FBit	     	         0x40   /* FIQ &=0x */#define IBit	                 0x80   /* IRQ */#define LOCK_MASK                0xC0   /* Interrupt lockout mask value */#define MODE_MASK                0x1F   /* Processor Mode Mask */#define UDF_MODE                 0x1B   /* Undefine Mode(UDF) */#define ABT_MODE                 0x17   /* Abort Mode(ABT) */#define SUP_MODE                 0x13   /* Supervisor Mode (SVC) */#define IRQ_MODE                 0x12   /* Interrupt Mode (IRQ) */#define FIQ_MODE                 0x11   /* Fast Interrupt Mode (FIQ) */#define USR_MODE                 0x10   /* User Mode(USR) *//*************************************************************************//* SYSTEM STACK MEMORY  : 8K bytes system stacks are defined at memory.a *//*************************************************************************/#ifdef LED_ONLY#define DRAM_BASE           0x3FE0000   /* Internal SRAM */#define DRAM_LIMIT          0x3FE2000   /* */#define USR_STACK_SIZE            256   /* User stack size */ #define UDF_STACK_SIZE            128   /* Undefined mode stack size */#define ABT_STACK_SIZE            128   /* Abort mode stack size */#define IRQ_STACK_SIZE            128   /* IRQ mode stack size */#define FIQ_STACK_SIZE            128   /* FIQ mode stack size */#define SUP_STACK_SIZE            128   /* Supervisor mode stack size */#else #define DRAM_BASE           0x1000000   /* Address of DRAM start byte */#define DRAM_LIMIT          0x2000000   /* 16 Mbytes, next byte after DRAM */#define USR_STACK_SIZE           2048   /* User stack size */ #define UDF_STACK_SIZE            512   /* Undefined mode stack size */#define ABT_STACK_SIZE            512   /* Abort mode stack size */#define IRQ_STACK_SIZE           2048   /* IRQ mode stack size */#define FIQ_STACK_SIZE           2048   /* FIQ mode stack size */#define SUP_STACK_SIZE           2048   /* Supervisor mode stack size */#endif 							/* LED_ONLY */    /*************************************************************************//*  SYSTEM CLOCK                                                         *//*************************************************************************/#ifdef KS32C50100#define fMCLK      	           50   /* System Clock MHz */#else #define fMCLK     	           50   /* System Clock MHz */#endif							/* KS32C50100 */									/************************************************************************//*  SYSTEM MEMORY CONTROL REGISTER EQU TABLES                           *//************************************************************************/ /************************************************************************//* -> EXTDBWTH:Memory Bus Width register 				*//*		Offset = 0x3010, Reset Value = 0x0000000		*//* 									*//* [ 1: 0] DSR0 - Data bus width for ROM/SRAM/FLASH bank 0 		*//*									*//* DSR0 is read-only data at the B0SIZE[1:0] pins. DSR0 is read-only    *//* because ROM/SRAM/FLASH bank 0 is used to boot the ROM while the	*//* data bus width for ROM/SRAM/FLASH bank 0 is set using B0SIZE[1:0]	*//* 									*//* [ 3: 2] DSR1 - Data bus width for ROM/SRAM/FLASH bank 1 		*//* [ 5: 4] DSR2 - Data bus width for ROM/SRAM/FLASH bank 2 		*//* [ 7: 6] DSR3 - Data bus width for ROM/SRAM/FLASH bank 3 		*//* [ 9: 8] DSR4 - Data bus width for ROM/SRAM/FLASH bank 4 		*//* [11:10] DSR5 - Data bus width for ROM/SRAM/FLASH bank 5 		*//*		   00 = Disable 					*//*		   01 = Byte (8 bits) 					*//*		   10 = Half-word (16 bits) 				*//*		   11 = Word (32 bits) 					*//*									*//* [13:12] DSD0 - Data bus width for DRAM bank 0 			*//* [15:14] DSD1 - Data bus width for DRAM bank 1 			*//* [17:16] DSD2 - Data bus width for DRAM bank 2 			*//* [19:18] DSD0 - Data bus width for DRAM bank 3 			*//*		   00 = Disable 					*//*		   01 = Byte (8 bits) 					*//*		   10 = Half-word (16 bits) 				*//*		   11 = Word (32 bits) 					*//*           								*//* [21:20] DSX0 - Data bus width for external I/O bank 0 		*//* [23:22] DSX1 - Data bus width for external I/O bank 1 		*//* [25:24] DSX2 - Data bus width for external I/O bank 2 		*//* [27:26] DSX0 - Data bus width for external I/O bank 3 		*//*		   00 = Disable 					*//*		   01 = Byte (8 bits) 					*//*		   10 = Half-word (16 bits) 				*//*		   11 = Word (32 bits) 					*//************************************************************************//* ROM/SRAM/FLASH */#define DSR0  	               (2<<0)   /* ROM0 0 : Disable */					/*      1 : Byte */					/*      2 : Half-Word */					/*      3 : Word */#define DSR1  	              (0<< 2)   /* ROM1   : (Byte) */#define DSR2  	              (0<< 4)   /* ROM2   : (Byte) */ 	#define DSR3  	              (0<< 6)   /* ROM3   : (disable) */#define DSR4  	              (0<< 8)   /* ROM4   : (disable) */#define DSR5  	              (0<<10)   /* ROM5   : (disable) *//* Data bus width for DRAM bank 0,1,2,3 */#define DSD0  	              (3<<12)   /* DRAM0  : (Word) */  #define DSD1  	              (0<<14)   /* DRAM1  : (disable) */#define DSD2  	              (0<<16)   /* DRAM2  : (disable) */#define DSD3  	              (0<<18)   /* DRAM3  : (disable) *//* Data bus width for external I/O banks 0,1,2,3 */#define DSX0  	              (0<<20)   /* EXTIO0 : (disable) */#define DSX1  	              (0<<22)   /* EXTIO1 : (disable) */#define DSX2  	              (0<<24)   /* EXTIO2 : (disable) */#define DSX3  	              (0<<26)   /* EXTIO3 : (disable) */	#define rEXTDBWTH   (DSR0+DSR1+DSR2+DSR3+DSR4+DSR5+DSD0+DSD1+DSD2+DSD3+DSX0+DSX1+DSX2+DSX3)									/************************************************************************//* -> ROMCON0 :ROM Bank0 Control register 				*//* 		Offset Address=0x3014, Reset Value=0x20000060		*//*									*//* [1:0] 	PCM Page mode configuration  				*//*		00 = Normal Rom 					*//*		01 = 4-word page 					*//*		10 = 8-word page 					*//*		11 = 16-word page					*//* [3:2]	tPA Page address access time 				*//*		00 = 5 cycles		01 = 2 cycles			*//*		10 = 3 cycles		11 = 4 cycles			*//*									*//* [6:4]	tACC Programmable access cycle 				*//* 		000= Disable bank 	001= 2 cycles			*//* 		010= 3 cycles		011= 4 cycles			*//* 		100= 5 cycles		101= 6 cycles			*//* 		110= 7 cycles		111= Reserved			*//* 									*//* [19:10]	ROM/SRAM/Flash bank base pointer 			*//* [29:20]	ROM/SRAM/Flash bank next pointer 			*//* 									*//************************************************************************/#define initROMBasePtr0   (0x000<<10)   /* =0x0000000 ;  0 */#define initROMEndPtr0    (0x020<<20)   /* =0x0200000 ;  2 */#define workROMBasePtr0   (0x200<<10)   /* =0x2000000 ; 32 */#define workROMEndPtr0    (0x220<<20)   /* =0x2200000 ; 34 *//* Page Mode Configuration (PCM)*/#define PMC0                      0x0   /* 0x0=Normal ROM, 0x1=4Word Page */                             	        /* 0x2=8Word Page, 0x3=16Word Page *//* Page address access time */ #define rTpa0                (0x0<<2)   /* 0x0=5Cycle, 0x1=2Cycle ; 5 Cycles */                                        /* 0x2=3Cycle, 0x3=4Cycle */ /* Programmable access cycle */#define rTacc0               (0x4<<4)   /* 0x0=Disable, 0x1=2Cycle	; */                                        /* 0x2=3Cycle, 0x3=4Cycle */                                        /* 0x4=5Cycle, 0x5=6Cycle */                            	        /* 0x6=7Cycle, 0x7=Reserved */#define initROMCON0     (initROMEndPtr0+initROMBasePtr0+rTacc0+rTpa0+PMC0)#define workROMCON0     (workROMEndPtr0+workROMBasePtr0+rTacc0+rTpa0+PMC0)/************************************************************************//* -> ROMCON1 :ROM Bank1 Control register 				*//*		Offset Address = 0x3018	Reset Value    = 0x00000060	*//************************************************************************/ #define initROMBasePtr1   (0x020<<10) /*=0x0200000 ;  2 */#define initROMEndPtr1    (0x040<<20) /*=0x0400000 ;  4 */#define workROMBasePtr1   (0x220<<10) /*=0x2200000 ; 34 */#define workROMEndPtr1    (0x240<<20) /*=0x2400000 ; 36 *//* Page Mode Configuration (PCM) */#define PMC1                      0x0   /* 0x0=Normal ROM, 0x1=4Word Page ; Normal */

⌨️ 快捷键说明

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