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

📄 csl_legacyhal.h

📁 奇想达QXD-DM642开发板提供的串口uart收发源码。
💻 H
📖 第 1 页 / 共 5 页
字号:
/*
 *  Copyright 2001 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
/* "@(#) DSP/BIOS 4.60.22 12-07-01 (barracuda-j15)" */
/******************************************************************************\
*           Copyright (C) 2000 Texas Instruments Incorporated.
*                           All Rights Reserved
*------------------------------------------------------------------------------
* FILENAME...... csl_legacyhal.h
* DATE CREATED.. 09/01/2000
* LAST MODIFIED. 03/08/2002
\******************************************************************************/
#ifndef _CSL_LEGACYHAL_H_
#define _CSL_LEGACYHAL_H_

#include "csl_stdinc.h"
#include "csl_chiphal.h"

/*----------------------------------------------------------------------------*/
/* Legacy HAL support macro definitions                                       */
/*----------------------------------------------------------------------------*/
  #define _VALUEOF(x) ((Uint32)(x))

#ifndef UNREFERENCED_PARAMETER
  #define UNREFERENCED_PARAMETER(P)    ((P)=(P))
#endif

#ifndef REG32
  #define REG32(addr) (*(volatile unsigned int*)(addr))
  #define REG16(addr) (*(volatile unsigned short*)(addr))
  #define REG8(addr) (*(volatile unsigned char*)(addr))
#endif

/* memory mapped register macros */
#define HFIELD_GET(RegAddr,FIELD) (Uint32)( \
  (REG32(RegAddr)&##FIELD##_MASK)>>##FIELD##_SHIFT \
)

