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

📄 poseidon.h

📁 WINDOWS CE BSP用于SBC2440开发板
💻 H
📖 第 1 页 / 共 5 页
字号:
/*********************************************************************
              Copyright (c) 1996 Philips Electronics, Inc.
  Copyright (c) 1999-2000 Microsoft Corporation.  All rights reserved
 *********************************************************************/

#ifndef __POSEIDON__
#define __POSEIDON__

#define SampleRateToDividerModulus(x) (9216000 / (x * 32) - 1)

#define kPoseidonSDram1ModeAddress			0xB0F00000
#define kPoseidonSDram0ModeAddress			0xB0E00000
#define kPoseidonModuleAddress				0xB0C00000
#define kPoseidonBreakpointModuleAddress	0xFF000010
#define kPoseidonChipSelect3Address			0xB0800000
#define kPoseidonChipSelect2Address			0xB0400000
#define kPoseidonChipSelect1Address			0xB0000000

#define kCard1Addr				(0x64000000 - KUSER_OFFSET)
#define kCard2Addr				(0x68000000 - KUSER_OFFSET)

#define kCard1Size				0x04000000
#define kCard2Size				0x04000000

#define kCard1AttributeAddress	0x88000000
#define kCard1IOAddress			0x88000000
#define kCard2AttributeAddress	0x8C000000
#define kCard2IOAddress			0x8C000000

#define kDRAMBank0Offset		0x0
#define kDRAMBank1Offset		0x200000


#define kProtectionLimit		0x10000000		/* limit address for Poseidon protection */

#define kBootParametersOffset		0			/* offset from beginning of ROM in device */
#define kRestorePersistentRAMSize 	0x00020000	
#define kSystemRAMAddr	 			0x00000000
#define kBootStackSize				0x2000

	/* NOTE: change these two in tandem */
#define kVectorDispatchTableSize 2048
#define kVectorDispatchReMapMask 0xC	


/***** Poseidon Exception Number Equates  *****/
/* With Poseidon there are no core exception numbers */

#define kFirstRealVector					0

