Merge pull request #10558 from iNavFlight/MrD_Correct-comments-on-OSD-symbols
[inav.git] / src / main / build / build_config.h
blob75bb46668d7769c8e7414d1149eb229ff2e5d046
1 /*
2 * This file is part of Cleanflight.
4 * Cleanflight is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * Cleanflight is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with Cleanflight. If not, see <http://www.gnu.org/licenses/>.
18 #pragma once
20 #define BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))
22 #ifdef UNIT_TEST
23 // make these visible to unit test
24 #define STATIC_UNIT_TESTED
25 #define STATIC_INLINE_UNIT_TESTED
26 #define INLINE_UNIT_TESTED
27 #define UNIT_TESTED
28 #else
29 #define STATIC_UNIT_TESTED static
30 #define STATIC_INLINE_UNIT_TESTED static inline
31 #define INLINE_UNIT_TESTED inline
32 #define UNIT_TESTED
33 #endif
35 //#define SOFT_I2C // enable to test software i2c
37 #ifndef __CC_ARM
38 #define REQUIRE_CC_ARM_PRINTF_SUPPORT
39 #define REQUIRE_PRINTF_LONG_SUPPORT
40 #endif
42 #ifdef __APPLE__
43 #define FASTRAM __attribute__ ((section("__DATA,__.fastram_bss"), aligned(8)))
44 #else
45 #define FASTRAM __attribute__ ((section(".fastram_bss"), aligned(4)))
46 #endif
48 #if defined (STM32F4) || defined (STM32F7)
49 #define EXTENDED_FASTRAM FASTRAM
50 #else
51 #define EXTENDED_FASTRAM
52 #endif
54 #if defined (STM32H7)
55 #define DMA_RAM __attribute__ ((section(".DMA_RAM")))
56 #define SLOW_RAM __attribute__ ((section(".SLOW_RAM")))
57 #elif defined (AT32F43x)
58 #define DMA_RAM __attribute__ ((section(".DMA_RAM")))
59 #define SLOW_RAM __attribute__ ((section(".SLOW_RAM")))
60 #else
61 #define DMA_RAM
62 #define SLOW_RAM
63 #endif
65 #define STATIC_FASTRAM static FASTRAM
66 #define STATIC_FASTRAM_UNIT_TESTED STATIC_UNIT_TESTED FASTRAM