#define HFIELD_SET(RegAddr,FIELD,Val) REG32(RegAddr)=(Uint32)( \
  (REG32(RegAddr)&~##FIELD##_MASK)| \
  (((Uint32)(Val)<<##FIELD##_SHIFT)&##FIELD##_MASK) \
)

#define HFIELD_SHIFT(FIELD,Val) \
  (((Uint32)(Val)<<##FIELD##_SHIFT)&##FIELD##_MASK)

#define HREG32_GET(RegAddr) \
  (Uint32)REG32(RegAddr)

#define HREG32_SET(RegAddr,Val) \
  REG32(RegAddr)=(Uint32)(Val)

/* control register macros */
#define HCRFIELD_GET(CRREG,FIELD) (Uint32)( \
  (((CRREG)&##FIELD##_MASK)>>##FIELD##_SHIFT) \
)



#define HCRFIELD_SET(CRREG,FIELD,Val) CRREG = (Uint32)( \
  ((CRREG)&~##FIELD##_MASK)| \
  (((Uint32)(Val)<<##FIELD##_SHIFT)&##FIELD##_MASK) \
)

#define HCRFIELD_SHIFT(FIELD,Val) \
  (((Uint32)(Val)<<##FIELD##_SHIFT)&##FIELD##_MASK)

#define HCRREG32_GET(CRREG) \
  (Uint32)(CRREG)

#define HCRREG32_SET(CRREG,Val) \
  (CRREG)=(Uint32)(Val)


/******************************************************************************\
*           Copyright (C) 1999-2000 Texas Instruments Incorporated.
*                           All Rights Reserved
*------------------------------------------------------------------------------
* FILENAME...... chiphal.h
* DATE CREATED.. 08/19/1999 
* LAST MODIFIED. 03/08/2000
*   
*------------------------------------------------------------------------------
* DESCRIPTION:  (HAL interface file for the CHIP module)
* 
* CHIP Control Registers Covered
*   HCHIP_CSR    - control status register
*   HCHIP_IFR    - interrupt flag register
*   HCHIP_ISR    - interrupt set register
*   HCHIP_ICR    - interrupt clear register
*   HCHIP_IER    - interrupt enable register
*   HCHIP_ISTP   - interrupt service table pointer
*   HCHIP_IRP    - interrrupt return pointer
*   HCHIP_NRP    - nonmaskable interrupt return pointer
*   HCHIP_AMR    - addressing mode register
*   HCHIP_FADCR  - floating-point adder config register (1)
*   HCHIP_FAUCR  - floating-point auxiliary config register (1)
*   HCHIP_FMCR   - floating-point multiplier config register (1)
*
*   (1) only on devices with an FPU
*
\******************************************************************************/
#ifndef _CHIPHAL_H_
#define _CHIPHAL_H_

/*----------------------------------------------------------------*/

#define HCHIP_PERBASE_ADDR   (0x01800000)

/******************************************************************************\
* HCHIP_NULL - dummy register
*
\******************************************************************************/
  #define HCHIP_NULL_ADDR                       ((UINT32)(0x01840074))
  #define HCHIP_NULL                            REG32(HCHIP_NULL_ADDR)

/******************************************************************************\
* HCHIP_CSR - control status register
*
* Fields:
*   (RW) HCHIP_CSR_GIE
*   (RW) HCHIP_CSR_PGIE
*   (RW) HCHIP_CSR_DCC
*   (RW) HCHIP_CSR_PCC
*   (R)  HCHIP_CSR_EN
*   (RC) HCHIP_CSR_SAT
*   (RW) HCHIP_CSR_PWRD
*   (R)  HCHIP_CSR_REVID
*   (R)  HCHIP_CSR_CPUID
*
\******************************************************************************/
  extern far cregister volatile unsigned int CSR;
  #define HCHIP_CSR CSR
  
/*----------------------------------------------------------------------------*\
* (RW) HCHIP_CSR_GIE
\*----------------------------------------------------------------------------*/ 
  #define HCHIP_CSR_GIE_MASK                     (0x00000001)
  #define HCHIP_CSR_GIE_SHIFT                    (0x00000000)
  
  #define HCHIP_CSR_GIE_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_GIE)

  #define HCHIP_CSR_GIE_SET(CrReg,Val) \
    HCRFIELD_SET(CrReg,HCHIP_CSR_GIE,Val)

/*----------------------------------------------------------------------------*\
* (RW) HCHIP_CSR_PGIE
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_PGIE_MASK                    (0x00000002)
  #define HCHIP_CSR_PGIE_SHIFT                   (0x00000001) 

  #define HCHIP_CSR_PGIE_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_PGIE)

  #define HCHIP_CSR_PGIE_SET(CrReg,Val) \
    HCRFIELD_SET(CrReg,HCHIP_CSR_PGIE,Val)

/*----------------------------------------------------------------------------*\
* (RW) HCHIP_CSR_DCC
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_DCC_MASK                     (0x0000001C)
  #define HCHIP_CSR_DCC_SHIFT                    (0x00000002)

  #define HCHIP_CSR_DCC_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_DCC)

  #define HCHIP_CSR_DCC_SET(CrReg,Val) \
    HCRFIELD_SET(CrReg,HCHIP_CSR_DCC,Val)

/*----------------------------------------------------------------------------*\
* (RW) HCHIP_CSR_PCC
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_PCC_MASK                     (0x000000E0)
  #define HCHIP_CSR_PCC_SHIFT                    (0x00000005)

  #define HCHIP_CSR_PCC_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_PCC)

  #define HCHIP_CSR_PCC_SET(CrReg,Val) \
    HCRFIELD_SET(CrReg,HCHIP_CSR_PCC,Val)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_CSR_EN
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_EN_MASK                      (0x00000100)
  #define HCHIP_CSR_EN_SHIFT                     (0x00000008)
  
  #define HCHIP_CSR_EN_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_EN)

/*----------------------------------------------------------------------------*\
* (RC) HCHIP_CSR_SAT
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_SAT_MASK                     (0x00000200)
  #define HCHIP_CSR_SAT_SHIFT                    (0x00000009)

  #define HCHIP_CSR_SAT_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_SAT)

  #define HCHIP_CSR_SAT_SET(CrReg,Val) \
    HCRFIELD_SET(CrReg,HCHIP_CSR_SAT,Val)

/*----------------------------------------------------------------------------*\
* (W) HCHIP_CSR_PWRD
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_PWRD_MASK                    (0x0000FC00)
  #define HCHIP_CSR_PWRD_SHIFT                   (0x0000000A)

  #define HCHIP_CSR_PWRD_SET(CrReg,Val) \
    HCRFIELD_SET(CrReg,HCHIP_CSR_PWRD,Val)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_CSR_REVID
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_REVID_MASK                   (0x00FF0000)
  #define HCHIP_CSR_REVID_SHIFT                  (0x00000010) 
  
  #define HCHIP_CSR_REVID_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_REVID)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_CSR_CPUID
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_CPUID_MASK                   (0xFF000000)
  #define HCHIP_CSR_CPUID_SHIFT                  (0x00000018)

  #define HCHIP_CSR_CPUID_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_CSR_CPUID)

/*----------------------------------------------------------------------------*\
* (RW) HCHIP_CSR
\*----------------------------------------------------------------------------*/
  #define HCHIP_CSR_GET(CrReg) HCRREG32_GET(CrReg)

  #define HCHIP_CSR_SET(CrReg,Val) HCRREG32_SET(CrReg,Val)

  #define HCHIP_CSR_CFG(CrReg,gie,pgie,dcc,pcc,pwrd) CrReg=(UINT32)( \
    HCRFIELD_SHIFT(HCHIP_CSR_GIE, gie) |\
    HCRFIELD_SHIFT(HCHIP_CSR_PGIE,pgie)|\
    HCRFIELD_SHIFT(HCHIP_CSR_DCC, dcc) |\
    HCRFIELD_SHIFT(HCHIP_CSR_PCC, pcc) |\
    HCRFIELD_SHIFT(HCHIP_CSR_PWRD,pwrd) \
  )

/******************************************************************************\
* HCHIP_IFR - interrupt flag register
*
* Fields:
*   (R)  HCHIP_IFR_NMIF
*   (R)  HCHIP_IFR_IF4
*   (R)  HCHIP_IFR_IF5
*   (R)  HCHIP_IFR_IF6
*   (R)  HCHIP_IFR_IF7
*   (R)  HCHIP_IFR_IF8
*   (R)  HCHIP_IFR_IF9
*   (R)  HCHIP_IFR_IF10
*   (R)  HCHIP_IFR_IF11
*   (R)  HCHIP_IFR_IF12
*   (R)  HCHIP_IFR_IF13
*   (R)  HCHIP_IFR_IF14
*   (R)  HCHIP_IFR_IF15
*
\******************************************************************************/
  extern far cregister volatile unsigned int IFR;
  #define HCHIP_IFR IFR

/*----------------------------------------------------------------------------*\
* (R) HCHIP_IFR_NMIF
\*----------------------------------------------------------------------------*/
  #define HCHIP_IFR_NMIF_MASK                    (0x00000002)
  #define HCHIP_IFR_NMIF_SHIFT                   (0x00000001)

  #define HCHIP_IFR_NMIF_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_IFR_NMIF)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_IFR_IF4
\*----------------------------------------------------------------------------*/
  #define HCHIP_IFR_IF4_MASK                     (0x00000010)
  #define HCHIP_IFR_IF4_SHIFT                    (0x00000004)

  #define HCHIP_IFR_IF4_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_IFR_IF4)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_IFR_IF5
\*----------------------------------------------------------------------------*/
  #define HCHIP_IFR_IF5_MASK                     (0x00000020)
  #define HCHIP_IFR_IF5_SHIFT                    (0x00000005)

  #define HCHIP_IFR_IF5_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_IFR_IF5)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_IFR_IF6
\*----------------------------------------------------------------------------*/
  #define HCHIP_IFR_IF6_MASK                     (0x00000040)
  #define HCHIP_IFR_IF6_SHIFT                    (0x00000006)

  #define HCHIP_IFR_IF6_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_IFR_IF6)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_IFR_IF7
\*----------------------------------------------------------------------------*/
  #define HCHIP_IFR_IF7_MASK                     (0x00000080)
  #define HCHIP_IFR_IF7_SHIFT                    (0x00000007)

  #define HCHIP_IFR_IF7_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_IFR_IF7)

/*----------------------------------------------------------------------------*\
* (R) HCHIP_IFR_IF8
\*----------------------------------------------------------------------------*/
  #define HCHIP_IFR_IF8_MASK                     (0x00000100)
  #define HCHIP_IFR_IF8_SHIFT                    (0x00000008)

  #define HCHIP_IFR_IF8_GET(CrReg) \
    HCRFIELD_GET(CrReg,HCHIP_IFR_IF8)

⌨️ 快捷键说明

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