diff options
Diffstat (limited to 'lib/chibios-contrib/os/common/startup/ARMCMx/devices')
15 files changed, 1335 insertions, 0 deletions
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/HT32F165x/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/HT32F165x/cmparams.h new file mode 100644 index 000000000..4d3c98e1e --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/HT32F165x/cmparams.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2017 Charlie Waters <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file GCC/ARMCMx/HT32F165x/cmparams.h | ||
24 | * @brief ARM Cortex-M3 parameters for the Holtek HT32F165x | ||
25 | * | ||
26 | * @defgroup ARMCMx_HT32F165x Holtek HT32F165x Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M3 specific parameters for the | ||
29 | * Holtek HT32F165x platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 3 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU FALSE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 4 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 72 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | #if !defined (HT32F1653) && !defined (HT32F1654) && \ | ||
68 | !defined (HT32F1655) && !defined (HT32F1656) | ||
69 | #include "board.h" | ||
70 | #endif | ||
71 | |||
72 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
73 | from this header because we need this file to be usable also from | ||
74 | assembler source files. We verify that the info matches instead.*/ | ||
75 | #include "ht32f165x.h" | ||
76 | |||
77 | #if CORTEX_MODEL != __CORTEX_M | ||
78 | #error "CMSIS __CORTEX_M mismatch" | ||
79 | #endif | ||
80 | |||
81 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
82 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
83 | #endif | ||
84 | |||
85 | #endif /* !defined(_FROM_ASM_) */ | ||
86 | |||
87 | #endif /* _CMPARAMS_H_ */ | ||
88 | |||
89 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/HT32F523xx/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/HT32F523xx/cmparams.h new file mode 100644 index 000000000..46a874852 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/HT32F523xx/cmparams.h | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2017 Charlie Waters <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file GCC/ARMCMx/HT32F165x/cmparams.h | ||
24 | * @brief ARM Cortex-M3 parameters for the Holtek HT32F165x | ||
25 | * | ||
26 | * @defgroup ARMCMx_HT32F165x Holtek HT32F165x Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M3 specific parameters for the | ||
29 | * Holtek HT32F165x platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 0 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU FALSE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 8 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 32 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | #if !defined (HT32F52342) && !defined(HT32F52352) | ||
68 | #include "board.h" | ||
69 | #endif | ||
70 | |||
71 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
72 | from this header because we need this file to be usable also from | ||
73 | assembler source files. We verify that the info matches instead.*/ | ||
74 | #include "ht32f523x2.h" | ||
75 | |||
76 | #if CORTEX_MODEL != __CORTEX_M | ||
77 | #error "CMSIS __CORTEX_M mismatch" | ||
78 | #endif | ||
79 | |||
80 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
81 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
82 | #endif | ||
83 | |||
84 | #endif /* !defined(_FROM_ASM_) */ | ||
85 | |||
86 | #endif /* _CMPARAMS_H_ */ | ||
87 | |||
88 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K20x5/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K20x5/cmparams.h new file mode 100644 index 000000000..6205ec544 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K20x5/cmparams.h | |||
@@ -0,0 +1,84 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2016 flabbergast <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file GCC/ARMCMx/K20x5/cmparams.h | ||
24 | * @brief ARM Cortex-M4 parameters for the Kinetis K20x5. | ||
25 | * | ||
26 | * @defgroup ARMCMx_K20x5 Kinetis K20x5 Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M4 specific parameters for the | ||
29 | * Kinetis K20x5 platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 4 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU FALSE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 4 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 48 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
68 | from this header because we need this file to be usable also from | ||
69 | assembler source files. We verify that the info matches instead.*/ | ||
70 | #include "k20x5.h" | ||
71 | |||
72 | #if CORTEX_MODEL != __CORTEX_M | ||
73 | #error "CMSIS __CORTEX_M mismatch" | ||
74 | #endif | ||
75 | |||
76 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
77 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
78 | #endif | ||
79 | |||
80 | #endif /* !defined(_FROM_ASM_) */ | ||
81 | |||
82 | #endif /* _CMPARAMS_H_ */ | ||
83 | |||
84 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K20x7/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K20x7/cmparams.h new file mode 100644 index 000000000..9963d97af --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K20x7/cmparams.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2016 flabbergast <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file GCC/ARMCMx/K20x7/cmparams.h | ||
24 | * @brief ARM Cortex-M4 parameters for the Kinetis K20x7. | ||
25 | * | ||
26 | * @defgroup ARMCMx_K20x7 Kinetis K20x7 Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M4 specific parameters for the | ||
29 | * Kinetis K20x7 platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 4 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU FALSE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 4 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 96 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
68 | from this header because we need this file to be usable also from | ||
69 | assembler source files. We verify that the info matches instead.*/ | ||
70 | #include "k20x7.h" | ||
71 | |||
72 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
73 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
74 | #endif | ||
75 | |||
76 | #endif /* !defined(_FROM_ASM_) */ | ||
77 | |||
78 | #endif /* _CMPARAMS_H_ */ | ||
79 | |||
80 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K60x/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K60x/cmparams.h new file mode 100644 index 000000000..8a51f8a30 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/K60x/cmparams.h | |||
@@ -0,0 +1,81 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2016 flabbergast <[email protected]> | ||
5 | (C) 2017 Wim Lewis | ||
6 | |||
7 | This file is part of ChibiOS/RT. | ||
8 | |||
9 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
10 | it under the terms of the GNU General Public License as published by | ||
11 | the Free Software Foundation; either version 3 of the License, or | ||
12 | (at your option) any later version. | ||
13 | |||
14 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
15 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | GNU General Public License for more details. | ||
18 | |||
19 | You should have received a copy of the GNU General Public License | ||
20 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
21 | */ | ||
22 | |||
23 | /** | ||
24 | * @file GCC/ARMCMx/K60x/cmparams.h | ||
25 | * @brief ARM Cortex-M4 parameters for the Kinetis K60 family. | ||
26 | * | ||
27 | * @defgroup ARMCMx_K60 Kinetis K60 Specific Parameters | ||
28 | * @ingroup ARMCMx_SPECIFIC | ||
29 | * @details This file contains the Cortex-M4 specific parameters for the | ||
30 | * Kinetis K60 family. | ||
31 | * @{ | ||
32 | */ | ||
33 | |||
34 | #ifndef _CMPARAMS_H_ | ||
35 | #define _CMPARAMS_H_ | ||
36 | |||
37 | /** | ||
38 | * @brief Cortex core model. | ||
39 | */ | ||
40 | #define CORTEX_MODEL 4 | ||
41 | |||
42 | /** | ||
43 | * @brief Systick unit presence. | ||
44 | */ | ||
45 | #define CORTEX_HAS_ST TRUE | ||
46 | |||
47 | /** | ||
48 | * @brief Floating Point unit presence. | ||
49 | */ | ||
50 | #define CORTEX_HAS_FPU TRUE | ||
51 | |||
52 | /** | ||
53 | * @brief Number of bits in priority masks. | ||
54 | */ | ||
55 | #define CORTEX_PRIORITY_BITS 4 | ||
56 | |||
57 | /** | ||
58 | * @brief Number of interrupt vectors. | ||
59 | * @note This number does not include the 16 system vectors and must be | ||
60 | * rounded to a multiple of 8. | ||
61 | */ | ||
62 | #define CORTEX_NUM_VECTORS 88 | ||
63 | |||
64 | /* The following code is not processed when the file is included from an | ||
65 | asm module.*/ | ||
66 | #if !defined(_FROM_ASM_) | ||
67 | |||
68 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
69 | from this header because we need this file to be usable also from | ||
70 | assembler source files. We verify that the info matches instead.*/ | ||
71 | #include "k64f.h" | ||
72 | |||
73 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
74 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
75 | #endif | ||
76 | |||
77 | #endif /* !defined(_FROM_ASM_) */ | ||
78 | |||
79 | #endif /* _CMPARAMS_H_ */ | ||
80 | |||
81 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/KL2x/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/KL2x/cmparams.h new file mode 100644 index 000000000..9cb24b981 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/KL2x/cmparams.h | |||
@@ -0,0 +1,92 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2016 flabbergast <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS. | ||
7 | |||
8 | ChibiOS is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file KL2x/cmparams.h | ||
24 | * @brief ARM Cortex-M0+ parameters for the Kinetis KL2x family. | ||
25 | * | ||
26 | * @defgroup ARMCMx_KL2x Kinetis KL2x Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M0+ specific parameters for the | ||
29 | * Kinetis KL2x platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 0 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU FALSE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 2 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 32 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* If the device type is not externally defined, for example from the Makefile, | ||
68 | then a file named board.h is included. This file must contain a device | ||
69 | definition compatible with the vendor include file.*/ | ||
70 | #if !defined (KL25) && !defined (KL26) && \ | ||
71 | !defined (KL27Zxxx) && !defined (KL27Zxx) | ||
72 | #include "board.h" | ||
73 | #endif | ||
74 | |||
75 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
76 | from this header because we need this file to be usable also from | ||
77 | assembler source files. We verify that the info matches instead.*/ | ||
78 | #include "kl2xz.h" | ||
79 | |||
80 | #if CORTEX_MODEL != __CORTEX_M | ||
81 | #error "CMSIS __CORTEX_M mismatch" | ||
82 | #endif | ||
83 | |||
84 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
85 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
86 | #endif | ||
87 | |||
88 | #endif /* !defined(_FROM_ASM_) */ | ||
89 | |||
90 | #endif /* _CMPARAMS_H_ */ | ||
91 | |||
92 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/LPC11Uxx/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/LPC11Uxx/cmparams.h new file mode 100644 index 000000000..cb399b0f9 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/LPC11Uxx/cmparams.h | |||
@@ -0,0 +1,81 @@ | |||
1 | /* | ||
2 | ChibiOS - Copyright (C) 2020 Yaotian Feng / Codetector | ||
3 | |||
4 | This file is part of ChibiOS. | ||
5 | ChibiOS is free software; you can redistribute it and/or modify | ||
6 | it under the terms of the GNU General Public License as published by | ||
7 | the Free Software Foundation; either version 3 of the License, or | ||
8 | (at your option) any later version. | ||
9 | ChibiOS 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. | ||
13 | You should have received a copy of the GNU General Public License | ||
14 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
15 | */ | ||
16 | |||
17 | /** | ||
18 | * @file LPC11Uxx/cmparams.h | ||
19 | * @brief ARM Cortex-M0 parameters for the NXP LPC11Uxx family. | ||
20 | * | ||
21 | * @defgroup ARMCMx_LPC11Uxx NXP Semi. LPC11Uxx. | ||
22 | * @ingroup ARMCMx_SPECIFIC | ||
23 | * @details This file contains the Cortex-M0 specific parameters for the | ||
24 | * NRF51x platform. | ||
25 | * @{ | ||
26 | */ | ||
27 | |||
28 | #ifndef _CMPARAMS_H_ | ||
29 | #define _CMPARAMS_H_ | ||
30 | |||
31 | /** | ||
32 | * @brief Cortex core model. | ||
33 | */ | ||
34 | #define CORTEX_MODEL 0 | ||
35 | |||
36 | /** | ||
37 | * @brief Systick unit presence. | ||
38 | */ | ||
39 | #define CORTEX_HAS_ST TRUE | ||
40 | |||
41 | |||
42 | /** | ||
43 | * @brief Floating Point unit presence. | ||
44 | */ | ||
45 | #define CORTEX_HAS_FPU FALSE | ||
46 | |||
47 | /** | ||
48 | * @brief Number of bits in priority masks. | ||
49 | */ | ||
50 | #define CORTEX_PRIORITY_BITS 2 | ||
51 | |||
52 | /** | ||
53 | * @brief Number of interrupt vectors. | ||
54 | * @note This number does not include the 16 system vectors and must be | ||
55 | * rounded to a multiple of 8. | ||
56 | */ | ||
57 | #define CORTEX_NUM_VECTORS 32 | ||
58 | |||
59 | #define LPC_VECTOR_CHECKSUM TRUE | ||
60 | |||
61 | /* The following code is not processed when the file is included from an | ||
62 | asm module.*/ | ||
63 | #if !defined(_FROM_ASM_) | ||
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 "LPC11Uxx.h" | ||
68 | |||
69 | #if CORTEX_MODEL != __CORTEX_M | ||
70 | #error "CMSIS __CORTEX_M mismatch" | ||
71 | #endif | ||
72 | |||
73 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
74 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
75 | #endif | ||
76 | |||
77 | #endif /* !defined(_FROM_ASM_) */ | ||
78 | |||
79 | #endif /* _CMPARAMS_H_ */ | ||
80 | |||
81 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/MIMXRT1062/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/MIMXRT1062/cmparams.h new file mode 100644 index 000000000..9fe2a4a00 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/MIMXRT1062/cmparams.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2016 flabbergast <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file GCC/ARMCMx/MK66F18/cmparams.h | ||
24 | * @brief ARM Cortex-M4 parameters for the Kinetis MK66F18. | ||
25 | * | ||
26 | * @defgroup ARMCMx_MK66F18 Kinetis MK66F18 Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M4 specific parameters for the | ||
29 | * Kinetis MK66F18 platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 7 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU TRUE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 4 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 160 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
68 | from this header because we need this file to be usable also from | ||
69 | assembler source files. We verify that the info matches instead.*/ | ||
70 | #include "MIMXRT1062.h" | ||
71 | |||
72 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
73 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
74 | #endif | ||
75 | |||
76 | #endif /* !defined(_FROM_ASM_) */ | ||
77 | |||
78 | #endif /* _CMPARAMS_H_ */ | ||
79 | |||
80 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/MK66F18/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/MK66F18/cmparams.h new file mode 100644 index 000000000..75cb24a96 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/MK66F18/cmparams.h | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2016 flabbergast <[email protected]> | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file GCC/ARMCMx/MK66F18/cmparams.h | ||
24 | * @brief ARM Cortex-M4 parameters for the Kinetis MK66F18. | ||
25 | * | ||
26 | * @defgroup ARMCMx_MK66F18 Kinetis MK66F18 Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M4 specific parameters for the | ||
29 | * Kinetis MK66F18 platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 4 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU TRUE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 4 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 104 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
68 | from this header because we need this file to be usable also from | ||
69 | assembler source files. We verify that the info matches instead.*/ | ||
70 | #include "MK66F18.h" | ||
71 | |||
72 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
73 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
74 | #endif | ||
75 | |||
76 | #endif /* !defined(_FROM_ASM_) */ | ||
77 | |||
78 | #endif /* _CMPARAMS_H_ */ | ||
79 | |||
80 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NRF51822/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NRF51822/cmparams.h new file mode 100644 index 000000000..c74766b71 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NRF51822/cmparams.h | |||
@@ -0,0 +1,82 @@ | |||
1 | /* | ||
2 | Copyright (C) 2015 Fabio Utzig | ||
3 | |||
4 | This file is part of ChibiOS. | ||
5 | |||
6 | ChibiOS is free software; you can redistribute it and/or modify | ||
7 | it under the terms of the GNU General Public License as published by | ||
8 | the Free Software Foundation; either version 3 of the License, or | ||
9 | (at your option) any later version. | ||
10 | |||
11 | ChibiOS is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | GNU General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU General Public License | ||
17 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | /** | ||
21 | * @file NRF51822/cmparams.h | ||
22 | * @brief ARM Cortex-M0 parameters for the Nordic Semi NRF51822 family. | ||
23 | * | ||
24 | * @defgroup ARMCMx_NRF51x Nordic semiconductor NRF51x. | ||
25 | * @ingroup ARMCMx_SPECIFIC | ||
26 | * @details This file contains the Cortex-M0 specific parameters for the | ||
27 | * NRF51x platform. | ||
28 | * @{ | ||
29 | */ | ||
30 | |||
31 | #ifndef _CMPARAMS_H_ | ||
32 | #define _CMPARAMS_H_ | ||
33 | |||
34 | /** | ||
35 | * @brief Cortex core model. | ||
36 | */ | ||
37 | #define CORTEX_MODEL 0 | ||
38 | |||
39 | /** | ||
40 | * @brief Memory Protection unit presence. | ||
41 | */ | ||
42 | #define CORTEX_HAS_MPU 1 | ||
43 | |||
44 | /** | ||
45 | * @brief Floating Point unit presence. | ||
46 | */ | ||
47 | #define CORTEX_HAS_FPU 0 | ||
48 | |||
49 | /** | ||
50 | * @brief Number of bits in priority masks. | ||
51 | */ | ||
52 | #define CORTEX_PRIORITY_BITS 2 | ||
53 | |||
54 | /** | ||
55 | * @brief Number of interrupt vectors. | ||
56 | * @note This number does not include the 16 system vectors and must be | ||
57 | * rounded to a multiple of 8. | ||
58 | */ | ||
59 | #define CORTEX_NUM_VECTORS 32 | ||
60 | |||
61 | /* The following code is not processed when the file is included from an | ||
62 | asm module.*/ | ||
63 | #if !defined(_FROM_ASM_) | ||
64 | |||
65 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
66 | from this header because we need this file to be usable also from | ||
67 | assembler source files. We verify that the info matches instead.*/ | ||
68 | #include "nrf51.h" | ||
69 | |||
70 | #if CORTEX_MODEL != __CORTEX_M | ||
71 | #error "CMSIS __CORTEX_M mismatch" | ||
72 | #endif | ||
73 | |||
74 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
75 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
76 | #endif | ||
77 | |||
78 | #endif /* !defined(_FROM_ASM_) */ | ||
79 | |||
80 | #endif /* _CMPARAMS_H_ */ | ||
81 | |||
82 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NRF52832/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NRF52832/cmparams.h new file mode 100644 index 000000000..03c7955e3 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NRF52832/cmparams.h | |||
@@ -0,0 +1,82 @@ | |||
1 | /* | ||
2 | Copyright (C) 2016 Stephane D'Alu | ||
3 | |||
4 | This file is part of ChibiOS. | ||
5 | |||
6 | ChibiOS is free software; you can redistribute it and/or modify | ||
7 | it under the terms of the GNU General Public License as published by | ||
8 | the Free Software Foundation; either version 3 of the License, or | ||
9 | (at your option) any later version. | ||
10 | |||
11 | ChibiOS is distributed in the hope that it will be useful, | ||
12 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | GNU General Public License for more details. | ||
15 | |||
16 | You should have received a copy of the GNU General Public License | ||
17 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
18 | */ | ||
19 | |||
20 | /** | ||
21 | * @file NRF51822/cmparams.h | ||
22 | * @brief ARM Cortex-M4 parameters for the Nordic Semi NRF52832 family. | ||
23 | * | ||
24 | * @defgroup ARMCMx_NRF52x Nordic semiconductor NRF52x. | ||
25 | * @ingroup ARMCMx_SPECIFIC | ||
26 | * @details This file contains the Cortex-M4 specific parameters for the | ||
27 | * NRF52x platform. | ||
28 | * @{ | ||
29 | */ | ||
30 | |||
31 | #ifndef _CMPARAMS_H_ | ||
32 | #define _CMPARAMS_H_ | ||
33 | |||
34 | /** | ||
35 | * @brief Cortex core model. | ||
36 | */ | ||
37 | #define CORTEX_MODEL 4 | ||
38 | |||
39 | /** | ||
40 | * @brief Memory Protection unit presence. | ||
41 | */ | ||
42 | #define CORTEX_HAS_MPU 1 | ||
43 | |||
44 | /** | ||
45 | * @brief Floating Point unit presence. | ||
46 | */ | ||
47 | #define CORTEX_HAS_FPU 1 | ||
48 | |||
49 | /** | ||
50 | * @brief Number of bits in priority masks. | ||
51 | */ | ||
52 | #define CORTEX_PRIORITY_BITS 3 | ||
53 | |||
54 | /** | ||
55 | * @brief Number of interrupt vectors. | ||
56 | * @note This number does not include the 16 system vectors and must be | ||
57 | * rounded to a multiple of 8. | ||
58 | */ | ||
59 | #define CORTEX_NUM_VECTORS 40 | ||
60 | |||
61 | /* The following code is not processed when the file is included from an | ||
62 | asm module.*/ | ||
63 | #if !defined(_FROM_ASM_) | ||
64 | |||
65 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
66 | from this header because we need this file to be usable also from | ||
67 | assembler source files. We verify that the info matches instead.*/ | ||
68 | #include "nrf.h" | ||
69 | |||
70 | #if CORTEX_MODEL != __CORTEX_M | ||
71 | #error "CMSIS __CORTEX_M mismatch" | ||
72 | #endif | ||
73 | |||
74 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
75 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
76 | #endif | ||
77 | |||
78 | #endif /* !defined(_FROM_ASM_) */ | ||
79 | |||
80 | #endif /* _CMPARAMS_H_ */ | ||
81 | |||
82 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NUC123/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NUC123/cmparams.h new file mode 100644 index 000000000..5c49dcf19 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/NUC123/cmparams.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /* | ||
2 | Copyright (C) 2019 /u/KeepItUnder | ||
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 NUC123/cmparams.h | ||
19 | * @brief ARM Cortex-M0 parameters for the NUC123. | ||
20 | * | ||
21 | * @defgroup ARMCMx_NUC123 NUC123 Specific Parameters | ||
22 | * @ingroup ARMCMx_SPECIFIC | ||
23 | * @details This file contains the Cortex-M0 specific parameters for the | ||
24 | * NUC123 platform. | ||
25 | * @{ | ||
26 | */ | ||
27 | |||
28 | #ifndef CMPARAMS_H | ||
29 | #define CMPARAMS_H | ||
30 | |||
31 | /** | ||
32 | * @brief Cortex core model. | ||
33 | */ | ||
34 | #define CORTEX_MODEL 0 | ||
35 | |||
36 | /** | ||
37 | * @brief Floating Point unit presence. | ||
38 | */ | ||
39 | #define CORTEX_HAS_FPU 0 | ||
40 | |||
41 | /** | ||
42 | * @brief Number of bits in priority masks. | ||
43 | */ | ||
44 | #define CORTEX_PRIORITY_BITS 2 | ||
45 | |||
46 | /** | ||
47 | * @brief Number of interrupt vectors. | ||
48 | * @note This number does not include the 16 system vectors and must be | ||
49 | * rounded to a multiple of 8. | ||
50 | */ | ||
51 | #define CORTEX_NUM_VECTORS 32 | ||
52 | |||
53 | /* The following code is not processed when the file is included from an | ||
54 | asm module.*/ | ||
55 | #if !defined(_FROM_ASM_) | ||
56 | |||
57 | /* If the device type is not externally defined, for example from the Makefile, | ||
58 | then a file named board.h is included. This file must contain a device | ||
59 | definition compatible with the vendor include file.*/ | ||
60 | #if !defined(NUC123SD4AN0) && !defined(NUC123SC2AN1) && \ | ||
61 | !defined(NUC123LD4AN0) && !defined(NUC123LC2AN1) && \ | ||
62 | !defined(NUC123ZD4AN0) && !defined(NUC123ZC2AN1) && \ | ||
63 | !defined(NUC123SD4AE0) && !defined(NUC123SC2AE1) && \ | ||
64 | !defined(NUC123LD4AE0) && !defined(NUC123LC2AE1) && \ | ||
65 | !defined(NUC123ZD4AE0) && !defined(NUC123ZC2AE1) | ||
66 | #include "board.h" | ||
67 | #endif | ||
68 | |||
69 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
70 | from this header because we need this file to be usable also from | ||
71 | assembler source files. We verify that the info matches instead.*/ | ||
72 | #include "NUC123.h" | ||
73 | |||
74 | /*lint -save -e9029 [10.4] Signedness comes from external files, it is | ||
75 | unpredictable but gives no problems.*/ | ||
76 | #if CORTEX_MODEL != __CORTEX_M | ||
77 | #error "CMSIS __CORTEX_M mismatch" | ||
78 | #endif | ||
79 | |||
80 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
81 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
82 | #endif | ||
83 | /*lint -restore*/ | ||
84 | |||
85 | #endif /* !defined(_FROM_ASM_) */ | ||
86 | |||
87 | #endif /* CMPARAMS_H */ | ||
88 | |||
89 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/TM4C123x/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/TM4C123x/cmparams.h new file mode 100644 index 000000000..7c4059147 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/TM4C123x/cmparams.h | |||
@@ -0,0 +1,127 @@ | |||
1 | /* | ||
2 | Copyright (C) 2014..2017 Marco Veeneman | ||
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 TM4C123x/cmparams.h | ||
19 | * @brief ARM Cortex-M4 parameters for the TM4C123x. | ||
20 | * | ||
21 | * @defgroup ARMCMx_TM4C123x TM4C123x Specific Parameters | ||
22 | * @ingroup ARMCMx_SPECIFIC | ||
23 | * @details This file contains the Cortex-M4 specific parameters for the | ||
24 | * TM4C123x platform. | ||
25 | * @{ | ||
26 | */ | ||
27 | |||
28 | #ifndef CMPARAMS_H | ||
29 | #define CMPARAMS_H | ||
30 | |||
31 | /* Defines required for correct CMSIS header functioning */ | ||
32 | #define __MPU_PRESENT 1 /**< MPU present */ | ||
33 | #define __NVIC_PRIO_BITS 3 /**< Bits used for Priority Levels */ | ||
34 | #define __Vendor_SysTickConfig 1 /**< Use different SysTick Config */ | ||
35 | #define __FPU_PRESENT 1 /**< FPU present */ | ||
36 | |||
37 | /* The following two defines are needed by ChibiOS */ | ||
38 | #define SVCall_IRQn -5 | ||
39 | #define PendSV_IRQn -3 | ||
40 | |||
41 | /** | ||
42 | * @brief Cortex core model. | ||
43 | */ | ||
44 | #define CORTEX_MODEL 4 | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU 1 | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 3 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 144 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* If the device type is not externally defined, for example from the Makefile, | ||
68 | then a file named board.h is included. This file must contain a device | ||
69 | definition compatible with the include file.*/ | ||
70 | #if !defined (PART_TM4C1230C3PM) && !defined (PART_TM4C1230D5PM) && \ | ||
71 | !defined (PART_TM4C1230E6PM) && !defined (PART_TM4C1230H6PM) && \ | ||
72 | !defined (PART_TM4C1231C3PM) && !defined (PART_TM4C1231D5PM) && \ | ||
73 | !defined (PART_TM4C1231D5PZ) && !defined (PART_TM4C1231E6PM) && \ | ||
74 | !defined (PART_TM4C1231E6PZ) && !defined (PART_TM4C1231H6PGE) && \ | ||
75 | !defined (PART_TM4C1231H6PM) && !defined (PART_TM4C1231H6PZ) && \ | ||
76 | !defined (PART_TM4C1232C3PM) && !defined (PART_TM4C1232D5PM) && \ | ||
77 | !defined (PART_TM4C1232E6PM) && !defined (PART_TM4C1232H6PM) && \ | ||
78 | !defined (PART_TM4C1233C3PM) && !defined (PART_TM4C1233D5PM) && \ | ||
79 | !defined (PART_TM4C1233D5PZ) && !defined (PART_TM4C1233E6PM) && \ | ||
80 | !defined (PART_TM4C1233E6PZ) && !defined (PART_TM4C1233H6PGE) && \ | ||
81 | !defined (PART_TM4C1233H6PM) && !defined (PART_TM4C1233H6PZ) && \ | ||
82 | !defined (PART_TM4C1236D5PM) && !defined (PART_TM4C1236E6PM) && \ | ||
83 | !defined (PART_TM4C1236H6PM) && !defined (PART_TM4C1237D5PM) && \ | ||
84 | !defined (PART_TM4C1237D5PZ) && !defined (PART_TM4C1237E6PM) && \ | ||
85 | !defined (PART_TM4C1237E6PZ) && !defined (PART_TM4C1237H6PGE) && \ | ||
86 | !defined (PART_TM4C1237H6PM) && !defined (PART_TM4C1237H6PZ) && \ | ||
87 | !defined (PART_TM4C123AE6PM) && !defined (PART_TM4C123AH6PM) && \ | ||
88 | !defined (PART_TM4C123BE6PM) && !defined (PART_TM4C123BE6PZ) && \ | ||
89 | !defined (PART_TM4C123BH6PGE) && !defined (PART_TM4C123BH6PM) && \ | ||
90 | !defined (PART_TM4C123BH6PZ) && !defined (PART_TM4C123BH6ZRB) && \ | ||
91 | !defined (PART_TM4C123FE6PM) && !defined (PART_TM4C123FH6PM) && \ | ||
92 | !defined (PART_TM4C123GE6PM) && !defined (PART_TM4C123GE6PZ) && \ | ||
93 | !defined (PART_TM4C123GH6PGE) && !defined (PART_TM4C123GH6PM) && \ | ||
94 | !defined (PART_TM4C123GH6PZ) && !defined (PART_TM4C123GH6ZRB) && \ | ||
95 | !defined (PART_TM4C123GH5ZXR) | ||
96 | #include "board.h" | ||
97 | #endif | ||
98 | |||
99 | typedef int IRQn_Type; | ||
100 | |||
101 | #include "core_cm4.h" | ||
102 | |||
103 | /* Including the TivaWare peripheral headers.*/ | ||
104 | #include "inc/hw_ints.h" | ||
105 | #include "inc/hw_memmap.h" | ||
106 | #include "inc/hw_types.h" | ||
107 | #include "inc/hw_timer.h" | ||
108 | #include "inc/hw_sysctl.h" | ||
109 | #include "inc/hw_gpio.h" | ||
110 | #include "inc/hw_uart.h" | ||
111 | #include "inc/hw_timer.h" | ||
112 | #include "inc/hw_i2c.h" | ||
113 | #include "inc/hw_watchdog.h" | ||
114 | #include "inc/hw_ssi.h" | ||
115 | #include "inc/hw_udma.h" | ||
116 | #include "inc/hw_pwm.h" | ||
117 | #include "inc/hw_adc.h" | ||
118 | |||
119 | #if CORTEX_NUM_VECTORS != ((((NUM_INTERRUPTS - 16) + 7) / 8) * 8) | ||
120 | #error "TivaWare NUM_INTERRUPTS mismatch" | ||
121 | #endif | ||
122 | |||
123 | #endif /* !defined(_FROM_ASM_) */ | ||
124 | |||
125 | #endif /* CMPARAMS_H */ | ||
126 | |||
127 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/TM4C129x/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/TM4C129x/cmparams.h new file mode 100644 index 000000000..7bf68a02d --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/TM4C129x/cmparams.h | |||
@@ -0,0 +1,112 @@ | |||
1 | /* | ||
2 | Copyright (C) 2014..2017 Marco Veeneman | ||
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 TM4C129x/cmparams.h | ||
19 | * @brief ARM Cortex-M4 parameters for the TM4C129x. | ||
20 | * | ||
21 | * @defgroup ARMCMx_TM4C129x TM4C129x Specific Parameters | ||
22 | * @ingroup ARMCMx_SPECIFIC | ||
23 | * @details This file contains the Cortex-M4 specific parameters for the | ||
24 | * TM4C129x platform. | ||
25 | * @{ | ||
26 | */ | ||
27 | |||
28 | #ifndef CMPARAMS_H | ||
29 | #define CMPARAMS_H | ||
30 | |||
31 | /* Defines required for correct CMSIS header functioning */ | ||
32 | #define __MPU_PRESENT 1 /**< MPU present */ | ||
33 | #define __NVIC_PRIO_BITS 3 /**< Bits used for Priority Levels */ | ||
34 | #define __Vendor_SysTickConfig 1 /**< Use different SysTick Config */ | ||
35 | #define __FPU_PRESENT 1 /**< FPU present */ | ||
36 | |||
37 | /* The following two defines are needed by ChibiOS */ | ||
38 | #define SVCall_IRQn -5 | ||
39 | #define PendSV_IRQn -3 | ||
40 | |||
41 | /** | ||
42 | * @brief Cortex core model. | ||
43 | */ | ||
44 | #define CORTEX_MODEL 4 | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU 1 | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 3 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 120 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | /* If the device type is not externally defined, for example from the Makefile, | ||
68 | then a file named board.h is included. This file must contain a device | ||
69 | definition compatible with the include file.*/ | ||
70 | #if !defined (PART_TM4C1290NCPDT) && !defined (PART_TM4C1290NCZAD) && \ | ||
71 | !defined (PART_TM4C1292NCPDT) && !defined (PART_TM4C1292NCZAD) && \ | ||
72 | !defined (PART_TM4C1294KCPDT) && !defined (PART_TM4C1294NCPDT) && \ | ||
73 | !defined (PART_TM4C1294NCZAD) && !defined (PART_TM4C1297NCZAD) && \ | ||
74 | !defined (PART_TM4C1299KCZAD) && !defined (PART_TM4C1299NCZAD) && \ | ||
75 | !defined (PART_TM4C129CNCPDT) && !defined (PART_TM4C129CNCZAD) && \ | ||
76 | !defined (PART_TM4C129DNCPDT) && !defined (PART_TM4C129DNCZAD) && \ | ||
77 | !defined (PART_TM4C129EKCPDT) && !defined (PART_TM4C129ENCPDT) && \ | ||
78 | !defined (PART_TM4C129ENCZAD) && !defined (PART_TM4C129LNCZAD) && \ | ||
79 | !defined (PART_TM4C129XKCZAD) && !defined (PART_TM4C129XNCZAD) | ||
80 | #include "board.h" | ||
81 | #endif | ||
82 | |||
83 | typedef int IRQn_Type; | ||
84 | |||
85 | #include "core_cm4.h" | ||
86 | |||
87 | /* Including the TivaWare peripheral headers.*/ | ||
88 | #include "inc/hw_ints.h" | ||
89 | #include "inc/hw_memmap.h" | ||
90 | #include "inc/hw_types.h" | ||
91 | #include "inc/hw_timer.h" | ||
92 | #include "inc/hw_sysctl.h" | ||
93 | #include "inc/hw_gpio.h" | ||
94 | #include "inc/hw_uart.h" | ||
95 | #include "inc/hw_timer.h" | ||
96 | #include "inc/hw_emac.h" | ||
97 | #include "inc/hw_i2c.h" | ||
98 | #include "inc/hw_watchdog.h" | ||
99 | #include "inc/hw_ssi.h" | ||
100 | #include "inc/hw_udma.h" | ||
101 | #include "inc/hw_pwm.h" | ||
102 | #include "inc/hw_adc.h" | ||
103 | |||
104 | #if CORTEX_NUM_VECTORS != ((((NUM_INTERRUPTS - 16) + 7) / 8) * 8) | ||
105 | #error "TivaWare NUM_INTERRUPTS mismatch" | ||
106 | #endif | ||
107 | |||
108 | #endif /* !defined(_FROM_ASM_) */ | ||
109 | |||
110 | #endif /* CMPARAMS_H */ | ||
111 | |||
112 | /** @} */ | ||
diff --git a/lib/chibios-contrib/os/common/startup/ARMCMx/devices/WB32F3G71xx/cmparams.h b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/WB32F3G71xx/cmparams.h new file mode 100644 index 000000000..fae1fb518 --- /dev/null +++ b/lib/chibios-contrib/os/common/startup/ARMCMx/devices/WB32F3G71xx/cmparams.h | |||
@@ -0,0 +1,88 @@ | |||
1 | /* | ||
2 | ChibiOS/RT - Copyright (C) 2006-2014 Giovanni Di Sirio. | ||
3 | (C) 2015 RedoX https://github.com/RedoXyde | ||
4 | (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd | ||
5 | |||
6 | This file is part of ChibiOS/RT. | ||
7 | |||
8 | ChibiOS/RT is free software; you can redistribute it and/or modify | ||
9 | it under the terms of the GNU General Public License as published by | ||
10 | the Free Software Foundation; either version 3 of the License, or | ||
11 | (at your option) any later version. | ||
12 | |||
13 | ChibiOS/RT is distributed in the hope that it will be useful, | ||
14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
16 | GNU General Public License for more details. | ||
17 | |||
18 | You should have received a copy of the GNU General Public License | ||
19 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
20 | */ | ||
21 | |||
22 | /** | ||
23 | * @file WB32F3G71xx/cmparams.h | ||
24 | * @brief ARM Cortex-M3 parameters for the Westberry WB32F3G71xx | ||
25 | * | ||
26 | * @defgroup ARMCMx_WB32F3G71xx Westberry WB32F3G71xx Specific Parameters | ||
27 | * @ingroup ARMCMx_SPECIFIC | ||
28 | * @details This file contains the Cortex-M3 specific parameters for the | ||
29 | * Westberry WB32F3G71xx platform. | ||
30 | * @{ | ||
31 | */ | ||
32 | |||
33 | #ifndef _CMPARAMS_H_ | ||
34 | #define _CMPARAMS_H_ | ||
35 | |||
36 | /** | ||
37 | * @brief Cortex core model. | ||
38 | */ | ||
39 | #define CORTEX_MODEL 3 | ||
40 | |||
41 | /** | ||
42 | * @brief Systick unit presence. | ||
43 | */ | ||
44 | #define CORTEX_HAS_ST TRUE | ||
45 | |||
46 | /** | ||
47 | * @brief Floating Point unit presence. | ||
48 | */ | ||
49 | #define CORTEX_HAS_FPU FALSE | ||
50 | |||
51 | /** | ||
52 | * @brief Number of bits in priority masks. | ||
53 | */ | ||
54 | #define CORTEX_PRIORITY_BITS 4 | ||
55 | |||
56 | /** | ||
57 | * @brief Number of interrupt vectors. | ||
58 | * @note This number does not include the 16 system vectors and must be | ||
59 | * rounded to a multiple of 8. | ||
60 | */ | ||
61 | #define CORTEX_NUM_VECTORS 40 | ||
62 | |||
63 | /* The following code is not processed when the file is included from an | ||
64 | asm module.*/ | ||
65 | #if !defined(_FROM_ASM_) | ||
66 | |||
67 | #if !defined (WB32F3G71xx) | ||
68 | #include "board.h" | ||
69 | #endif | ||
70 | |||
71 | /* Including the device CMSIS header. Note, we are not using the definitions | ||
72 | from this header because we need this file to be usable also from | ||
73 | assembler source files. We verify that the info matches instead.*/ | ||
74 | #include "wb32f3g71xx.h" | ||
75 | |||
76 | #if CORTEX_MODEL != __CORTEX_M | ||
77 | #error "CMSIS __CORTEX_M mismatch" | ||
78 | #endif | ||
79 | |||
80 | #if CORTEX_PRIORITY_BITS != __NVIC_PRIO_BITS | ||
81 | #error "CMSIS __NVIC_PRIO_BITS mismatch" | ||
82 | #endif | ||
83 | |||
84 | #endif /* !defined(_FROM_ASM_) */ | ||
85 | |||
86 | #endif /* _CMPARAMS_H_ */ | ||
87 | |||
88 | /** @} */ | ||