Added STM32WB startup files.
@@ -0,0 +1,88 @@ | ||
1 | +/* | |
2 | + ChibiOS - Copyright (C) 2006..2019 Ilya Kharin | |
3 | + | |
4 | + Licensed under the Apache License, Version 2.0 (the "License"); | |
5 | + you may not use this file except in compliance with the License. | |
6 | + You may obtain a copy of the License at | |
7 | + | |
8 | + http://www.apache.org/licenses/LICENSE-2.0 | |
9 | + | |
10 | + Unless required by applicable law or agreed to in writing, software | |
11 | + distributed under the License is distributed on an "AS IS" BASIS, | |
12 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
13 | + See the License for the specific language governing permissions and | |
14 | + limitations under the License. | |
15 | +*/ | |
16 | + | |
17 | +/** | |
18 | + * @file STM32WBxx/cmparams.h | |
19 | + * @brief ARM Cortex-M4 parameters for the STM32WBxx. | |
20 | + * | |
21 | + * @defgroup ARMCMx_STM32WBxx STM32WBxx Specific Parameters | |
22 | + * @ingroup ARMCMx_SPECIFIC | |
23 | + * @details This file contains the Cortex-M4 specific parameters for the | |
24 | + * STM32WBxx platform. | |
25 | + * @{ | |
26 | + */ | |
27 | + | |
28 | +#ifndef CMPARAMS_H | |
29 | +#define CMPARAMS_H | |
30 | + | |
31 | +/** | |
32 | + * @brief Cortex core model. | |
33 | + */ | |
34 | +#define CORTEX_MODEL 4 | |
35 | + | |
36 | +/** | |
37 | + * @brief Floating Point unit presence. | |
38 | + */ | |
39 | +#define CORTEX_HAS_FPU 1 | |
40 | + | |
41 | +/** | |
42 | + * @brief Number of bits in priority masks. | |
43 | + */ | |
44 | +#define CORTEX_PRIORITY_BITS 4 | |
45 | + | |
46 | +/* If the device type is not externally defined, for example from the Makefile, | |
47 | + then a file named board.h is included. This file must contain a device | |
48 | + definition compatible with the vendor include file.*/ | |
49 | +#if !defined(STM32WB55xx) && !defined(STM32WB50xx) | |
50 | +#include "board.h" | |
51 | +#endif | |
52 | + | |
53 | +/** | |
54 | + * @brief Number of interrupt vectors. | |
55 | + * @note This number does not include the 16 system vectors and must be | |
56 | + * rounded to a multiple of 8. | |
57 | + */ | |
58 | +#define CORTEX_NUM_VECTORS 64 | |
59 | + | |
60 | +/* The following code is not processed when the file is included from an | |
61 | + asm module.*/ | |
62 | +#if !defined(_FROM_ASM_) | |
63 | + | |
64 | +/* Including the device CMSIS header. Note, we are not using the definitions | |
65 | + from this header because we need this file to be usable also from | |
66 | + assembler source files. We verify that the info matches instead.*/ | |
67 | +#include "stm32wbxx.h" | |
68 | + | |
69 | +/*lint -save -e9029 [10.4] Signedness comes from external files, it is | |
70 | + unpredictable but gives no problems.*/ | |
71 | +#if CORTEX_MODEL != __CORTEX_M | |
72 | +#error "CMSIS __CORTEX_M mismatch" | |
73 | +#endif | |
74 | + | |
75 | +#if CORTEX_HAS_FPU != __FPU_PRESENT | |
76 | +#error "CMSIS __FPU_PRESENT mismatch" | |
77 | +#endif | |
78 | + | |
79 | +#if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | |
80 | +#error "CMSIS __NVIC_PRIO_BITS mismatch" | |
81 | +#endif | |
82 | +/*lint -restore*/ | |
83 | + | |
84 | +#endif /* !defined(_FROM_ASM_) */ | |
85 | + | |
86 | +#endif /* CMPARAMS_H */ | |
87 | + | |
88 | +/** @} */ |