📄 mcf5xxx.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 + -