📄 csl_emuhal.h
字号:
/**************************************************************************\* Copyright (C) 2002 Texas Instruments Incorporated.* All Rights Reserved*--------------------------------------------------------------------------* MODULE NAME... EMU* FILENAME...... csl_emuhal.h* DATE CREATED.. 05/12/2003* LAST MODIFIED. 05/20/2003* PROJECT....... Chip Support Library* COMPONENT..... Hardware Abstraction Layer* PREREQUISITES.**--------------------------------------------------------------------------* DESCRIPTION:* CSL Hardware Abstraction Layer interface for the EMU module**--------------------------------------------------------------------------* REGISTERS:** DBGSTAT - DBGSTAT {Debug Status Register}* MFREG0 - MFREG0 {Miscellaneous Function Register}\**************************************************************************/#ifndef _CSL_EMUHAL_H_#define _CSL_EMUHAL_H_/**************************************************************************\* Private Macros and Include files\**************************************************************************/#include <csl_stdinchal.h>#include <csl_chiphal.h>#if (EMU_SUPPORT)/**************************************************************************\* Module level register/field access macros\**************************************************************************/ /* ----------------- */ /* FIELD MAKE MACROS */ /* ----------------- */ #define EMU_FMK(REG, FIELD, x) \ _PER_FMK(EMU, ##REG, ##FIELD, x) #define EMU_FMKS(REG, FIELD, SYM) \ _PER_FMKS(EMU, ##REG, ##FIELD, ##SYM) /* -------------------------------- */ /* RAW REGISTER/FIELD ACCESS MACROS */ /* -------------------------------- */ #define EMU_ADDR(REG) _EMU_##REG##_ADDR #define EMU_RGET(REG) \ _PER_RGET(_EMU_##REG##_ADDR, EMU, ##REG) #define EMU_RSET(REG, x) \ _PER_RSET(_EMU_##REG##_ADDR, EMU, ##REG, x) #define EMU_FGET(REG, FLD) _EMU_##REG##_FGET(##FLD) #define EMU_FSET(REG, FLD, x) _EMU_##REG##_FSET(##FLD, x) #define EMU_FSETS(REG, FLD, SYM) \ _EMU_##REG##_FSETS(##FLD, ##SYM) /* ------------------------------------------ */ /* ADDRESS BASED REGISTER/FIELD ACCESS MACROS */ /* ------------------------------------------ */ #define EMU_RGETA(addr, REG) _PER_RGET(addr, EMU, ##REG) #define EMU_RSETA(addr, REG, x) _PER_RSET(addr, EMU, ##REG,x) #define EMU_FGETA(addr, REG, FLD) \ _PER_FGET(addr, EMU, ##REG,##FLD) #define EMU_FSETA(addr, REG, FLD, x) \ _PER_FSET(addr, EMU, ##REG, ##FLD, x) #define EMU_FSETSA(addr, REG, FLD, SYM) \ _PER_FSETS(addr, EMU, ##REG, ##FLD, ##SYM) /* ----------------------------------------- */ /* HANDLE BASED REGISTER/FIELD ACCESS MACROS */ /* ----------------------------------------- */ #define EMU_ADDRH(h, REG) \ ((void *)(&(((EMU_PrivateObj *)h)->baseAddr[_EMU_##REG##_OFFSET]))) #define EMU_RGETH(h, REG) \ EMU_RGETA(EMU_ADDRH(h, ##REG), ##REG) #define EMU_RSETH(h, REG, x) \ EMU_RSETA(EMU_ADDRH(h, ##REG), ##REG, x) #define EMU_FGETH(h, REG, FIELD) \ EMU_FGETA(EMU_ADDRH(h, ##REG), ##REG, ##FIELD) #define EMU_FSETH(h, REG, FIELD,x) \ EMU_FSETA(EMU_ADDRH(h, ##REG), ##REG, ##FIELD, x) #define EMU_FSETSH(h, REG, FIELD, SYM) \ EMU_FSETSA(EMU_ADDRH(h, ##REG), ##REG, ##FIELD, ##SYM)/**************************************************************************\** _____________________* | |* | D B G S T A T |* |___________________|** DBGSTAT - DBGSTAT {Debug Status Register}** FIELDS (msb -> lsb)* (r) DBGMST Read MFREG0:DBGM state* (r) EALLOWST Read MFREG0:EALLOW state\**************************************************************************/ #define _EMU_DBGSTAT_ADDR (0x01BC0000) #define _EMU_DBGSTAT (*(Uint32 *)_EMU_DBGSTAT_ADDR) #define _EMU_DBGSTAT_DBGMST_MASK (0x00020000u) #define _EMU_DBGSTAT_DBGMST_SHIFT (0x00000011u) #define EMU_DBGSTAT_DBGMST_OF(x) _VALUEOF(x) #define _EMU_DBGSTAT_EALLOWST_MASK \ (0x00010000u) #define _EMU_DBGSTAT_EALLOWST_SHIFT \ (0x00000010u) #define EMU_DBGSTAT_EALLOWST_OF(x) \ _VALUEOF(x) #define EMU_DBGSTAT_OF(x) _VALUEOF(x) #define _EMU_DBGSTAT_FGET(FLD) \ _PER_FGET(_EMU_DBGSTAT_ADDR, EMU, DBGSTAT, ##FLD) #define _EMU_DBGSTAT_FSET(FLD, f) \ _PER_FSET(_EMU_DBGSTAT_ADDR, EMU, DBGSTAT, ##FLD,f) #define _EMU_DBGSTAT_FSETS(FLD, SYM) \ _PER_FSETS(_EMU_DBGSTAT_ADDR, EMU, DBGSTAT, ##FLD, ##SYM)/**************************************************************************\** _____________________* | |* | M F R E G 0 |* |___________________|** MFREG0 - MFREG0 {Miscellaneous Function Register}** FIELDS (msb -> lsb)* (w) DBGMLD Load qualifier for the DBGM bit* (w) DBGM Set a mask to inhibit debug access* (w) ABRTILD Load qualifier for the ABORTI bit* (w) ABRTI set the bit to ABORT a lost ISR* (w) EALLOWLD Load qualifier for the EALLOW bit* (w) EALLOW Set the bit to allow Emulation access\**************************************************************************/ #define _EMU_MFREG0_ADDR (0x01BC0014) #define _EMU_MFREG0 (*(Uint32 *)_EMU_MFREG0_ADDR) #define _EMU_MFREG0_DBGMLD_MASK (0x08000000u) #define _EMU_MFREG0_DBGMLD_SHIFT (0x0000001Bu) #define EMU_MFREG0_DBGMLD_OF(x) _VALUEOF(x) #define _EMU_MFREG0_DBGM_MASK (0x04000000u) #define _EMU_MFREG0_DBGM_SHIFT (0x0000001Au) #define EMU_MFREG0_DBGM_OF(x) _VALUEOF(x) #define _EMU_MFREG0_ABRTILD_MASK (0x00040000u) #define _EMU_MFREG0_ABRTILD_SHIFT (0x00000012u) #define EMU_MFREG0_ABRTILD_OF(x) _VALUEOF(x) #define _EMU_MFREG0_ABRTI_MASK (0x00020000u) #define _EMU_MFREG0_ABRTI_SHIFT (0x00000011u) #define EMU_MFREG0_ABRTI_OF(x) _VALUEOF(x) #define _EMU_MFREG0_EALLOWLD_MASK (0x00004000u) #define _EMU_MFREG0_EALLOWLD_SHIFT \ (0x0000000Eu) #define EMU_MFREG0_EALLOWLD_OF(x) _VALUEOF(x) #define _EMU_MFREG0_EALLOW_MASK (0x00002000u) #define _EMU_MFREG0_EALLOW_SHIFT (0x0000000Du) #define EMU_MFREG0_EALLOW_OF(x) _VALUEOF(x) #define EMU_MFREG0_OF(x) _VALUEOF(x) #define EMU_MFREG0_RMK(dbgmld, dbgm, abrtild, abrti, eallowld, eallow) ((Uint32) (\ _PER_FMK(EMU, MFREG0, DBGMLD, dbgmld) \ |_PER_FMK(EMU, MFREG0, DBGM, dbgm) \ |_PER_FMK(EMU, MFREG0, ABRTILD, abrtild) \ |_PER_FMK(EMU, MFREG0, ABRTI, abrti) \ |_PER_FMK(EMU, MFREG0, EALLOWLD, eallowld) \ |_PER_FMK(EMU, MFREG0, EALLOW, eallow) \ ) \ ) #define _EMU_MFREG0_FGET(FLD) \ _PER_FGET(_EMU_MFREG0_ADDR, EMU, MFREG0, ##FLD) #define _EMU_MFREG0_FSET(FLD, f) \ _PER_FSET(_EMU_MFREG0_ADDR, EMU, MFREG0, ##FLD,f) #define _EMU_MFREG0_FSETS(FLD, SYM) \ _PER_FSETS(_EMU_MFREG0_ADDR, EMU, MFREG0, ##FLD, ##SYM)#endif /* (EMU_SUPPORT) */#endif /* _CSL_EMUHAL_H_ *//**************************************************************************\* End of csl_emuhal.h\**************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -