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

📄 mcf5xxx.h

📁 motorola 针对coldfire 5275 评估板的Dbug bootloader源程序
💻 H
字号:
/*
 * File:    src/cpu/coldfire/mcf5xxx/mcf5xxx.h
 * Purpose: Definitions for ColdFire dBUG
 *
 * Notes:   This file automatically included.
 *
 */

#ifndef _SRC_CPU_COLDFIRE_MCF5XXX_H_
#define _SRC_CPU_COLDFIRE_MCF5XXX_H_

/*******************************************************************/
/*
 * Include the inline assembler
 */
#define CMDLINE_ASM

/*
 * Defines used by register display functions
 */
#define REGREAD     (1)
#define REGWRITE    (0)

/*
 * Definition of registers of the MCF5XXX.  Note that not all
 * the registers accessible on ColdFire are actually listed
 * here; 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.
 *
 * The order is important here because mcf5xxx_lo.s uses a MOVEM
 * instruction.
 */
typedef struct
{
    /* General Purpose Registers */
    uint32  d0, d1, d2, d3, d4, d5, d6, d7;
    uint32  a0, a1, a2, a3, a4, a5, a6, a7;

#ifdef CPU_MCF_FPU
    /* Floating Point Data Registers */
    uint32 fp0, fp0l, fp1, fp1l, fp2, fp2l, fp3, fp3l;
    uint32 fp4, fp4l, fp5, fp5l, fp6, fp6l, fp7, fp7l;

    /* Floating Point Control Register */
    uint32 fpcr;
    
    /* Floating Point Status Register */
    uint32 fpsr;

    /* Floating Point Instruction Address Register */
    uint32 fpiar;
#endif

    /* Program Counter */
    uint32  pc;

    /* Status Register */
    uint16  sr;

} REGISTERS;

/*******************************************************************/
#if     (defined(CPU_MCF5204))
/*
 * Commands to modify and display the MCF5204 internal peripherals.
 */
void
mcf5204_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5204_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5204_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

/*******************************************************************/
#elif   (defined(CPU_MCF5206) || defined(CPU_MCF5206e))
/*
 * Commands to modify and display the MCF5206 internal peripherals.
 */
void
mcf5206_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5206_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5206_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

/*******************************************************************/
#elif   (defined(CPU_MCF5208))
/*
 * Commands to modify and display the MCF5208 internal peripherals.
 */
void
mcf5208_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5208_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5208_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      1
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF532X))
/*
 * Commands to modify and display the MCF532x internal peripherals.
 */
void
mcf532x_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf532x_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf532x_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      1
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF5211) || defined(CPU_MCF5212) || defined(CPU_MCF5213))
/*
 * Commands to modify and display the MCF5213 internal peripherals.
 */

void mcf5213_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5213_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5213_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#include "mcf5xxx_uart.h"
#include "../mcf5213/clock.h"

/*******************************************************************/
#elif   (defined(CPU_MCF5249))
/*
 * Commands to modify and display the MCF5272 internal peripherals.
 */
void
mcf5249_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5249_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5249_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,
    
#define TIMER_NUM_CH    2

/*******************************************************************/
#elif   (defined(CPU_MCF5272))
/*
 * Commands to modify and display the MCF5272 internal peripherals.
 */
void
mcf5272_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5272_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5272_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      1
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF5282))
/*
 * Commands to modify and display the MCF5282 internal peripherals.
 */
void
mcf5282_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5282_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5282_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      1
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF523X))
/*
 * Commands to modify and display the MCF523x internal peripherals.
 */
void
mcf523x_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf523x_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf523x_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      1
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF5271))
/*
 * Commands to modify and display the MCF5271 internal peripherals.
 */
void
mcf5271_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5271_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5271_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      1
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF5275))
/*
 * Commands to modify and display the MCF5275 internal peripherals.
 */
void
mcf5275_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5275_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5275_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      2
#define TIMER_NUM_CH    4

/*******************************************************************/
#elif   (defined(CPU_MCF5307) || defined(CPU_MCF5307j20))
/*
 * Commands to modify and display the MCF5307 internal peripherals.
 */
void
mcf5307_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5307_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5307_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define TIMER_NUM_CH    2

/*******************************************************************/
#elif   (defined(CPU_MCF5407))
/*
 * Commands to modify and display the MCF5407 internal peripherals.
 */
void
mcf5407_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf5407_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf5407_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,
    
#define TIMER_NUM_CH    2

/*******************************************************************/
#elif (defined(CPU_MCF548X) || defined(CPU_MCF547X))

void
mcf548x_irmd (int, char **);

#define CPU_CMD_IRMD    \
    {"irmd",3,0,2,0,mcf548x_irmd, "Internal Reg Mod/Disp", "module.register <data>"},   \
    {"ird" ,3,0,1,2,mcf548x_irmd, "", ""}

#define CPU_CMDS_ALL    \
    CPU_CMD_IRMD,

#define FEC_NUM_CH      2
#define TIMER_NUM_CH    4

/*******************************************************************/

#else
#define CPU_CMDS_ALL        /* empty -- no CPU-specific commands */
#endif

/*******************************************************************/

#ifndef CPU_SETCMDS_ALL
#define CPU_SETCMDS_ALL
#endif

/*******************************************************************/

#endif  /* _SRC_CPU_COLDFIRE_MCF5XXX_H_ */

⌨️ 快捷键说明

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