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

📄 sc6600d_reg.h

📁 展讯SC6600D例程
💻 H
📖 第 1 页 / 共 4 页
字号:
#define EXT_MEM_CTL_BEGIN       		0x20000000      //External Memory Control registers.
#define EXT_MEM_CTL_END         		0x2FFFFFFF
                                		
#define PERIPHERAL_ADD_BEGIN    		0x80000000      //Peripheral Address Space.
#define PERIPHERAL_ADD_END      		0xBFFFFFFF
                                		
#define ARM_TEST_ADD_BEGIN      		0xC0000000      //ARM Test.
#define ARM_TEST_ADD_END        		0xDFFFFFFF

//External Memory (8 CHIP Select).
#define EXTM_XCSN0_START        		0x00000000
#define EXTM_XCSN0_END          		0x03FFFFFF
#define EXTM_XCSN1_START        		0x04000000
#define EXTM_XCSN1_END          		0x07FFFFFF
                                		
#define EXTM_XCSN2_START        		0x08000000
#define EXTM_XCSN2_END          		0x0BFFFFFF
#define EXTM_XCSN3_START        		0x0C000000
#define EXTM_XCSN3_END          		0x0FFFFFFF
                                		
#define EXTM_XSCN4_START        		0x50000000
#define EXTM_XSCN4_END          		0x53FFFFFF
#define EXTM_XSCN5_START        		0x54000000
#define EXTM_XSCN5_END          		0x57FFFFFF
#define EXTM_XSCN6_START        		0x58000000
#define EXTM_XSCN6_END          		0x5BFFFFFF
#define EXTM_XSCN7_START        		0x5C000000
#define EXTM_XSCN7_END          		0x5FFFFFFF

/*----------external memory cotnrol registers----------*/
#define EXT_MEM_CTL_BASE        		0x20000000
#define EXT_MEM_CTL0            		(EXT_MEM_CTL_BASE + 0x0000)
#define EXT_MEM_CTL1            		(EXT_MEM_CTL_BASE + 0x0004)
#define EXT_MEM_CTL2            		(EXT_MEM_CTL_BASE + 0x0008)
#define EXT_MEM_CTL3            		(EXT_MEM_CTL_BASE + 0x000C)
#define EXT_MEM_CTL4            		(EXT_MEM_CTL_BASE + 0x0010)
#define EXT_MEM_CTL5            		(EXT_MEM_CTL_BASE + 0x0014)
#define EXT_MEM_CTL6            		(EXT_MEM_CTL_BASE + 0x0018)
#define EXT_MEM_CTL7            		(EXT_MEM_CTL_BASE + 0x001C)
#define EXT_MEM_INI             		(EXT_MEM_CTL_BASE + 0x0020)
#define EXT_MEM_MSCTL           		(EXT_MEM_CTL_BASE + 0x0024)

#define ARM_INTERNAL_MEM_START  		0x40008000
#define ARM_INTERNAL_MEM_END    		0x4000FFFF

/*----------Internal On Chip Memory----------*/
#define IOCM0_START             		0x40000000
#define IOCM0_END               		0x40003FFF
#define IOCM1_START             		0x40004000
#define IOCM1_END               		0x40007FFF
#define IOCM2_START             		0x40008000
#define IOCM2_END               		0x4000BFFF
#define IOCM3_START             		0x4000C000
#define IOCM3_END               		0x4000FFFF

//the extenal memory control register setting under different frequency
#define MCU13M_ECS0_VALUE       		0x08020008
#define MCU13M_ECS1_VALUE       		0x08020008

#define MCU26M_ECS0_VALUE       		0x08021108
#define MCU26M_ECS1_VALUE       		0x08021108

#define MCU39M_ECS0_VALUE       		0x08021208
#define MCU39M_ECS1_VALUE       		0x08021208

#define MCU52M_ECS0_VALUE       		0x08022308
#define MCU52M_ECS1_VALUE       		0x08022308

#define MCU71M_ECS0_VALUE       		0x08024508
#define MCU71M_ECS1_VALUE       		0x08024508

#define MCU78M_ECS0_VALUE       		0x08024508
#define MCU78M_ECS1_VALUE       		0x08024508

#define MCU104M_ECS0_VALUE       		0x08026708
#define MCU104M_ECS1_VALUE       		0x08026708

#define MCU_MAX_ECS0_VALUE      		MCU104M_ECS0_VALUE
#define MCU_MAX_ECS1_VALUE      		MCU104M_ECS1_VALUE

#define DEFAULT_ECS_VALUE				0x0803eeef
#define	ECS_MAX_SUPPORT_NUMBER			8

#define DEFAULT_INT_MEM_CTL     		0xF             	//ARM only use 0x4000_8000 - 0x4000_FFFF

/*----------bus monitor control registers----------*/
#define BUS_MON_CTL_BASE        		0x20000028     //to be added later


/*----------DMA Ctronl Registers----------*/
#define DMA_CTL_BASE            		0x20100000
#define DMA_GEN                 		(DMA_CTL_BASE + 0x0000)
#define DMA_CHN_IE              		(DMA_CTL_BASE + 0x0004)
#define DMA_CHN0_BASE           		(DMA_CTL_BASE + 0x0020)
#define DMA_CHN1_BASE           		(DMA_CTL_BASE + 0x0040)
#define DMA_CHN2_BASE           		(DMA_CTL_BASE + 0x0060)
#define DMA_CHN3_BASE           		(DMA_CTL_BASE + 0x0080)
#define DMA_CHN4_BASE           		(DMA_CTL_BASE + 0x00A0)
#define DMA_CHN5_BASE           		(DMA_CTL_BASE + 0x00C0)
#define DMA_CHN6_BASE           		(DMA_CTL_BASE + 0x00E0)
#define DMA_CHN7_BASE           		(DMA_CTL_BASE + 0x0100)

/*----------Peripheral Address Space----------*/
#define INT_CTL_BASE            		0x80000000
#define TIMER_CTL_BASE          		0x81000000
#define STOP_REMAP_CTL_BASE     		0x82000000
#define ARM_VBC_BASE     				0x82003000
#define ARM_UART0_BASE          		0x83000000
#define ARM_UART1_BASE          		0x84000000
#define SIM_BASE                		0x85000000
#define I2C_BASE                		0x86000000
#define KPD_BASE                		0x87000000
#define PWM_BASE                		0x88000000
#define RTC_BASE                		0x89000000
#define WDG_BASE                		0x89003000
#define GPIO_BASE               		0x8A000000
#define GREG_BASE               		0x8B000000
#define PIN_CTL_BASE            		0x8C000000
#define GEA_BASE                		0x8D000000
#define ARM_UART2_BASE          		0x8E000000
#define PCM_BASE                		0x8F000000
                                		

/*----------Interrupt Control Registers----------*/
//INT_CTL_BASE          0x80000000
#define INT_IRQ_BASE            		(INT_CTL_BASE + 0x0000)
#define INT_IRQ_STS             		(INT_CTL_BASE + 0x0000) //Interrupt status after masked by irq_enable.
#define INT_IRQ_RAW_STS         		(INT_CTL_BASE + 0x0004) //Interrupt status from different interrupt source.
#define INT_IRQ_EN              		(INT_CTL_BASE + 0x0008) //Enable bits  for the corresponding interrupt sources. 
#define INT_IRQ_DISABLE         		(INT_CTL_BASE + 0x000C) 
#define INT_IRQ_SOFT            		(INT_CTL_BASE + 0x0010)
#define INT_IRQ_TEST_SRC				(INT_CTL_BASE + 0x0014)
#define INT_IRQ_TEST_SEL				(INT_CTL_BASE + 0x0018)
#define INT_IRQ_UINT_STS        		(INT_CTL_BASE + 0x001C)
#define INT_FIQ_STS             		(INT_CTL_BASE + 0x0020)
#define INT_FIQ_RAW_STS         		(INT_CTL_BASE + 0x0024)
#define INT_FIQ_EN              		(INT_CTL_BASE + 0x0028)
#define INT_FIQ_DISABLE         		(INT_CTL_BASE + 0x002C)
#define INT_FIQ_SOFT            		(INT_CTL_BASE + 0x0030)
#define INT_FIQ_TEST_SRC				(INT_CTL_BASE + 0x0034)
#define INT_FIQ_TEST_SEL				(INT_CTL_BASE + 0x0038)
#define INT_UINT_CTL					(INT_CTL_BASE + 0x003C)

