MIPS/resources/project/include/cpu_cde.h
2021-08-14 20:18:43 +08:00

36 lines
1.5 KiB
C

//soc confreg
#define CONFREG_CR0 0xbfd00000
#define CONFREG_CR1 0xbfd00004
#define CONFREG_CR2 0xbfd00008
#define CONFREG_CR3 0xbfd0000c
#define CONFREG_CR4 0xbfd00010
#define CONFREG_CR5 0xbfd00014
#define CONFREG_CR6 0xbfd00018
#define CONFREG_CR7 0xbfd0001c
#define UART_ADDR 0xbfe40000
#define LED_ADDR 0xbfd0f000
#define LED_RG0_ADDR 0xbfd0f004
#define LED_RG1_ADDR 0xbfd0f008
#define NUM_ADDR 0xbfd0f010
#define SWITCH_ADDR 0xbfd0f020
#define BTN_KEY_ADDR 0xbfd0f024
#define BTN_STEP_ADDR 0xbfd0f028
#define TIMER_ADDR 0xbfd0e000
#define SOC_LED (* (volatile unsigned *) LED_ADDR )
#define SOC_LED_RG0 (* (volatile unsigned *) LED_RG0_ADDR )
#define SOC_LED_RG1 (* (volatile unsigned *) LED_RG1_ADDR )
#define SOC_NUM (* (volatile unsigned *) NUM_ADDR )
#define SOC_SWITCHE (* (volatile unsigned *) SWITCH_ADDR )
#define SOC_BTN_KEY (* (volatile unsigned *) BTN_KEY_ADDR )
#define SOC_BTN_STEP (* (volatile unsigned *) BTN_STEP_ADDR )
#define SOC_TIMER (* (volatile unsigned *) TIMER_ADDR )
#define write_confreg_cr(num,data) *((volatile int *)(CONFREG_CR0+4*num)) = data
#define read_confreg_cr(num,data) data=*((volatile int *)(CONFREG_CR0+4*num))
#define NOP addu zero, zero, zero
#define LI(reg, imm) \
li reg, imm