Blame view

RTT/Global.h 5.03 KB
95ce2328   李外   完成USB移植,测试正常,
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
  /*********************************************************************
  *                    SEGGER Microcontroller GmbH                     *
  *                        The Embedded Experts                        *
  **********************************************************************
  *                                                                    *
  *            (c) 1995 - 2021 SEGGER Microcontroller GmbH             *
  *                                                                    *
  *       www.segger.com     Support: support@segger.com               *
  *                                                                    *
  **********************************************************************
  *                                                                    *
  *       SEGGER SystemView * Real-time application analysis           *
  *                                                                    *
  **********************************************************************
  *                                                                    *
  * All rights reserved.                                               *
  *                                                                    *
  * SEGGER strongly recommends to not make any changes                 *
  * to or modify the source code of this software in order to stay     *
  * compatible with the SystemView and RTT protocol, and J-Link.       *
  *                                                                    *
  * Redistribution and use in source and binary forms, with or         *
  * without modification, are permitted provided that the following    *
  * condition is met:                                                  *
  *                                                                    *
  * o Redistributions of source code must retain the above copyright   *
  *   notice, this condition and the following disclaimer.             *
  *                                                                    *
  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND             *
  * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,        *
  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF           *
  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE           *
  * DISCLAIMED. IN NO EVENT SHALL SEGGER Microcontroller BE LIABLE FOR *
  * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR           *
  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT  *
  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;    *
  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF      *
  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT          *
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE  *
  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH   *
  * DAMAGE.                                                            *
  *                                                                    *
  **********************************************************************
  *                                                                    *
  *       SystemView version: 3.30                                    *
  *                                                                    *
  **********************************************************************
  ----------------------------------------------------------------------
  File    : Global.h
  Purpose : Global types
            In case your application already has a Global.h, you should
            merge the files. In order to use Segger code, the types
            U8, U16, U32, I8, I16, I32 need to be defined in Global.h;
            additional definitions do not hurt.
  Revision: $Rev: 12501 $
  ---------------------------END-OF-HEADER------------------------------
  */
  
  #ifndef GLOBAL_H            // Guard against multiple inclusion
  #define GLOBAL_H
  
  #define U8    unsigned char
  #define I8    signed char
  #define U16   unsigned short
  #define I16   signed short
  #ifdef __x86_64__
  #define U32   unsigned
  #define I32   int
  #else
  #define U32   unsigned long
  #define I32   signed long
  #endif
  
  //
  // CC_NO_LONG_SUPPORT can be defined to compile test
  // without long support for compilers that do not
  // support C99 and its long type.
  //
  #ifdef CC_NO_LONG_SUPPORT
    #define PTR_ADDR  U32
  #else  // Supports long type.
  #if defined(_WIN32) && !defined(__clang__) && !defined(__MINGW32__)
    //
    // Microsoft VC6 compiler related
    //
    #define U64   unsigned __int64
    #define U128  unsigned __int128
    #define I64   __int64
    #define I128  __int128
    #if _MSC_VER <= 1200
      #define U64_C(x) x##UI64
    #else
      #define U64_C(x) x##ULL
    #endif
  #else
    //
    // C99 compliant compiler
    //
    #define U64   unsigned long long
    #define I64   signed long long
    #define U64_C(x) x##ULL
  #endif
  
  #if (defined(_WIN64) || defined(__LP64__))  // 64-bit symbols used by Visual Studio and GCC, maybe others as well.
    #define PTR_ADDR  U64
  #else
    #define PTR_ADDR  U32
  #endif
  #endif  // Supports long type.
  
  #endif                      // Avoid multiple inclusion
  
  /*************************** End of file ****************************/