/*----------Timer Control Register----------*/
//TIMER_CTL_BASE        0x81000000
#define TIMER0_BASE             		(TIMER_CTL_BASE + 0x0000)
#define TM0_LOAD                		(TIMER0_BASE + 0x0000)          //Write to this register will reload the timer with the new value.
#define TM0_VALUE               		(TIMER0_BASE + 0x0004)          //Return the current timer value.
#define TM0_CTL                 		(TIMER0_BASE + 0x0008)
#define TM0_CLR                 		(TIMER0_BASE + 0x000C)          //Write to this register will clear the interrupt generated by this timer.
                                		
#define TIMER1_BASE             		(TIMER_CTL_BASE + 0x0020)
#define TM1_LOAD                		(TIMER1_BASE + 0x0000)          //Write to this register will reload the timer with the new value.
#define TM1_VALUE               		(TIMER1_BASE + 0x0004)          //Return the current timer value.
#define TM1_CTL                 		(TIMER1_BASE + 0x0008)  
#define TM1_CLR                 		(TIMER1_BASE + 0x000C)          //Write to this register will clear the interrupt generated by this timer.


/*----------Pause Control Register----------*/
//PAUSE_CTL_BASE                0x82000000
#define PAUSE_CTL_EN            		(PAUSE_CTL_BASE + 0x0000)       //Write to this register will pause the mcu
#define PAUSE_REMAP_CTL         		(PAUSE_CTL_BASE + 0x0020)

//-----------------------------------------------
//UART0, UART1 Registers
//ARM_UART0_BASE        				0x83000000
//ARM_UART1_BASE        				0x84000000
#define ARM_UART_TXD            		0x0000  //Write data to this address initiates a character transmission through tx fifo.
#define ARM_UART_RXD            		0x0004  //Reading this register retrieves the next data byte from the rx fifo.
#define ARM_UART_STS0           		0x0008
#define ARM_UART_STS1           		0x000C
#define ARM_UART_IEN            		0x0010
#define ARM_UART_ICLR           		0x0014
#define ARM_UART_CTL0           		0x0018
#define ARM_UART_CTL1           		0x001C
#define ARM_UART_CTL2           		0x0020
#define ARM_UART_CLKD0          		0x0024
#define ARM_UART_CLKD1          		0x0028
#define ARM_UART_STS2           		0x002C
                                		
#define DSP_UART1_Base          		0xBE00
#define DSP_UART2_Base          		0xBF00
#define DSP_UART_TXD            		0xBE00  //Write data to this address initiates a character transmission through tx fifo.
#define DSP_UART_RXD            		0xBE01  //Reading this register retrieves the next data byte from the rx fifo.
#define DSP_UART_STS0           		0xBE02
#define DSP_UART_STS1           		0xBE03
#define DSP_UART_IEN            		0xBE04
#define DSP_UART_ICLR           		0xBE05
#define DSP_UART_CTL0           		0xBE06
#define DSP_UART_CTL1           		0xBE07
#define DSP_UART_CTL2           		0xBE08
#define DSP_UART_CLKD0          		0xBE09
#define DSP_UART_CLKD1          		0xBE0A
#define DSP_UART_STS2           		0xBE0B


/*----------SIM Control Regosters----------*/
//SIM_BASE      0x85000000
#define SIM_TX                  		(SIM_BASE + 0x0000)     //Writing to this reg will send data to tx fifo and then the data get transmitted.
#define SIM_RX                  		(SIM_BASE + 0x0004)     //Read from this address retrieve data from rx fifo.
#define SIM_STS0                		(SIM_BASE + 0x0008)     //Status.
#define SIM_STS1                		(SIM_BASE + 0x000C)     //Status.
#define SIM_IE                  		(SIM_BASE + 0x0010)     //Interrupt Enable.
#define SIM_ICLR                		(SIM_BASE + 0x0014)     //Interrupt clear.
#define SIM_CTL0                		(SIM_BASE + 0x0018)		//Contorl 0 register
#define SIM_CTL1                		(SIM_BASE + 0x001C)		//Control 1 register
#define SIM_RX_CK_DVD           		(SIM_BASE + 0x0020)		//the SIM clock divider to interpret the SIM data
#define SIM_SHE                 		(SIM_BASE + 0x0024)		
#define SIM_TGC                 		(SIM_BASE + 0x0028)
#define SIM_WDT                 		(SIM_BASE + 0x002C)
#define SIM_INT_M               		(SIM_BASE + 0x0030)
#define SIM_TX_CK_DVD           		(SIM_BASE + 0x0034)
#define SIM_WDT1                		(SIM_BASE + 0x0038)

/*----------I2C Register----------*/
//I2C_BASE      0x86000000
#define I2C_CTL                 		(I2C_BASE + 0x0000)
#define I2C_CMD                 		(I2C_BASE + 0x0004)
#define I2C_CLKD0               		(I2C_BASE + 0x0008)
#define I2C_CLKD1               		(I2C_BASE + 0x000C)
#define I2C_RST                 		(I2C_BASE + 0x0010)
#define I2C_CMD_BUF             		(I2C_BASE + 0x0014)

/*----------Keypad Register----------*/
//KPD_BASE      0x87000000
#define KPD_STS                 		(KPD_BASE + 0x0000)
#define KPD_CTL                 		(KPD_BASE + 0x0004)
#define KPD_ICLR                		(KPD_BASE + 0x0008)
#define KPD_POLARITY            		(KPD_BASE + 0x000C)
#define KPD_CLK0                		(KPD_BASE + 0x0010)
#define KPD_CLK1                		(KPD_BASE + 0x0014)
#define KPD_INT_MSK             		(KPD_BASE + 0x0018)
#define KPD_PBINT_CTL           		(KPD_BASE + 0x0028)
#define KPD_PBINT_CNT           		(KPD_BASE + 0x002C)
#define KPD_PBINT_CNT_REG       		(KPD_BASE + 0x0030)

/*----------System Count----------*/
#define SYS_CNT0						(KPD_BASE + 0x001C)
#define SYS_CTL	                		(KPD_BASE + 0x0024)

/*----------PWM Register----------*/
//PWM_BASE      0x88000000
#define PWM0_PRESCALE           		(PWM_BASE + 0x0000)
#define PWM0_CNT                		(PWM_BASE + 0x0004)
#define PWM0_DVD                		(PWM_BASE + 0x0008)
#define PWM0_PATTERN_LOW        		(PWM_BASE + 0x000C)
#define PWM0_PATTERN_HEIGHT     		(PWM_BASE + 0x0010)
#define PWM1_PRESCALE           		(PWM_BASE + 0x0014)
#define PWM1_CNT                		(PWM_BASE + 0x0018)
#define PWM1_DVD                		(PWM_BASE + 0x001C)
#define PWM1_PATTERN_LOW        		(PWM_BASE + 0x0020)
#define PWM1_PATTERN_HEIGHT     		(PWM_BASE + 0x0024)
#define PWM2_PRESCALE           		(PWM_BASE + 0x0028)
#define PWM2_CNT                		(PWM_BASE + 0x002C)
#define PWM2_DVD                		(PWM_BASE + 0x0030)
#define PWM2_PATTERN_LOW        		(PWM_BASE + 0x0034)
#define PWM2_PATTERN_HEIGHT     		(PWM_BASE + 0x0038)
                                		
#define PWM0_BASE               		(PWM_BASE)

⌨️ 快捷键说明

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