📄 os_cpu.h
字号:
/*
*********************************************************************************************************
* uC/OS-II
* The Real-Time Kernel
*
*
* (c) Copyright 1992-2007, Micrium, Weston, FL
* All Rights Reserved
*
* Generic ARM Port
*
* File : OS_CPU.H
* Version : V1.82
* By : Jean J. Labrosse
* Jean-Denis Hatier
*
* For : ARM7 or ARM9
* Mode : ARM or Thumb
* Toolchain : RealView Development Suite
* RealView Microcontroller Development Kit (MDK)
* ARM Developer Suite (ADS)
* Keil uVision
*********************************************************************************************************
*/
#ifndef OS_CPU_H
#define OS_CPU_H
#ifdef OS_CPU_GLOBALS
#define OS_CPU_EXT
#else
#define OS_CPU_EXT extern
#endif
#ifndef OS_CPU_FPU_EN
#define OS_CPU_FPU_EN 0 /* HW floating point support disabled by default */
#endif
/*
*********************************************************************************************************
* INTERRUPT DISABLE TIME MEASUREMENT
*********************************************************************************************************
*/
#define OS_CPU_INT_DIS_MEAS_EN 0
/*
*********************************************************************************************************
* EXCEPTION DEFINES
*********************************************************************************************************
*/
/* ARM exception IDs */
#define OS_CPU_ARM_EXCEPT_RESET 0x00
#define OS_CPU_ARM_EXCEPT_UNDEF_INSTR 0x01
#define OS_CPU_ARM_EXCEPT_SWI 0x02
#define OS_CPU_ARM_EXCEPT_PREFETCH_ABORT 0x03
#define OS_CPU_ARM_EXCEPT_DATA_ABORT 0x04
#define OS_CPU_ARM_EXCEPT_ADDR_ABORT 0x05
#define OS_CPU_ARM_EXCEPT_IRQ 0x06
#define OS_CPU_ARM_EXCEPT_FIQ 0x07
#define OS_CPU_ARM_EXCEPT_MAX 0x08
/* ARM exception vectors addresses */
#define OS_CPU_ARM_EXCEPT_RESET_VECT_ADDR (OS_CPU_ARM_EXCEPT_RESET * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_UNDEF_INSTR_VECT_ADDR (OS_CPU_ARM_EXCEPT_UNDEF_INSTR * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_SWI_VECT_ADDR (OS_CPU_ARM_EXCEPT_SWI * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_PREFETCH_ABORT_VECT_ADDR (OS_CPU_ARM_EXCEPT_PREFETCH_ABORT * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_DATA_ABORT_VECT_ADDR (OS_CPU_ARM_EXCEPT_DATA_ABORT * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_ADDR_ABORT_VECT_ADDR (OS_CPU_ARM_EXCEPT_ADDR_ABORT * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_IRQ_VECT_ADDR (OS_CPU_ARM_EXCEPT_IRQ * 0x04 + 0x00)
#define OS_CPU_ARM_EXCEPT_FIQ_VECT_ADDR (OS_CPU_ARM_EXCEPT_FIQ * 0x04 + 0x00)
/* ARM exception handlers addresses */
#define OS_CPU_ARM_EXCEPT_RESET_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_RESET * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_UNDEF_INSTR_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_UNDEF_INSTR * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_SWI_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_SWI * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_PREFETCH_ABORT_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_PREFETCH_ABORT * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_DATA_ABORT_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_DATA_ABORT * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_ADDR_ABORT_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_ADDR_ABORT * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_IRQ_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_IRQ * 0x04 + 0x20)
#define OS_CPU_ARM_EXCEPT_FIQ_HANDLER_ADDR (OS_CPU_ARM_EXCEPT_FIQ * 0x04 + 0x20)
/* ARM "Jump To Self" assembled instruction */
#define OS_CPU_ARM_INSTR_JUMP_TO_SELF 0xEAFFFFFE
/* ARM "Jump To Exception Handler" assembled instruction*/
#define OS_CPU_ARM_INSTR_JUMP_TO_HANDLER 0xE59FF018
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -