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

📄 arm_arch.h

📁 在sharp 404开发板的串口测试代码
💻 H
字号:
/**********************************************************************
 * $Workfile:   ARM_arch.h  $
 * $Revision:   1.2  $
 * $Author:   kovitzp  $
 * $Date:   01 Apr 2002 09:32:06  $
 *
 * Project: General Utilities
 *
 * Description:
 *      This file contains constant and macro definitions peculiar
 *      to the ARM architecture. 
 *
 * Revision History:
 * $Log:   P:/PVCS6_6/archives/SOC/include/util/ARM_arch.h-arc  $
 * 
 *    Rev 1.2   01 Apr 2002 09:32:06   kovitzp
 * Added legal disclaimer.
 * 
 *    Rev 1.1   Feb 11 2002 17:48:14   BarnettH
 * Added Condition Code Flag bits
 * Added IRQ, FIQ mask bits
 * Added Thumb State bit
 * Added ARM Mode values, and Mode Test macro.
 * 
 *    Rev 1.0   Jan 31 2002 17:19:22   SuryanG
 * Initial revision.
 * 
 * SHARP MICROELECTRONICS OF THE AMERICAS MAKES NO REPRESENTATION
 * OR WARRANTIES WITH RESPECT TO THE PERFORMANCE OF THIS SOFTWARE,
 * AND SPECIFICALLY DISCLAIMS ANY RESPONSIBILITY FOR ANY DAMAGES, 
 * SPECIAL OR CONSEQUENTIAL, CONNECTED WITH THE USE OF THIS SOFTWARE.
 *
 * SHARP MICROELECTRONICS OF THE AMERICAS PROVIDES THIS SOFTWARE SOLELY 
 * FOR THE PURPOSE OF SOFTWARE DEVELOPMENT INCORPORATING THE USE OF A 
 * SHARP MICROCONTROLLER OR SYSTEM-ON-CHIP PRODUCT. USE OF THIS SOURCE
 * FILE IMPLIES ACCEPTANCE OF THESE CONDITIONS.
 *
 * COPYRIGHT (C) 2002 SHARP MICROELECTRONICS OF THE AMERICAS, INC.
 *      CAMAS, WA
 *********************************************************************/
#if !defined ARM_ARCH_H
#define ARM_ARCH_H

#include "SMA_types.h"

/**********************************************************************
 * ARM Hard Vector Address Locations
 *********************************************************************/
#define ARM_RESET_VEC   0x00
#define ARM_UNDEF_VEC   0x04
#define ARM_SWI_VEC     0x08
#define ARM_IABORT_VEC  0x0C
#define ARM_DABORT_VEC  0x10
#define ARM_IRQ_VEC     0x18
#define ARM_FIQ_VEC     0x1C

/**********************************************************************
 * ARM Current and Saved Processor Status Register Bits (xPSR)
 *********************************************************************/
 // ARM Condition Code Flag Bits (xPSR bits [31:27]) 
#define ARM_CCFLG_N     _BIT(31)
#define ARM_CCFLG_Z     _BIT(30)
#define ARM_CCFLG_C     _BIT(29)
#define ARM_CCFLG_V     _BIT(28)
#define ARM_CCFLG_Q     _BIT(27)

 // ARM Interrupt Disable Bits (xPSR bits [7:6]) 
#define ARM_IRQ         _BIT(7)
#define ARM_FIQ         _BIT(6)

 // ARM Thumb State Bit (xPSR bit [5]) 
#define ARM_THUMB       _BIT(5)

 // ARM Processor Mode Values (xPSR bits [4:0]) 
 // Use ARM_MODE macro and constants to test ARM mode
 // Example, where tmp has xPSR value:
 // if (ARM_MODE(tmp, ARM_MODE_IRQ))
 //     statement;
#define ARM_MODE(m,n)   (((m) & _BITMASK(5)) == (n))
#define ARM_MODE_USR    0x10
#define ARM_MODE_FIQ    0x11
#define ARM_MODE_IRQ    0x12
#define ARM_MODE_SVC    0x13
#define ARM_MODE_ABT    0x17
#define ARM_MODE_UND    0x1B
#define ARM_MODE_SYS    0x1F

#endif /* ARM_ARCH_H */

⌨️ 快捷键说明

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