📄 m68k.h
字号:
<HTML><HEAD><TITLE>/home/asysweb/public_html/cortex/ports/m68k/src/m68k.h</TITLE></HEAD><BODY><pre><font color="#6920ac">/*************************************************************************/</font><font color="#6920ac">/* */</font><font color="#6920ac">/* Copyright (c) 1997-1999 Australian Real Time Embedded Systems */</font><font color="#6920ac">/* */</font><font color="#6920ac">/* PROPRIETARY RIGHTS of Australian Real Time Embedded Systems */</font><font color="#6920ac">/* are involved in the subject matter of this material. All reproduction,*/</font><font color="#6920ac">/* manufacturing, use, and sales rights pertaining to this subject matter*/</font><font color="#6920ac">/* are governed by the license agreement. The recipient of this software */</font><font color="#6920ac">/* implicitly accepts the terms of the license. */</font><font color="#6920ac">/* */</font><font color="#6920ac">/*************************************************************************/</font><font color="#6920ac">/************************************************************************* * * FILE NAME * * m68k.h * * SYSTEM COMPONENT * * Motorola 68000 Micro-controller Family * * DESCRIPTION * * This file contains data and constant definitions specific * for Motorola 68000 platform. * * SCCS HISTORY * * @(#)m68k.h 1.9, 09/14/99, 19:01:40 * * AUTHOR * * Vadim N. Azarovsky * * CREATED * * 14-Feb-1998 by Vadim N. Azarovsky * * REVISION HISTORY * * NAME DATE REMARKS * **************************************************************************/</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> __M68K__H</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="__M68K__H">__M68K__H</a></font><b><font color='DarkGreen'>#ifdef</font></b><font color="maroon"> __cplusplus</font><i>extern</i> <font color="DarkGreen">"C"</font> {<b><font color='DarkGreen'>#endif</font></b><font color="maroon"> <font color="#6920ac">/* __cplusplus */</font></font><b><font color='DarkGreen'>#include</font></b> <a href="crt_defs.h.FIND-INC"><font color="blue">"crt_defs.h"</font></a><b><font color='DarkGreen'>#if</font></b><font color="maroon"> (CRTX_CPU_FAMILY==CRTX_M68000)</font><font color="#6920ac">/*********************** * GLOBAL CONSTANSTS * ***********************/</font><font color="#6920ac">/* * ---<<< CPU SPECIFIC DEFINITIONS >>>--- */</font><b><font color='DarkGreen'>#ifndef</font></b><font color="maroon"> M68K_MBASE</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_MBASE">M68K_MBASE</a></font> 0xFFF000 <b><font color='DarkGreen'>#endif</font></b><font color="maroon"></font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_USER_VEC_NUM">M68K_USER_VEC_NUM</a></font> 0x40 <font color="#6920ac">/* == User Vector 0 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_SPURIOUS">M68K_VECTOR_SPURIOUS</a></font> (M68K_USER_VEC_NUM+0x0) <font color="#6920ac">/* Spurious intr */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_IRQ7">M68K_VECTOR_IRQ7</a></font> (M68K_USER_VEC_NUM+0x1) <font color="#6920ac">/* IRQ7 (non-maskable) */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT1">M68K_VECTOR_INT1</a></font> (M68K_USER_VEC_NUM+0x2) <font color="#6920ac">/* Ext. INT1 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT2">M68K_VECTOR_INT2</a></font> (M68K_USER_VEC_NUM+0x3) <font color="#6920ac">/* Ext. INT2 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT3">M68K_VECTOR_INT3</a></font> (M68K_USER_VEC_NUM+0x4) <font color="#6920ac">/* Ext. INT3 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT4">M68K_VECTOR_INT4</a></font> (M68K_USER_VEC_NUM+0x5) <font color="#6920ac">/* Ext. INT4 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT5">M68K_VECTOR_INT5</a></font> (M68K_USER_VEC_NUM+0x6) <font color="#6920ac">/* Ext. INT5 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT6">M68K_VECTOR_INT6</a></font> (M68K_USER_VEC_NUM+0x7) <font color="#6920ac">/* Ext. INT6 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT7">M68K_VECTOR_INT7</a></font> (M68K_USER_VEC_NUM+0x8) <font color="#6920ac">/* Ext. INT7 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_INT8">M68K_VECTOR_INT8</a></font> (M68K_USER_VEC_NUM+0x9) <font color="#6920ac">/* Ext. INT8 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_TINT0">M68K_VECTOR_TINT0</a></font> (M68K_USER_VEC_NUM+0xA) <font color="#6920ac">/* timer 1 */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_TINT1">M68K_VECTOR_TINT1</a></font> (M68K_USER_VEC_NUM+0xB) <font color="#6920ac">/* timer 2 */</font> <font color="#6920ac">/* Internal UART interrupt needs to be programmed * in the UART UIVR interrupt vector register. */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_UART">M68K_VECTOR_UART</a></font> (M68K_USER_VEC_NUM+0xC) <b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_VECTOR_MBUS">M68K_VECTOR_MBUS</a></font> (M68K_USER_VEC_NUM+0xD) <font color="#6920ac">/* M-Bus module */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTR_VECTORS">M68K_INTR_VECTORS</a></font> 256 <font color="#6920ac">/* number of interrupt vectors */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTR_DISABLE">M68K_INTR_DISABLE</a></font> 7 <font color="#6920ac">/* max interrupt priority level */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTR_ENABLE">M68K_INTR_ENABLE</a></font> 0 <font color="#6920ac">/* all interrupts are enabled */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTR_NON_MASKABLE">M68K_INTR_NON_MASKABLE</a></font> 7 <font color="#6920ac">/* non-maskable interrupt priority */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTR_MAX_MASKABLE_PRIO">M68K_INTR_MAX_MASKABLE_PRIO</a></font> 6 <font color="#6920ac">/* highest maskable interupt priority level */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTR_MIN_MASKABLE_PRIO">M68K_INTR_MIN_MASKABLE_PRIO</a></font> 1 <font color="#6920ac">/* lowest maskable interupt priority level */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_MBAR_REGISTER">M68K_MBAR_REGISTER</a></font> \ ((m68k_MBARRegister_Type*)(0xF2))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_SCR_REGISTER">M68K_SCR_REGISTER</a></font> \ ((m68k_SCRRegister_Type*)(0xF4))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_PORT_REGISTER">M68K_PORT_REGISTER</a></font> \ ((m68k_PortRegister_Type*)(<a href="#M68K_MBASE">M68K_MBASE</a>+0x10)) <b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_INTERRUPT_CONTROL_REGISTER_BASE">M68K_INTERRUPT_CONTROL_REGISTER_BASE</a></font> \ ((m68k_InterruptControlRegister_Type*)(<a href="#M68K_MBASE">M68K_MBASE</a>+0x20))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_CHIP_SELECT_REGISTER">M68K_CHIP_SELECT_REGISTER</a></font> \ ((m68k_ChipSelectRegister_Type*)(<a href="#M68K_MBASE">M68K_MBASE</a>+0x40))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_UART_REGISTER">M68K_UART_REGISTER</a></font> \ ((m68k_UARTRegister_Type*)(<a href="#M68K_MBASE">M68K_MBASE</a>+0x100))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TIMER_REGISTER">M68K_TIMER_REGISTER</a></font> \ ((m68k_TimerRegister_Type*)(<a href="#M68K_MBASE">M68K_MBASE</a>+0x120))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_M_BUS_REGISTER">M68K_M_BUS_REGISTER</a></font> \ ((m68k_MBusModuleRegister_Type*)(<a href="#M68K_MBASE">M68K_MBASE</a>+0x140))<font color="#6920ac">/* * Timer Module Registers */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CAPTURE_DISABLE">M68K_TMR_CAPTURE_DISABLE</a></font> 0<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CAPTURE_RISING_EDGE">M68K_TMR_CAPTURE_RISING_EDGE</a></font> ( 0 | CRTX_BIT6)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CAPTURE_FALLING_EDGE">M68K_TMR_CAPTURE_FALLING_EDGE</a></font> (CRTX_BIT7 | 0)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CAPTURE_ANY_EDGE">M68K_TMR_CAPTURE_ANY_EDGE</a></font> (CRTX_BIT7 | CRTX_BIT6)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_TOGGLE_OUTPUT">M68K_TMR_TOGGLE_OUTPUT</a></font> (CRTX_BIT5)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_PULSE_OUTPUT">M68K_TMR_PULSE_OUTPUT</a></font> 0<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_ENABLE_REFERENCE_INTR">M68K_TMR_ENABLE_REFERENCE_INTR</a></font> (CRTX_BIT4)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_DISABLE_REFERENCE_INTR">M68K_TMR_DISABLE_REFERENCE_INTR</a></font> 0<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_TIMER_AUTO_RESTART">M68K_TMR_TIMER_AUTO_RESTART</a></font> (CRTX_BIT3)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_TIMER_FREE_RUN">M68K_TMR_TIMER_FREE_RUN</a></font> (0)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CLOCK_OFF">M68K_TMR_CLOCK_OFF</a></font> ( 0 | 0)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CLOCK_SYSTEM">M68K_TMR_CLOCK_SYSTEM</a></font> ( 0 | CRTX_BIT1)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CLOCK_SYSTEM_DIV_16">M68K_TMR_CLOCK_SYSTEM_DIV_16</a></font> (CRTX_BIT2 | 0)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_CLOCK_EXTERNAL">M68K_TMR_CLOCK_EXTERNAL</a></font> (CRTX_BIT2 | CRTX_BIT1)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_TIMER_ENABLE">M68K_TMR_TIMER_ENABLE</a></font> (CRTX_BIT1)<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_EVENT_REF">M68K_TMR_EVENT_REF</a></font> 2<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="M68K_TMR_EVENT_CAP">M68K_TMR_EVENT_CAP</a></font> 1<font color="#6920ac">/* * ---<<< CORTEX SPECIFIC DEFINITIONS >>>--- */</font><font color="#6920ac">/* * CPU specific definitions for Hardware Interrupt Manager (HRDI) */</font><b><font color='DarkGreen'>#undef</font></b><font color="maroon"> HRDI_INTR_MASK_MODEL <font color="#6920ac">/* interrupt mask model */</font></font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_PRIO_LEVEL_MODEL">HRDI_PRIO_LEVEL_MODEL</a></font> <font color="#6920ac">/* interrupt priority model */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_DISABLE">HRDI_INTR_DISABLE</a></font> M68K_INTR_DISABLE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_ENABLE">HRDI_INTR_ENABLE</a></font> M68K_INTR_ENABLE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_VECTORS">HRDI_INTR_VECTORS</a></font> M68K_INTR_VECTORS<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_NUM_LISR">HRDI_NUM_LISR</a></font> ENVI_HRDI_NUM_LISR<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_VECTORS_BASE">HRDI_INTR_VECTORS_BASE</a></font> M68K_INTR_VECTORS_BASE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_NON_MASKABLE">HRDI_INTR_NON_MASKABLE</a></font> M68K_INTR_NON_MASKABLE<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_MAX_MASKABLE_PRIO">HRDI_INTR_MAX_MASKABLE_PRIO</a></font> M68K_INTR_MAX_MASKABLE_PRIO<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_INTR_MIN_MASKABLE_PRIO">HRDI_INTR_MIN_MASKABLE_PRIO</a></font> M68K_INTR_MIN_MASKABLE_PRIO<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="HRDI_MIN_STACK_SIZE">HRDI_MIN_STACK_SIZE</a></font> (100*sizeof(crtx_Uint32_t))<b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="THRD_MIN_STACK_SIZE">THRD_MIN_STACK_SIZE</a></font> (100*sizeof(crtx_Uint32_t))<font color="#6920ac">/* * CPU specific definitions for Software Interrupt Manager (SFTI) */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="SFTI_INTR_VECTORS">SFTI_INTR_VECTORS</a></font> 32 <font color="#6920ac">/* number for software interrupt vectors */</font><b><font color='DarkGreen'>#define</font></b> <font color="maroon"><a name="SFTI_MIN_STACK_SIZE">SFTI_MIN_STACK_SIZE</a></font> HRDI_MIN_STACK_SIZE<font color="#6920ac">/*********************** * GLOBAL DATA TYPES * ***********************/</font><font color="#6920ac">/* * System Configuratin Registers
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -