Skip to content

Commit 39197e6

Browse files
LMESTMLaurent MEUNIER
authored andcommitted
[NUCLEO_F446ZE] Add HAL target
Inspired from NUCLEO_F446RE, only PinNames.h updated according to NUCLEO_F446ZE schematics.
1 parent d6e7df9 commit 39197e6

File tree

7 files changed

+937
-0
lines changed

7 files changed

+937
-0
lines changed

hal/targets.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,6 +751,18 @@
751751
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
752752
"default_build": "small"
753753
},
754+
"NUCLEO_F446ZE": {
755+
"supported_form_factors": ["ARDUINO", "MORPHO"],
756+
"core": "Cortex-M4F",
757+
"default_toolchain": "uARM",
758+
"extra_labels": ["STM", "STM32F4", "STM32F446ZE"],
759+
"supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
760+
"inherits": ["Target"],
761+
"progen": {"target": "nucleo-f446ze"},
762+
"detect_code": ["0778"],
763+
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "ERROR_RED", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
764+
"default_build": "small"
765+
},
754766
"B96B_F446VE": {
755767
"supported_form_factors": ["ARDUINO", "MORPHO"],
756768
"core": "Cortex-M4F",
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
/* mbed Microcontroller Library
2+
*******************************************************************************
3+
* Copyright (c) 2014, STMicroelectronics
4+
* All rights reserved.
5+
*
6+
* Redistribution and use in source and binary forms, with or without
7+
* modification, are permitted provided that the following conditions are met:
8+
*
9+
* 1. Redistributions of source code must retain the above copyright notice,
10+
* this list of conditions and the following disclaimer.
11+
* 2. Redistributions in binary form must reproduce the above copyright notice,
12+
* this list of conditions and the following disclaimer in the documentation
13+
* and/or other materials provided with the distribution.
14+
* 3. Neither the name of STMicroelectronics nor the names of its contributors
15+
* may be used to endorse or promote products derived from this software
16+
* without specific prior written permission.
17+
*
18+
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19+
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20+
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21+
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
22+
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23+
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
24+
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
25+
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
26+
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27+
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28+
*******************************************************************************
29+
*/
30+
#ifndef MBED_PERIPHERALNAMES_H
31+
#define MBED_PERIPHERALNAMES_H
32+
33+
#include "cmsis.h"
34+
35+
#ifdef __cplusplus
36+
extern "C" {
37+
#endif
38+
39+
typedef enum {
40+
ADC_1 = (int)ADC1_BASE,
41+
ADC_2 = (int)ADC2_BASE,
42+
ADC_3 = (int)ADC3_BASE
43+
} ADCName;
44+
45+
typedef enum {
46+
DAC_1 = (int)DAC_BASE
47+
} DACName;
48+
49+
typedef enum {
50+
UART_1 = (int)USART1_BASE,
51+
UART_2 = (int)USART2_BASE,
52+
UART_3 = (int)USART3_BASE,
53+
UART_4 = (int)UART4_BASE,
54+
UART_5 = (int)UART5_BASE,
55+
UART_6 = (int)USART6_BASE
56+
} UARTName;
57+
58+
#define STDIO_UART_TX SERIAL_TX
59+
#define STDIO_UART_RX SERIAL_RX
60+
#define STDIO_UART UART_3
61+
62+
typedef enum {
63+
SPI_1 = (int)SPI1_BASE,
64+
SPI_2 = (int)SPI2_BASE,
65+
SPI_3 = (int)SPI3_BASE,
66+
SPI_4 = (int)SPI4_BASE
67+
} SPIName;
68+
69+
typedef enum {
70+
I2C_1 = (int)I2C1_BASE,
71+
I2C_2 = (int)I2C2_BASE,
72+
I2C_3 = (int)I2C3_BASE,
73+
FMPI2C_1 = (int)FMPI2C1_BASE
74+
} I2CName;
75+
76+
typedef enum {
77+
PWM_1 = (int)TIM1_BASE,
78+
PWM_2 = (int)TIM2_BASE,
79+
PWM_3 = (int)TIM3_BASE,
80+
PWM_4 = (int)TIM4_BASE,
81+
PWM_5 = (int)TIM5_BASE,
82+
PWM_8 = (int)TIM8_BASE,
83+
PWM_9 = (int)TIM9_BASE,
84+
PWM_10 = (int)TIM10_BASE,
85+
PWM_11 = (int)TIM11_BASE,
86+
PWM_12 = (int)TIM12_BASE,
87+
PWM_13 = (int)TIM13_BASE,
88+
PWM_14 = (int)TIM14_BASE
89+
} PWMName;
90+
91+
typedef enum {
92+
CAN_1 = (int)CAN1_BASE,
93+
CAN_2 = (int)CAN2_BASE
94+
} CANName;
95+
96+
#ifdef __cplusplus
97+
}
98+
#endif
99+
100+
#endif

0 commit comments

Comments
 (0)