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

📄 ocpuio.h

📁 完整的Bell实验室的嵌入式文件系统TFS
💻 H
📖 第 1 页 / 共 2 页
字号:
/***************************************************************//* MCF5206 Eval Board by Arnewsh                               *//***************************************************************/#define DEFAULT_BAUD_RATE 57600#define CPU_CLOCK_FREQUENCY 25000000        /* Clock = 25Mhz */#define MCF5200#define MCF5206#define MYPRINTF#define NETWORK#define SYMBOL_MATCH_MASK   (0xFFFFFFFF)#define FLASH_ADDRESS       (0xFFE00000)#define DRAM_ADDRESS        (0x00000000)#define IMM_ADDRESS         (0x10000000)#define SRAM_ADDRESS        (0x20000000)#define MC68HC901_ADDRESS   (0x30000000)#define MC68HC901_IRQ       (0xF0)#define ISA_ADDRESS         (0x40000000)/* Macro which returns a pointer to the Internal Memory Map */ #define mcf5206_get_immp()     ((MCF5206_IMM *)(IMM_ADDRESS))void ird (int, char **);void irm (int, char **);/* Defintions of the basic data types.  */typedef unsigned char       BYTE;   /*  8 bits */typedef unsigned short int  WORD;   /* 16 bits */typedef unsigned long int   LONG;   /* 32 bits */typedef signed char         SBYTE;  /*  8 bits */typedef signed short int    SWORD;  /* 16 bits */typedef signed long int     SLONG;  /* 32 bits */typedef unsigned char       NATURAL8;  /*  8 bits */typedef unsigned short int  NATURAL16; /* 16 bits */typedef unsigned long int   NATURAL32; /* 32 bits */typedef signed char         INTEGER8;   /*  8 bits */typedef signed short int    INTEGER16;  /* 16 bits */typedef signed long int     INTEGER32;  /* 32 bits */#define ILLEGAL         0x4AFC          /* 68K illegal instruction *//* * Definition of registers of the MCF5206.  Note that not all * the registers accessible on the MCF5206 are actually listed * here.  The reason for this is that not all registers on the * CPU are readable, thus it is up to the user to maintain a * readable/visible copy of the values contained in those * registers. */typedef struct{    /* Order IS VERY IMPORTANT -- MOVEM instruction */    NATURAL32   d0, d1, d2, d3, d4, d5, d6, d7;    /* offset   00  04  08  12  16  20  24  28 */    NATURAL32   a0, a1, a2, a3, a4, a5, a6, a7;    /* offset   32  36  40  44  48  52  56  60 */    NATURAL32   pc;    /* offset   64 */    NATURAL16   sr;    /* offset   68 */} REGISTERS;#define MCF5206_SR_T            (0x8000)#define MCF5206_SR_S            (0x2000)#define MCF5206_SR_M            (0x1000)#define MCF5206_SR_IPL          (0x0700)#define MCF5206_SR_X            (0x0010)#define MCF5206_SR_N            (0x0008)#define MCF5206_SR_Z            (0x0004)#define MCF5206_SR_V            (0x0002)#define MCF5206_SR_C            (0x0001)/* Definition of what the single exception stack frame looks like.  */typedef struct{    NATURAL16   form_vector;    NATURAL16   status_register;    NATURAL32   program_counter;} STACK_FRAME;#define SF_FORMAT(a)    ((a->form_vector >> 12) & 0x00FF)#define SF_VECTOR(a)    ((a->form_vector >>  2) & 0x00FF)#define SF_SR(a)        (a->status_register)#define SF_PC(a)        (a->program_counter)#define SF_FS(a)  (((a->form_vector & 0x0C00)>>8) | (a->form_vector & 0x0003))/* Cache and Access Control Register routines and defintions */#define MCF5206_CACR_CENB       (0x80000000)#define MCF5206_CACR_CFRZ       (0x08000000)#define MCF5206_CACR_CINV       (0x01000000)#define MCF5206_CACR_CMOD       (0x00000200)#define MCF5206_CACR_CWRP       (0x00000020)#define MCF5206_CACR_CLNF_00    (0x00000000)#define MCF5206_CACR_CLNF_01    (0x00000001)#define MCF5206_CACR_CLNF_10    (0x00000002)#define MCF5206_ACR_BASE(a)     ((a)&0xFF000000)#define MCF5206_ACR_MASK(a)     (((a)&0xFF000000) >> 8)#define MCF5206_ACR_EN          (0x00008000)#define MCF5206_ACR_S_USER      (0x00000000)#define MCF5206_ACR_S_SUPER     (0x00002000)#define MCF5206_ACR_S_IGNORE    (0x00006000)#define MCF5206_ACR_ENIB        (0x00000080)#define MCF5206_ACR_CM          (0x00000040)#define MCF5206_ACR_WP          (0x00000004)#define MCF5206_SRAMBAR_BASE(a)     ((a)&0xFFFFFE00)#define MCF5206_SRAMBAR_WP          (0x00000100)#define MCF5206_SRAMBAR_AS_CI       (0x00000080)#define MCF5206_SRAMBAR_AS_SC       (0x00000040)#define MCF5206_SRAMBAR_AS_SD       (0x00000020)#define MCF5206_SRAMBAR_AS_UC       (0x00000004)#define MCF5206_SRAMBAR_AS_UD       (0x00000002)#define MCF5206_SRAMBAR_V           (0x00000001)#define MCF5206_MBAR_BASE(a)            ((a)&0xFFFFFC00)#define MCF5206_MBAR_SC                 (0x00000010)#define MCF5206_MBAR_SD                 (0x00000008)#define MCF5206_MBAR_UC                 (0x00000004)#define MCF5206_MBAR_UD                 (0x00000002)#define MCF5206_MBAR_V                  (0x00000001)/* Memory-mapped System Integration registers */typedef volatile struct{    NATURAL8    reserved0;    NATURAL8    reserved1;    NATURAL8    reserved2;    NATURAL8    SIMR;    NATURAL32   reserved3;    NATURAL32   reserved4;    NATURAL32   reserved5;    NATURAL32   reserved6;    NATURAL8    ICR1;    NATURAL8    ICR2;    NATURAL8    ICR3;    NATURAL8    ICR4;    NATURAL8    ICR5;    NATURAL8    ICR6;    NATURAL8    ICR7;    NATURAL8    ICR8;    NATURAL8    ICR9;    NATURAL8    ICR10;    NATURAL8    ICR11;    NATURAL8    ICR12;    NATURAL8    ICR13;    NATURAL8    reserved7;    NATURAL8    reserved8;    NATURAL8    reserved9;    NATURAL32   reserved10[4];    NATURAL8    reserved11;    NATURAL8    reserved12;    NATURAL16   IMR;    NATURAL16   reserved13;    NATURAL16   IPR;    NATURAL32   reserved14;    NATURAL8    RSR;    NATURAL8    SYPCR;    NATURAL8    SWIVR;    NATURAL8    SWSR;    NATURAL8    reserved31[135];    NATURAL8    PAR;} MCF5206_SIM;#define MCF5206_SIM_SIMR_FRZ1       (0x80)#define MCF5206_SIM_SIMR_FRZ0       (0x40)#define MCF5206_SIM_SIMR_BL         (0x01)#define MCF5206_SIM_ICR_AVEC        (0x80)#define MCF5206_SIM_ICR_IL(a)       (((a)&0x07)<<2)#define MCF5206_SIM_ICR_IP(a)       (((a)&0x03))#define MCF5206_SIM_IMR_UART2       (0x2000)#define MCF5206_SIM_IMR_UART1       (0x1000)#define MCF5206_SIM_IMR_MBUS        (0x0800)#define MCF5206_SIM_IMR_T2          (0x0400)#define MCF5206_SIM_IMR_T1          (0x0200)#define MCF5206_SIM_IMR_SWT         (0x0100)#define MCF5206_SIM_IMR_EINT7       (0x0080)#define MCF5206_SIM_IMR_EINT6       (0x0040)#define MCF5206_SIM_IMR_EINT5       (0x0020)#define MCF5206_SIM_IMR_EINT4       (0x0010)#define MCF5206_SIM_IMR_EINT3       (0x0008)#define MCF5206_SIM_IMR_EINT2       (0x0004)#define MCF5206_SIM_IMR_EINT1       (0x0002)#define MCF5206_SIM_IPR_UART2       (0x2000)#define MCF5206_SIM_IPR_UART1       (0x1000)#define MCF5206_SIM_IPR_MBUS        (0x0800)#define MCF5206_SIM_IPR_T2          (0x0400)#define MCF5206_SIM_IPR_T1          (0x0200)#define MCF5206_SIM_IPR_SWT         (0x0100)#define MCF5206_SIM_IPR_EINT7       (0x0080)#define MCF5206_SIM_IPR_EINT6       (0x0040)#define MCF5206_SIM_IPR_EINT5       (0x0020)#define MCF5206_SIM_IPR_EINT4       (0x0010)#define MCF5206_SIM_IPR_EINT3       (0x0008)#define MCF5206_SIM_IPR_EINT2       (0x0004)#define MCF5206_SIM_IPR_EINT1       (0x0002)#define MCF5206_SIM_RSR_HRST        (0x80)#define MCF5206_SIM_RSR_SWTR        (0x20)#define MCF5206_SIM_SYPCR_SWE       (0x80)#define MCF5206_SIM_SYPCR_SWRI      (0x40)#define MCF5206_SIM_SYPCR_SWT_2_9   (0x00)#define MCF5206_SIM_SYPCR_SWT_2_11  (0x08)#define MCF5206_SIM_SYPCR_SWT_2_13  (0x10)#define MCF5206_SIM_SYPCR_SWT_2_15  (0x18)#define MCF5206_SIM_SYPCR_SWT_2_18  (0x20)#define MCF5206_SIM_SYPCR_SWT_2_20  (0x28)#define MCF5206_SIM_SYPCR_SWT_2_22  (0x30)#define MCF5206_SIM_SYPCR_SWT_2_24  (0x38)#define MCF5206_SIM_SYPCR_BME       (0x04)#define MCF5206_SIM_SYPCR_BM_1024   (0x00)#define MCF5206_SIM_SYPCR_BM_512    (0x01)#define MCF5206_SIM_SYPCR_BM_256    (0x02)#define MCF5206_SIM_SYPCR_BM_128    (0x03)#define MCF5206_SIM_SWIVR_SWIV(a)   ((a)&0x00FF)#define MCF5206_SIM_PAR_PAR7        (0x80)#define MCF5206_SIM_PAR_PAR7_RSTO   (0x00)#define MCF5206_SIM_PAR_PAR7_RTS2   (0x80)#define MCF5206_SIM_PAR_PAR6        (0x40)#define MCF5206_SIM_PAR_PAR6_IRQ    (0x00)#define MCF5206_SIM_PAR_PAR6_IPL    (0x40)#define MCF5206_SIM_PAR_PAR5        (0x20)#define MCF5206_SIM_PAR_PAR5_PP74   (0x00)#define MCF5206_SIM_PAR_PAR5_PST    (0x20)#define MCF5206_SIM_PAR_PAR4        (0x10)#define MCF5206_SIM_PAR_PAR4_PP30   (0x00)#define MCF5206_SIM_PAR_PAR4_DDATA  (0x10)#define MCF5206_SIM_PAR_PAR3        (0x08)#define MCF5206_SIM_PAR_PAR2        (0x04)#define MCF5206_SIM_PAR_PAR1        (0x02)#define MCF5206_SIM_PAR_PAR0        (0x01)typedef volatile struct{    NATURAL8    reserved0[0x1C5];    NATURAL8    PPDDR;    NATURAL8    reserved34;    NATURAL8    reserved35;    NATURAL8    reserved36;    NATURAL8    PPDAT;} MCF5206_GPIO;#define MCF5206_PP_PPDDR_DDR7_INPUT     (~0x80)#define MCF5206_PP_PPDDR_DDR7_OUTPUT    ( 0x80)#define MCF5206_PP_PPDDR_DDR6_INPUT     (~0x40)#define MCF5206_PP_PPDDR_DDR6_OUTPUT    ( 0x40)#define MCF5206_PP_PPDDR_DDR5_INPUT     (~0x20)#define MCF5206_PP_PPDDR_DDR5_OUTPUT    ( 0x20)#define MCF5206_PP_PPDDR_DDR4_INPUT     (~0x10)#define MCF5206_PP_PPDDR_DDR4_OUTPUT    ( 0x10)#define MCF5206_PP_PPDDR_DDR3_INPUT     (~0x08)#define MCF5206_PP_PPDDR_DDR3_OUTPUT    ( 0x08)#define MCF5206_PP_PPDDR_DDR2_INPUT     (~0x04)#define MCF5206_PP_PPDDR_DDR2_OUTPUT    ( 0x04)#define MCF5206_PP_PPDDR_DDR1_INPUT     (~0x02)#define MCF5206_PP_PPDDR_DDR1_OUTPUT    ( 0x02)#define MCF5206_PP_PPDDR_DDR0_INPUT     (~0x01)#define MCF5206_PP_PPDDR_DDR0_OUTPUT    ( 0x01)#define MCF5206_PP_PPDAT_DAT7       ( 0x80)#define MCF5206_PP_PPDAT_DAT6       ( 0x40)#define MCF5206_PP_PPDAT_DAT5       ( 0x20)#define MCF5206_PP_PPDAT_DAT4       ( 0x10)#define MCF5206_PP_PPDAT_DAT3       ( 0x08)#define MCF5206_PP_PPDAT_DAT2       ( 0x04)#define MCF5206_PP_PPDAT_DAT1       ( 0x02)#define MCF5206_PP_PPDAT_DAT0       ( 0x01)typedef volatile struct{    NATURAL32   reserved1[0x19];    NATURAL16   CSAR0;    NATURAL16   rsvd0;    NATURAL32   CSMR0;    NATURAL16   reserved2;    NATURAL16   CSCR0;    NATURAL16   CSAR1;    NATURAL16   rsvd1;    NATURAL32   CSMR1;    NATURAL16   reserved4;    NATURAL16   CSCR1;    NATURAL16   CSAR2;    NATURAL16   rsvd2;    NATURAL32   CSMR2;    NATURAL16   reserved6;    NATURAL16   CSCR2;    NATURAL16   CSAR3;    NATURAL16   rsvd3;    NATURAL32   CSMR3;    NATURAL16   reserved8;    NATURAL16   CSCR3;    NATURAL16   CSAR4;    NATURAL16   rsvd4;    NATURAL32   CSMR4;    NATURAL16   reserved10;    NATURAL16   CSCR4;    NATURAL16   CSAR5;    NATURAL16   rsvd5;    NATURAL32   CSMR5;    NATURAL16   reserved12;    NATURAL16   CSCR5;    NATURAL16   CSAR6;    NATURAL16   rsvd6;    NATURAL32   CSMR6;    NATURAL16   reserved14;    NATURAL16   CSCR6;    NATURAL16   CSAR7;    NATURAL16   rsvd7;    NATURAL32   CSMR7;    NATURAL16   reserved16;    NATURAL16   CSCR7;    NATURAL16   reserved17;    NATURAL16   DMCR;} MCF5206_CS;#define MCF5206_CS_CSAR_BASE(a)     (((a)&0xFFFF0000)>>16)#define MCF5206_CS_CSMR_MASK_32M        (0x01FF0000)#define MCF5206_CS_CSMR_MASK_16M        (0x00FF0000)#define MCF5206_CS_CSMR_MASK_8M         (0x007F0000)#define MCF5206_CS_CSMR_MASK_4M         (0x003F0000)#define MCF5206_CS_CSMR_MASK_2M         (0x001F0000)#define MCF5206_CS_CSMR_MASK_1M         (0x000F0000)#define MCF5206_CS_CSMR_MASK_1024K      (0x000F0000)#define MCF5206_CS_CSMR_MASK_512K       (0x00070000)#define MCF5206_CS_CSMR_MASK_256K       (0x00030000)#define MCF5206_CS_CSMR_MASK_128K       (0x00010000)#define MCF5206_CS_CSMR_MASK_64K        (0x00000000)#define MCF5206_CS_CSMR_SC              (0x00000010)#define MCF5206_CS_CSMR_SD              (0x00000008)#define MCF5206_CS_CSMR_UC              (0x00000004)#define MCF5206_CS_CSMR_UD              (0x00000002)#define MCF5206_CS_CSMR1_CPU            (0x00000020)#define MCF5206_CS_CSCR_WS_MASK         (0x3C00)#define MCF5206_CS_CSCR_WS(a)           (((a)&0x0F)<<10)#define MCF5206_CS_CSCR_BRST            (0x0200)#define MCF5206_CS_CSCR_AA              (0x0100)#define MCF5206_CS_CSCR_PS_8            (0x0040)#define MCF5206_CS_CSCR_PS_16           (0x0080)#define MCF5206_CS_CSCR_PS_32           (0x0000)#define MCF5206_CS_CSCR_EMAA            (0x0020)#define MCF5206_CS_CSCR_ASET            (0x0010)#define MCF5206_CS_CSCR_WRAH            (0x0008)#define MCF5206_CS_CSCR_RDAH            (0x0004)#define MCF5206_CS_CSCR_WR              (0x0002)#define MCF5206_CS_CSCR_RD              (0x0001)#define MCF5206_CS_DMCR_WS_MASK         (0x3C00)#define MCF5206_CS_DMCR_WS(a)           (((a)&0x0F)<<10)#define MCF5206_CS_DMCR_BRST            (0x0200)

⌨️ 快捷键说明

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