📄 leon.h
字号:
#include "config.h"
/* control structure */
#ifndef __ASSEMBLER__
struct lregs {
volatile unsigned int memcfg1; /* 0x00 */
volatile unsigned int memcfg2;
volatile unsigned int edacctrl;
volatile unsigned int failaddr;
volatile unsigned int memstatus; /* 0x10 */
volatile unsigned int cachectrl;
volatile unsigned int powerdown;
volatile unsigned int writeprot1;
volatile unsigned int writeprot2; /* 0x20 */
volatile unsigned int dummy1;
volatile unsigned int dummy2;
volatile unsigned int dummy3;
volatile unsigned int dummy4; /* 0x30 */
volatile unsigned int dummy5;
volatile unsigned int dummy6;
volatile unsigned int dummy7;
volatile unsigned int timercnt1; /* 0x40 */
volatile unsigned int timerload1;
volatile unsigned int timerctrl1;
volatile unsigned int wdog;
volatile unsigned int timercnt2;
volatile unsigned int timerload2;
volatile unsigned int timerctrl2;
volatile unsigned int dummy8;
volatile unsigned int scalercnt;
volatile unsigned int scalerload;
volatile unsigned int dummy9;
volatile unsigned int dummy10;
volatile unsigned int uartdata1;
volatile unsigned int uartstatus1;
volatile unsigned int uartctrl1;
volatile unsigned int uartscaler1;
volatile unsigned int uartdata2;
volatile unsigned int uartstatus2;
volatile unsigned int uartctrl2;
volatile unsigned int uartscaler2;
volatile unsigned int irqmask;
volatile unsigned int irqpend;
volatile unsigned int irqforce;
volatile unsigned int irqclear;
volatile unsigned int piodata;
volatile unsigned int piodir;
volatile unsigned int pioirq;
};
#endif
/* control registers */
#define PREGS 0x80000000
#define MCFG1 0x00
#define MCFG2 0x04
#define EDAC 0x08
#define FADDR 0x0c
#define MSTAT 0x10
#define CCTRL 0x14
#define PWDOWN 0x18
#define WPROT1 0x1C
#define WPROT2 0x20
#define TCNT0 0x40
#define TRLD0 0x44
#define TCTRL0 0x48
#define TCNT1 0x50
#define TRLD1 0x54
#define TCTRL1 0x58
#define SCNT 0x60
#define SRLD 0x64
#define UDATA0 0x70
#define USTAT0 0x74
#define UCTRL0 0x78
#define USCAL0 0x7c
#define UDATA1 0x80
#define USTAT1 0x84
#define UCTRL1 0x88
#define USCAL1 0x8c
#define IMASK 0x90
#define IPEND 0x94
#define IFORCE 0x98
#define ICLEAR 0x9c
#define IOREG 0xA0
#define IODIR 0xA4
#define IOICONF 0xA8
/* ASI codes */
#define ASI_PCI 0x4
#define ASI_ITAG 0xC
#define ASI_IDATA 0xD
#define ASI_DTAG 0xE
#define ASI_DDATA 0xF
/* memory areas */
#define CRAM 0x40000000
#define RAMEND 0x40000000 + RAMSIZE
#define IOAREA 0x20000000
/* cache settings */
#define ITAGS (1 << ITAG_BITS)
#define ILINESZ (1 << ILINEBITS)
#define DTAGS (1 << DTAG_BITS)
#define DLINESZ (1 << DLINEBITS)
/* Some bit field masks */
#define CCTRL_FLUSHING_MASK 0x0c000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -