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

📄 custom.c

📁 树大根深三棱尽所标杆ssfsfsa fdsafs
💻 C
📖 第 1 页 / 共 3 页
字号:
/********************************************************* * WARNING: file is automatically generated do not modify * * File:	custom.c (generated by fab_custom.c) * * Abstract:	This code that simulates the dragonball's *		intelligent peripheral modules and system *		interface logic. * * WARNING: file is automatically generated do not modify *********************************************************/#include <ctype.h>#include <assert.h>#include <stdio.h>#include <time.h>#include <sys/types.h>#include <sys/time.h>#include <unistd.h>#include "config.h"#include "sysdeps.h"#include "shared.h"#include "memory.h"#include "custom.h"#include "newcpu.h"extern int sram_protect;/* dragonball register locations */#define SCR	0xf000#define GRPBASEA	0xf100#define GRPBASEC	0xf104#define GRPMASKA	0xf108#define GRPMASKC	0xf10c#define CSA0	0xf110#define CSA1	0xf114#define CSA2	0xf118#define CSA3	0xf11c#define CSC0	0xf130#define CSC1	0xf134#define CSC2	0xf138#define CSC3	0xf13c#define PLLCR	0xf200#define PLLFSR	0xf202#define PCTLR	0xf207#define IVR	0xf300#define ICR	0xf302#define IMR	0xf304#define IWR	0xf308#define ISR	0xf30c#define IPR	0xf310#define PCDIR	0xf410#define PCDATA	0xf411#define PCSEL	0xf413#define PDDIR	0xf418#define PDDATA	0xf419#define PDPUEN	0xf41a#define PDPOL	0xf41c#define PDIRQEN	0xf41d#define PDIRQEDGE	0xf41f#define PEDIR	0xf420#define PEDATA	0xf421#define PEPUEN	0xf422#define PESEL	0xf423#define PFDIR	0xf428#define PFDATA	0xf429#define PFPUEN	0xf42a#define PFSEL	0xf42b#define PGDIR	0xf430#define PGDATA	0xf431#define PGPUEN	0xf432#define PGSEL	0xf433#define PJDIR	0xf438#define PJDATA	0xf439#define PJSEL	0xf43b#define PKDIR	0xf440#define PKDATA	0xf441#define PKPUEN	0xf442#define PKSEL	0xf443#define PMDIR	0xf448#define PMDATA	0xf449#define PMPUEN	0xf44a#define PMSEL	0xf44b#define PWMC	0xf500#define PWMP	0xf502#define PWMW	0xf504#define TCTL1	0xf600#define TPRER1	0xf602#define TCMP1	0xf604#define TCN1	0xf608#define TSTAT1	0xf60a#define TCTL2	0xf60c#define TPRER2	0xf60e#define TCMP2	0xf610#define TCN2	0xf614#define TSTAT2	0xf616#define WCSR	0xf618#define WCN	0xf61c#define SPIMDATA	0xf800#define SPIMCONT	0xf802#define USTCNT	0xf900#define UBAUD	0xf902#define URX	0xf904#define UTX	0xf906#define UMISC	0xf908#define LSSA	0xfa00#define LVPW	0xfa05#define LXMAX	0xfa08#define LYMAX	0xfa0a#define LCXP	0xfa18#define LCYP	0xfa1a#define LCWCH	0xfa1c#define LBLKC	0xfa1f#define LPICF	0xfa20#define LPXCD	0xfa25#define LCKCON	0xfa27#define LLBAR	0xfa29#define LOTCR	0xfa2b#define LPOSR	0xfa2d#define LFRCM	0xfa31#define LGPMR	0xfa32#define RTCHMS	0xfb00#define RTCALARM	0xfb04#define RTCCTL	0xfb0c#define RTCISR	0xfb0e#define RTCIENR	0xfb10/* * Hmmm... We need to differentiate the debugger using the * UART from other programs (PPP, etc.) using it.  We check * the global variable dbgInDebugger (at address 0x110) to * see if we're in the debugger. * * - Ian */#define IN_DEBUGGER (get_byte(0x110))#define DEBUGGER_WRITING (CustShptr->gdb_writefd >= 0 && IN_DEBUGGER)#define DEBUGGER_READING (CustShptr->gdb_writefd >= 0 && IN_DEBUGGER)/* dragonball register definitions */static union {	UBYTE x;	struct {		unsigned WDTH8	:1;		unsigned RSVD	:1;		unsigned DMAP	:1;		unsigned SO	:1;		unsigned BETEN	:1;		unsigned PRV	:1;		unsigned WPV	:1;		unsigned BETO	:1;	} anon;} db_SCR;static union {	UWORD x;	struct {		unsigned V	:1;		unsigned 	:3;		unsigned GMA	:12;	} anon;} db_GRPBASEA, db_GRPBASEC;static union {	UWORD x;	struct {		unsigned 	:4;		unsigned GMA	:12;	} anon;} db_GRPMASKA, db_GRPMASKC;static union {	ULONG x;	struct {		unsigned WAIT	:3;		unsigned RO	:1;		unsigned 	:4;		unsigned AM	:8;		unsigned BSW	:1;		unsigned 	:7;		unsigned AC	:8;	} anon;} db_CSA0, db_CSA1, db_CSA2, db_CSA3, db_CSC0, db_CSC1, db_CSC2, db_CSC3;static union {	UWORD x;	struct {		unsigned 	:3;		unsigned DISPLL	:1;		unsigned CLKEN	:1;		unsigned 	:3;		unsigned SYSCLKSEL	:3;		unsigned PIXCLKSEL	:3;		unsigned 	:2;	} anon;} db_PLLCR;static union {	UWORD x;	struct {		unsigned PC	:8;		unsigned QC	:4;		unsigned 	:2;		unsigned PROT	:1;		unsigned CLK32	:1;	} anon;} db_PLLFSR;static union {	UBYTE x;	struct {		unsigned WIDTH	:5;		unsigned 	:1;		unsigned STOP	:1;		unsigned PCEN	:1;	} anon;} db_PCTLR;static union {	UBYTE x;	struct {		unsigned LEVEL	:3;		unsigned VECTOR	:5;	} anon;} db_IVR;static union {	UWORD x;	struct {		unsigned 	:8;		unsigned POL6	:1;		unsigned POL3	:1;		unsigned POL2	:1;		unsigned POL1	:1;		unsigned ET6	:1;		unsigned ET3	:1;		unsigned ET2	:1;		unsigned ET1	:1;	} anon;} db_ICR;static union {	ULONG x;	struct {		unsigned SPIM	:1;		unsigned TMR2	:1;		unsigned UART	:1;		unsigned WDT	:1;		unsigned RTC	:1;		unsigned LCDC	:1;		unsigned KB	:1;		unsigned PWM	:1;		unsigned INT0	:1;		unsigned INT1	:1;		unsigned INT2	:1;		unsigned INT3	:1;		unsigned INT4	:1;		unsigned INT5	:1;		unsigned INT6	:1;		unsigned INT7	:1;		unsigned IRQ1	:1;		unsigned IRQ2	:1;		unsigned IRQ3	:1;		unsigned IRQ6	:1;		unsigned PEN	:1;		unsigned SPIS	:1;		unsigned TMR1	:1;		unsigned IRQ7	:1;		unsigned 	:8;	} anon;} db_IMR, db_IWR, db_ISR, db_IPR;static union {	UBYTE x;	struct {		unsigned MOCLK	:1;		unsigned UDS	:1;		unsigned LDS	:1;		unsigned 	:1;		unsigned NMI	:1;		unsigned DTACK	:1;		unsigned WE	:1;		unsigned 	:1;	} anon;} db_PCDIR, db_PCDATA, db_PCSEL;static union {	UBYTE x;	struct {		unsigned BB0	:1;		unsigned B1	:1;		unsigned B2	:1;		unsigned B3	:1;		unsigned B4	:1;		unsigned B5	:1;		unsigned B6	:1;		unsigned B7	:1;	} anon;} db_PDDIR, db_PDDATA, db_PDPUEN, db_PDPOL, db_PDIRQEN, db_PDIRQEDGE;static union {	UBYTE x;	struct {		unsigned A	:8;	} anon;} db_PEDIR, db_PEDATA, db_PEPUEN, db_PESEL, db_PFDIR, db_PFDATA, db_PFPUEN, db_PFSEL;static union {	UBYTE x;	struct {		unsigned UART_TXD	:1;		unsigned UART_RXD	:1;		unsigned PWMOUT	:1;		unsigned TOUT2	:1;		unsigned TIN2	:1;		unsigned TOUT1	:1;		unsigned TIN1	:1;		unsigned RTCOUT	:1;	} anon;} db_PGDIR, db_PGDATA, db_PGPUEN, db_PGSEL;static union {	UBYTE x;	struct {		unsigned A	:8;	} anon;} db_PJDIR, db_PJDATA, db_PJSEL;static union {	UBYTE x;	struct {		unsigned SPIM_TXD	:1;		unsigned SPIM_RXD	:1;		unsigned SPIM_CLKO	:1;		unsigned SPIS_EN	:1;		unsigned SPIS_RXD	:1;		unsigned SPIS_CLKI	:1;		unsigned PCMCIA_CE2	:1;		unsigned PCMCIA_CE1	:1;	} anon;} db_PKDIR, db_PKDATA, db_PKPUEN, db_PKSEL;static union {	UBYTE x;	struct {		unsigned CTS	:1;		unsigned RTS	:1;		unsigned IRQ6	:1;		unsigned IRQ3	:1;		unsigned IRQ2	:1;		unsigned IRQ1	:1;		unsigned PEN_IRQ	:1;		unsigned UART_GPIO	:1;	} anon;} db_PMDIR, db_PMDATA, db_PMPUEN, db_PMSEL;static union {	UWORD x;	struct {		unsigned CLKSEL	:3;		unsigned 	:1;		unsigned PWMEN	:1;		unsigned POL	:1;		unsigned 	:1;		unsigned PIN	:1;		unsigned LOAD	:1;		unsigned 	:5;		unsigned IRQEN	:1;		unsigned PWMIRQ	:1;	} anon;} db_PWMC;static union {	UWORD x;	struct {		unsigned PERIOD	:16;	} anon;} db_PWMP;static union {	UWORD x;	struct {		unsigned WIDTH	:16;	} anon;} db_PWMW;static union {	UWORD x;	struct {		unsigned TEN	:1;		unsigned CLKSOURCE	:3;		unsigned IRQEN	:1;		unsigned OM	:1;		unsigned CAPTURE_EDGE	:2;		unsigned FRR	:1;		unsigned 	:7;	} anon;} db_TCTL1;static union {	UWORD x;	struct {		unsigned PRESCALE	:8;		unsigned 	:8;	} anon;} db_TPRER1;static union {	UWORD x;	struct {		unsigned COMPARE	:16;	} anon;} db_TCMP1;static union {	UWORD x;	struct {		unsigned COUNT	:16;	} anon;} db_TCN1;static union {	UWORD x;	struct {		unsigned COMP	:1;		unsigned CAPT	:1;		unsigned 	:14;	} anon;} db_TSTAT1;static union {	UWORD x;	struct {		unsigned TEN	:1;		unsigned CLKSOURCE	:3;		unsigned IRQEN	:1;		unsigned OM	:1;		unsigned CAPTURE_EDGE	:2;		unsigned FRR	:1;		unsigned 	:7;	} anon;} db_TCTL2;static union {	UWORD x;	struct {		unsigned PRESCALE	:8;		unsigned 	:8;	} anon;} db_TPRER2;static union {	UWORD x;	struct {		unsigned COMPARE	:16;	} anon;} db_TCMP2;static union {	UWORD x;	struct {		unsigned COUNT	:16;	} anon;} db_TCN2;static union {	UWORD x;	struct {		unsigned COMP	:1;		unsigned CAPT	:1;		unsigned 	:14;	} anon;} db_TSTAT2;static union {	UWORD x;	struct {		unsigned WDEN	:1;		unsigned FI	:1;		unsigned LOCK	:1;		unsigned WDRST	:1;		unsigned 	:12;	} anon;} db_WCSR;static union {	UWORD x;	struct {		unsigned COUNT	:16;	} anon;} db_WCN;static union {	UWORD x;	struct {		unsigned DATA	:16;	} anon;} db_SPIMDATA;static union {	UWORD x;	struct {		unsigned BITCOUNT	:4;		unsigned POL	:1;		unsigned PHA	:1;		unsigned IRQEN	:1;		unsigned SPIMIRQ	:1;		unsigned XCH	:1;		unsigned SPMEN	:1;		unsigned 	:3;		unsigned DATARATE	:3;	} anon;} db_SPIMCONT;static union {	UWORD x;	struct {		unsigned TX_AVAIL_ENABLE	:1;		unsigned TX_HALF_ENABLE	:1;		unsigned TX_EMPTY_ENABLE	:1;		unsigned RX_READY_ENABLE	:1;		unsigned RX_HALF_ENABLE	:1;		unsigned RX_FULL_ENABLE	:1;		unsigned CTS_DELTA_ENABLE	:1;		unsigned GPIO_DELTA_ENABLE	:1;		unsigned BITS_8	:1;		unsigned STOP_BITS	:1;		unsigned ODD_EVEN	:1;		unsigned PARITY_ENABLE	:1;		unsigned RX_CLK_CONT	:1;		unsigned TX_ENABLE	:1;		unsigned RX_ENABLE	:1;		unsigned UART_ENABLE	:1;	} anon;} db_USTCNT;static union {	UWORD x;	struct {		unsigned PRESCALER	:6;		unsigned 	:2;		unsigned DIVIDE	:3;		unsigned BAUD_SRC	:1;		unsigned GPIO_SRC	:1;		unsigned GPIO_DIR	:1;		unsigned GPIO	:1;		unsigned GPIO_DELTA	:1;	} anon;} db_UBAUD;static union {	UWORD x;	struct {		unsigned DATA	:8;		unsigned PARITY_ERROR	:1;		unsigned BREAK	:1;		unsigned FRAME_ERROR	:1;		unsigned OVRUN	:1;		unsigned 	:1;		unsigned DATA_READY	:1;		unsigned FIFO_HALF	:1;		unsigned FIFO_FULL	:1;	} anon;} db_URX;static union {	UWORD x;	struct {		unsigned DATA	:8;		unsigned CTS_DELTA	:1;		unsigned CTS_STATUS	:1;		unsigned 	:1;		unsigned IGNORE_CTS	:1;		unsigned SEND_BREAK	:1;		unsigned TX_AVAIL	:1;		unsigned FIFO_HALF	:1;		unsigned FIFO_EMPTY	:1;	} anon;} db_UTX;static union {	UWORD x;	struct {		unsigned 	:2;		unsigned TX_POL	:1;		unsigned RX_POL	:1;		unsigned IRDA_LOOP	:1;		unsigned IRDA_ENABLE	:1;		unsigned RTS	:1;		unsigned RTS_CONT	:1;		unsigned 	:4;		unsigned LOOP	:1;		unsigned FORCE_PERR	:1;		unsigned CLK_SRC	:1;		unsigned 	:1;	} anon;} db_UMISC;static union {	ULONG x;	struct {		unsigned SSA	:32;	} anon;} db_LSSA;static union {	UBYTE x;	struct {		unsigned VPW	:8;	} anon;} db_LVPW;static union {	UWORD x;	struct {		unsigned XMAX	:10;		unsigned 	:6;	} anon;} db_LXMAX;static union {	UWORD x;	struct {		unsigned YMAX	:10;		unsigned 	:6;	} anon;} db_LYMAX;static union {	UWORD x;	struct {		unsigned CXP	:10;		unsigned 	:4;		unsigned CC	:2;	} anon;} db_LCXP;static union {	UWORD x;	struct {		unsigned CYP	:10;		unsigned 	:6;	} anon;} db_LCYP;static union {	UWORD x;	struct {		unsigned CH	:5;		unsigned 	:3;		unsigned CW	:5;		unsigned 	:3;	} anon;} db_LCWCH;

⌨️ 快捷键说明

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