libparanut
A Hardware Abstraction Layer for ParaNut Architectures.
pn_config_generic.h
Go to the documentation of this file.
1 /*
2  * Copyright 2019-2020 Anna Pfuetzner (<annakerstin.pfuetzner@gmail.com>)
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions are met:
6  *
7  * 1. Redistributions of source code must retain the above copyright notice,
8  * this list of conditions and the following disclaimer.
9  *
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
15  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
18  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
19  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
20  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
21  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
22  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
23  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
24  * POSSIBILITY OF SUCH DAMAGE.
25  */
26 
42 /*Compile Time Parameters******************************************************/
43 
61 /*
62  * The weird #if DOXYGEN is done because Doxygen won't document it otherwise.
63  * Sorry about that.
64  * If you find a more elegant solution, do not hesitate to put it in :)
65  */
66 
81 #if DOXYGEN
82 
83  #define PN_CACHE_LINESIZE
84 
85 #endif
86 
87 #ifndef PN_CACHE_LINESIZE
88 
89  #error PN_CACHE_LINESIZE undefined! Check "System Parameters" Documentation!
90 
91 #endif
92 
103 #if DOXYGEN
104 
105  #define PN_RWIDTH 32
106 
107 #endif
108 
109 #ifndef PN_RWIDTH
110 
111  #error PN_RWIDTH undefined! Check "System Parameters" Documentation!
112 
113 #endif
114 
129 #if DOXYGEN
130 
131  #define PN_COMPILE_RAW
132 
133 #endif
134 
141 #if DOXYGEN
142 
143  #define PN_WITH_BASE
144 
145 #endif
146 
153 #if DOXYGEN
154 
155  #define PN_WITH_CACHE
156 
157 #endif
158 
165 #if DOXYGEN
166 
167  #define PN_WITH_LINK
168 
169 #endif
170 
177 #if DOXYGEN
178 
179  #define PN_WITH_THREAD
180 
181 #endif
182 
189 #if DOXYGEN
190 
191  #define PN_WITH_EXCEPTION
192 
193 #endif
194 
201 #if DOXYGEN
202 
203  #define PN_WITH_SPINLOCK
204 
205 #endif
206 
211 /*EOF**************************************************************************/