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

📄 cpu_reg.h

📁 msLinux v1.0 可以在arm ads 下仿真运行的linux
💻 H
字号:
/* MShowTec - www.mshowtec.com
** msLinux cpu_reg.h ver1.0
** 20051221 lmjx create limiao@mshowtec.com
** 
*/

#ifndef MSLINUX_CPU_REG_H
#define MSLINUX_CPU_REG_H

/*ARMulate ver*/

/*******************************************************************************/
/*  Base addresses for standard memory-mapped peripherals                      */
/*******************************************************************************/
#define IntBase         	 0x0A000000  /* Interrupt Controller Base               */
#define TimerBase       0x0A800000  /* Counter/Timer Base                      */

/*******************************************************************************/
/* RPS interrupt Controller IRQ register                                       */
/*******************************************************************************/
#define IRQStatus      ((volatile unsigned *)IntBase)
#define IRQRawStatus   ((volatile unsigned *)(IntBase + 0x04))
#define IRQEnable      ((volatile unsigned *)(IntBase + 0x08))
#define IRQEnableSet   ((volatile unsigned *)(IntBase + 0x08))
#define IRQEnableClear ((volatile unsigned *)(IntBase + 0x0c))
#define IRQSoft        ((volatile unsigned *)(IntBase + 0x10))

#define FIQStatus      ((volatile unsigned *)(IntBase + 0x100))
#define FIQRawStatus   ((volatile unsigned *)(IntBase + 0x104))
#define FIQEnable      ((volatile unsigned *)(IntBase + 0x108))
#define FIQEnableSet   ((volatile unsigned *)(IntBase + 0x108))
#define FIQEnableClear ((volatile unsigned *)(IntBase + 0x10c))

/*******************************************************************************/
/* RPS interrupt sources                                                       */
/*******************************************************************************/
#define IRQUser         0x0001
#define IRQProgrammed   0x0002
#define IRQCommsRx      0x0004
#define IRQCommsTx      0x0008
#define IRQTimer1       0x0010
#define IRQTimer2       0x0020

/*******************************************************************************/
/*  Counter/timer registers                                                    */
/*******************************************************************************/
#define Timer1Load       ((volatile unsigned *)TimerBase)
#define Timer1Value      ((volatile unsigned *)(TimerBase + 0x04))
#define Timer1Control    ((volatile unsigned *)(TimerBase + 0x08))
#define Timer1Clear      ((volatile unsigned *)(TimerBase + 0x0C))

#define Timer2Load       ((volatile unsigned *)(TimerBase + 0x020))
#define Timer2Value      ((volatile unsigned *)(TimerBase + 0x024))
#define Timer2Control    ((volatile unsigned *)(TimerBase + 0x028))
#define Timer2Clear      ((volatile unsigned *)(TimerBase + 0x02C))

/*******************************************************************************/
/* Counter/Timer control register bits                                         */
/*******************************************************************************/
#define TimerEnable      0x80
#define TimerPeriodic    0x40
#define TimerPrescale0   0x00
#define TimerPrescale4   0x04
#define TimerPrescale8   0x08
#define TimerDisable     0
#define TimerCyclic      0x00

/*********************************************************************/
/* tty print */
/********************************************************************/
#define TtyOut	((volatile unsigned *)0x0d800020)

/******************************************************************************/
/*	arm linker args */
/******************************************************************************/

__weak extern unsigned long Load$$ESRAM$$Base;
__weak extern unsigned long Image$$ESRAM$$Base;
__weak extern unsigned long Image$$ESRAM$$Length;
 
__weak extern unsigned long Image$$ESRAM$$ZI$$Base;
__weak extern unsigned long Image$$ESRAM$$ZI$$Length;

__weak extern unsigned long Load$$MEMORY$$Base;
__weak extern unsigned long Image$$MEMORY$$Base;
__weak extern unsigned long Image$$MEMORY$$Length;
 
__weak extern unsigned long Image$$MEMORY$$ZI$$Base;
__weak extern unsigned long Image$$MEMORY$$ZI$$Length;


#endif

⌨️ 快捷键说明

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