#define kLCDInterrupt						0
#define kDFInterrupt						1
#define kCHIHalfInterrupt					2
#define kCHIFullInterrupt					3
#define kCHIDMACountInterrupt				4
#define kCHIinInterruptA					5
#define kCHIinintInterruptB					6
#define kCHIactInterrupt					7
#define kCHIErrorInterrupt					8
#define kSoundHalfInterrupt					9
#define kSoundFullInterrupt					10
#define kTelHalfInterrupt					11
#define kTelFullInterrupt					12
#define kSoundDMACountInterrupt				13
#define kTelDMACountInterrupt				14
#define kLeftSoundClipInterrupt				15
#define kRightSoundClipInterrupt			16
#define kvalSoundPositiveInterrupt			17
#define kvalSoundNegativeInterrupt			18
#define kvalTelPositiveInterrupt			19
#define kvalTelNegativeInterrupt			20
#define kSoundinInterrupt					21
#define kTelinInterrupt						22
#define kSIBsf0Interrupt					23
#define kSIBsf1Interrupt					24
#define kSIBPositiveInterrupt				25
#define kSIBNegativeInterrupt				26
#define kInterrupt1Reserved4				27
#define kInterrupt1Reserved3				28
#define kInterrupt1Reserved2				29
#define kInterrupt1Reserved1				30
#define kInterrupt1Reserved0				31
#define kUARTARXInterrupt					32
#define kUARTARXoverrunInterrupt			33
#define kUARTAFrameErrorInterrupt			34
#define kUARTABreakInterrupt				35
#define kUARTAParityErrorInterrupt			36
#define kUARTATXInterrupt					37
#define kUARTATXoverrunInterrupt			38
#define kUARTAEmptyInterrupt				39
#define kUARTADMAFullInterrupt				40
#define kUARTADMAHalfInterrupt				41
#define kUARTBRXInterrupt					42
#define kUARTBRXoverrunInterrupt			43
#define kUARTBFrameErrorInterrupt			44
#define kUARTBBreakInterrupt				45
#define kUARTBParityErrorInterrupt			46
#define kUARTBTXInterrupt					47
#define kUARTBTXoverrunInterrupt			48
#define kUARTBEmptyInterrupt				49
#define kUARTBDMAFullInterrupt				50
#define kUARTBDMAHalfInterrupt				51
#define kMagicBusTXBufferAvailableInterrupt	52
#define kMagicBusTXErrorInterrupt			53
#define kMagicBusEmptyInterrupt				54
#define kMagicBusRXBufferAvailableInterrupt	55
#define kMagicBusRXErrorInterrupt			56
#define kMagicBusDetInterrupt				57
#define kMagicBusDMAFullInterrupt			58
#define kMagicBusDMAHalfInterrupt			59
#define kMagicBusPositiveInterrupt			60
#define kMagicBusNegativeInterrupt			61
#define kInterrupt2Reserved1				62
#define kInterrupt2Reserved0				63
#define kmfioPositiveInterrupt31			64
#define kmfioPositiveInterrupt30			65
#define kmfioPositiveInterrupt29			66
#define kmfioPositiveInterrupt28			67
#define kmfioPositiveInterrupt27			68
#define kmfioPositiveInterrupt26			69
#define kmfioPositiveInterrupt25			70
#define kmfioPositiveInterrupt24			71
#define kmfioPositiveInterrupt23			72
#define kmfioPositiveInterrupt22			73
#define kmfioPositiveInterrupt21			74
#define kmfioPositiveInterrupt20			75
#define kmfioPositiveInterrupt19			76
#define kmfioPositiveInterrupt18			77
#define kmfioPositiveInterrupt17			78
#define kmfioPositiveInterrupt16			79
#define kmfioPositiveInterrupt15			80
#define kmfioPositiveInterrupt14			81
#define kmfioPositiveInterrupt13			82
#define kmfioPositiveInterrupt12			83
#define kmfioPositiveInterrupt11			84
#define kmfioPositiveInterrupt10			85
#define kmfioPositiveInterrupt9				86
#define kmfioPositiveInterrupt8				87
#define kmfioPositiveInterrupt7				88
#define kmfioPositiveInterrupt6				89
#define kmfioPositiveInterrupt5				90
#define kmfioPositiveInterrupt4				91
#define kmfioPositiveInterrupt3				92
#define kmfioPositiveInterrupt2				93
#define kmfioPositiveInterrupt1				94
#define kmfioPositiveInterrupt0				95
#define kmfioNegativeInterrupt31			96
#define kmfioNegativeInterrupt30			97
#define kmfioNegativeInterrupt29			98
#define kmfioNegativeInterrupt28			99
#define kmfioNegativeInterrupt27			100
#define kmfioNegativeInterrupt26			101
#define kmfioNegativeInterrupt25			102
#define kmfioNegativeInterrupt24			103
#define kmfioNegativeInterrupt23			104
#define kmfioNegativeInterrupt22			105
#define kmfioNegativeInterrupt21			106
#define kmfioNegativeInterrupt20			107
#define kmfioNegativeInterrupt19			108
#define kmfioNegativeInterrupt18			109
#define kmfioNegativeInterrupt17			110
#define kmfioNegativeInterrupt16			111
#define kmfioNegativeInterrupt15			112
#define kmfioNegativeInterrupt14			113
#define kmfioNegativeInterrupt13			114
#define kmfioNegativeInterrupt12			115
#define kmfioNegativeInterrupt11			116
#define kmfioNegativeInterrupt10			117
#define kmfioNegativeInterrupt9				118
#define kmfioNegativeInterrupt8				119
#define kmfioNegativeInterrupt7				120
#define kmfioNegativeInterrupt6				121
#define kmfioNegativeInterrupt5				122
#define kmfioNegativeInterrupt4				123
#define kmfioNegativeInterrupt3				124
#define kmfioNegativeInterrupt2				125
#define kmfioNegativeInterrupt1				126
#define kmfioNegativeInterrupt0				127
#define kRTCInterrupt						128
#define kAlarmInterrupt						129
#define kPeriodicInterrupt					130
#define kStopTimerInterrupt					131
#define kPositivePowerInterrupt				132
#define kNegativePowerInterrupt				133
#define kPositivePowerokInterrupt			134
#define kNegativePowerokInterrupt			135
#define kPositiveOnButtonInterrupt			136
#define kNegativeOnButtonInterrupt			137
#define kSPIBufferAvailableInterrupt		138
#define kSPIErrorInterrupt					139
#define kSPIrcvInterrupt					140
#define kSPIEmptyInterrupt					141
#define kIRconsmInterrupt					142
#define kcarstInterrupt						143
#define kPositivecarInterrupt				144
#define kNegativecarInterrupt				145
#define kioPositiveInterrupt6				146
#define kioPositiveInterrupt5				147
#define kioPositiveInterrupt4				148
#define kioPositiveInterrupt3				149
#define kioPositiveInterrupt2				150
#define kioPositiveInterrupt1				151
#define kioPositiveInterrupt0				152
#define kioNegativeInterrupt6				153
#define kioNegativeInterrupt5				154
#define kioNegativeInterrupt4				155
#define kioNegativeInterrupt3				156
#define kioNegativeInterrupt2				157
#define kioNegativeInterrupt1				158
#define kioNegativeInterrupt0				159

#define kGlacier1IOPositiveInterrupt12		160
#define kGlacier1IOPositiveInterrupt11		161
#define kGlacier1IOPositiveInterrupt10		162
#define kGlacier1IOPositiveInterrupt3		163
#define kGlacier1IOPositiveInterrupt2		164
#define kGlacier1IOPositiveInterrupt1		165

#define kGlacier1IONegativeInterrupt12		166
#define kGlacier1IONegativeInterrupt11		167
#define kGlacier1IONegativeInterrupt10		168
#define kGlacier1IONegativeInterrupt3		169
#define kGlacier1IONegativeInterrupt2		170
#define kGlacier1IONegativeInterrupt1		171

#define kGlacier2IOPositiveInterrupt12		172
#define kGlacier2IOPositiveInterrupt11		173
#define kGlacier2IOPositiveInterrupt10		174
#define kGlacier2IOPositiveInterrupt3		175
#define kGlacier2IOPositiveInterrupt2		176
#define kGlacier2IOPositiveInterrupt1		177

#define kGlacier2IONegativeInterrupt12		178
#define kGlacier2IONegativeInterrupt11		179
#define kGlacier2IONegativeInterrupt10		180
#define kGlacier2IONegativeInterrupt3		181
#define kGlacier2IONegativeInterrupt2		182
#define kGlacier2IONegativeInterrupt1		183

#define kNumHandlers						184
#define kNumPoseidonHandlers				160


/***** BIU Module Equates *****/
/***** Memory Configuration Register 0 Equates (PoseidonModule.memoryConfiguration0) *****/
#define kMemDClkoutTriStateMask		0x40000000	/* 30 */
#define kMemDisDqmInitMask			0x20000000	/* 29 */
#define kMemEnSdramPowDownMask		0x10000000	/* 28 */
#define kMemShowPoseidonMask			0x08000000	/* 27 */
#define kMemEnAddrRmap2Mask			0x04000000	/* 26 */
#define kMemEnAddrRmap1Mask			0x02000000	/* 25 */
#define kMemEnPageModeWrinMask		0x01000000	/* 24 */
#define kMemEnCs3UserMask			0x00800000	/* 23 */
#define kMemEnCs2UserMask			0x00400000	/* 22 */
#define kMemEnCs1UserMask			0x00200000	/* 21 */
#define kMemEnCs1Bank01Mask			0x00100000	/* 20 */
#define kMemBank1ConfMask			0x000c0000	/* 19:18 */
#define kMemBank0ConfMask			0x00030000	/* 17:16 */
#define kMemBank1RowSelMask			0x0000c000	/* 15:14 */
#define kMemBank0RowSelMask			0x00003000	/* 13:12 */
#define kMemBank1ColSelMask			0x00000f00	/* 11:8 */
#define kMemBank0ColSelMask			0x000000f0	/* 7:4 */
#define kMemCs332BitMask			0x00000008	/* 3 */
#define kMemCs232BitMask			0x00000004	/* 2 */
#define kMemCs132BitMask			0x00000002	/* 1 */
#define kMemCs032BitMask			0x00000001	/* 0 */

/***** Values for kMemBank1ConfMask field *****/
#define kMemEnBank1Sdram_16			0x000c0000
#define kMemEnBank1Sdram_8			0x00080000
#define kMemEnBank1Dram_32			0x00040000
#define kMemEnBank1Dram_16			0x00000000
#define kMemBank1ConfShift			18

/***** Values for kMemBank0ConfMask field *****/
#define kMemEnBank0Sdram_16			0x00030000
#define kMemEnBank0Sdram_8			0x00020000
#define kMemEnBank0Dram_32			0x00010000
#define kMemEnBank0Dram_16			0x00000000
#define kMemBank0ConfShift			16

/***** Values for kMemBank1RowSelMask field *****/
#define kMemBank1RowSel3			0x0000c000
#define kMemBank1RowSel2			0x00008000
#define kMemBank1RowSel1			0x00004000
#define kMemBank1RowSel0			0x00000000
#define kMemBank1RowSelShift		14

/***** Values for kMemBank0RowSelMask field *****/
#define kMemBank0RowSel3			0x00003000
#define kMemBank0RowSel2			0x00002000
#define kMemBank0RowSel1			0x00001000
#define kMemBank0RowSel0			0x00000000
#define kMemBank0RowSelShift		12

/***** Values for kMemBank1ColSelMask field *****/
#define kMemBank1ColSel9			0x00000900
#define kMemBank1ColSel8			0x00000800
#define kMemBank1ColSel7			0x00000700
#define kMemBank1ColSel6			0x00000600
#define kMemBank1ColSel5			0x00000500
#define kMemBank1ColSel4			0x00000400
#define kMemBank1ColSel3			0x00000300

⌨️ 快捷键说明

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