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

📄 armul_access.h

📁 realview22.rar
💻 H
字号:
/*
 * armul_access.h   - peripheral and memory access-types.
 *
 * RCS $Revision: 1.8.6.4.180.1 $
 * Checkin $Date: 2003/07/07 13:07:17 $
 * Revising $Author: dsinclai $
 * Copyright (C) 2000 - 2001 ARM Ltd.  All rights reserved.
 */



#ifndef armulif__armul_access__h
#define armulif__armul_access__h

#if defined(__cplusplus) && !defined(CLX_CPP_LINKAGE)
extern "C" {
#endif

/* --- These are the same as in armul_mem.h --- */

/* acc_Nrw */
#define ACCESS_READ              0x0000
#define ACCESS_WRITE             0x0010

#define ACCESS_SEQ               0x0020
# define ACCESS_NSEQ             0x0000

/* acc_Nmreq */
#define ACCESS_IDLE              0x0040

#define ACCESS_CYCLE_MASK        (ACCESS_SEQ|ACCESS_IDLE)
#define ACCESS_IS_IDLE(a)  (((a) &  ACCESS_CYCLE_MASK) == ACCESS_IDLE)

/* acc_NotAccount was (1u << 31) */
#define ACCESS_REAL              0x0000
#define ACCESS_UNREAL            0x0080

/* acc_Nopc must be active-high for armul920/biu920.c */
#define ACCESS_INSTR             0x0000
#define ACCESS_DATA              0x0100
#define ACCESS_IS_DATA(t)       ((t) & ACCESS_DATA)
#define ACCESS_IS_INSTR(t)        (!ACCESS_IS_DATA(t))

/* acc_Ntrans is used in ARM9 models */
#define ACCESS_NTRANS            0x0200

/* acc_rlw */
#define ACCESS_LOCK              0x0400


/* - for debugger-access - */
#define ACCESS_PHYSICAL          0x100000
#define ACCESS_VIRTUAL           0x000000
/* - for debugger-access - */
# define ACCESS_SPECULATIVE       0x200000 /* acc_spec */
/*# define ACCESS_NEW               0x400000 */ /* acc_new (StrongARM) */

/* --- These are not the same -- */
#define ACCESS_SIZE_MASK         0x000F
#define ACCESS_BYTE              0x0003
#define ACCESS_HALFWORD          0x0004
#define ACCESS_WORD              0x0005
#define ACCESS_DWORD             0x0006
/* Gives log2(width_in_bits) */
#define ACCESS_LOGWIDTH(at) ((ACCESS_SIZE(at)))
/* inverse of the above */
#define LOGWIDTH2ACCESS(wi) (wi) 

#define ACCESS_NUM_BYTES(at) (1 << ( (ACCESS_SIZE(at)) - ACCESS_BYTE ) )

#define ACCESS_READ_DWORD        (ACCESS_READ | ACCESS_DWORD)
#define ACCESS_READ_WORD         (ACCESS_READ | ACCESS_WORD)
#define ACCESS_READ_HALFWORD     (ACCESS_READ | ACCESS_HALFWORD)
#define ACCESS_READ_BYTE         (ACCESS_READ | ACCESS_BYTE)

#define ACCESS_WRITE_DWORD       (ACCESS_WRITE | ACCESS_DWORD)
#define ACCESS_WRITE_WORD        (ACCESS_WRITE | ACCESS_WORD)
#define ACCESS_WRITE_HALFWORD    (ACCESS_WRITE | ACCESS_HALFWORD)
#define ACCESS_WRITE_BYTE        (ACCESS_WRITE | ACCESS_BYTE)
 
#define ACCESS_REAL_WRITE_WORD        (ACCESS_WRITE_WORD | ACCESS_REAL)
#define ACCESS_REAL_WRITE_HALFWORD    (ACCESS_WRITE_HALFWORD | ACCESS_REAL)
#define ACCESS_REAL_WRITE_BYTE        (ACCESS_WRITE_BYTE | ACCESS_REAL)

#define ACCESS_INSTR_ARM         (ACCESS_INSTR | ACCESS_WORD)
#define ACCESS_INSTR_THUMB       (ACCESS_INSTR | ACCESS_HALFWORD)

#define ACCESS_IS_WRITE(t)       ((t) & ACCESS_WRITE)
#define ACCESS_IS_READ(t)        (!ACCESS_IS_WRITE(t))
#define ACCESS_IS_SEQ(t)         ((t) & ACCESS_SEQ)
#define ACCESS_SIZE(t)           ((t) & ACCESS_SIZE_MASK)
#define ACCESS_SIZE_IN_BYTES(t)  (1 << (ACCESS_SIZE(t) - 3))
#define ACCESS_SIZE_RW(t)        ((t) & (ACCESS_SIZE_MASK | ACCESS_WRITE))
#define ACCESS_IS_UNREAL(t)        ((t) & ACCESS_UNREAL)
#define ACCESS_IS_REAL(t)        (!ACCESS_IS_UNREAL(t))

#define ACCESS_IS_MREQ(t)        ( !((t) & ACCESS_IDLE)  )


#if defined(__cplusplus) && !defined(CLX_CPP_LINKAGE)
}
#endif

#endif /*ndef armulif__armul_access__h */
/* EOF armul_access.h */






⌨️ 快捷键说明

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