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

📄 angel_chandefs.h

📁 realview22.rar
💻 H
字号:
/* -*-C-*-
 *
 * $Revision: 1.1.10.2 $
 *   $Author: lmacgreg $
 *     $Date: 2001/08/24 12:57:49 $
 *
 * Copyright (c) 1996 Advanced RISC Machines Limited.
 * Copyright (C) 2000 - 2001 ARM Ltd.  All rights reserved.
 * All Rights Reserved.
 *
 *   Project: ANGEL
 *
 *     Title: Enumeration with all supported channels
 */

#ifndef angel_chandefs_h
#define angel_chandefs_h

#if defined(__cplusplus) && !defined(CLX_CPP_LINKAGE)
extern "C" {
#endif

enum channelIDs {
  CI_PRIVATE = 0,               /* channels protocol control messages */
  CI_HADP,                      /* ADP, host originated */
  CI_TADP,                      /* ADP, target originated */
  CI_HBOOT,                     /* Boot, host originated */
  CI_TBOOT,                     /* Boot, target originated */
  CI_CLIB,                      /* Semihosting C library support */
  CI_HUDBG,                     /* User debug support, host originated */
  CI_TUDBG,                     /* User debug support, target originated */
  CI_HTDCC,                     /* Thumb direct comms channel, host orig. */
  CI_TTDCC,                     /* Thumb direct comms channel, target orig. */
  CI_TLOG,                      /* Target debug/logging */
  CI_NUM_CHANNELS
};

/* type of frame channel id numbers */
typedef unsigned ChannelID;

/* type of frame sequence numbers */
typedef unsigned char SequenceNR;

/*
 * The number of sequence numbers used. For any protocol with n outstanding
 * packets allowed at once, at most 2^n-1 sequence numbers are needed, where
 * 'n' is the size of the protocol window.
 *
 * For the channels protocol, this number is  (2 ^ CI_NUM_CHANNELS) - 1
 *
 * Sadly, the original channels protocol simply uses all 255 numbers in a
 * byte sequence number.
 */

#define MAX_SEQ   ((SequenceNR)255)

/*
 * increment variable 'k' circularly, mod MAX_SEQ
 */
#define nextSEQ(k) (((k) < MAX_SEQ) ? (SequenceNR)((k) + 1) : (SequenceNR)0)
#define lastSEQ(k) (((k) > 0) ? (SequenceNR)((k) - 1) : MAX_SEQ)
#define INC(k)    (k) = nextSEQ(k)
#define DEC(k)    (k) = lastSEQ(k)

/*
 * Size in bytes of the channel header.
 * This is a duplicate of XXX in chanpriv.h, but we don't want everyone
 * to have access to all of chanpriv.h, so we'll double-check in chanpriv.h.
 */
#define CHAN_HEADER_SIZE (4)

#if defined(__cplusplus) && !defined(CLX_CPP_LINKAGE)
}
#endif



#endif /* ndef angel_chandefs_h */

/* EOF chandefs.h */











⌨️ 快捷键说明

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