Skip to content

Commit 936467e

Browse files
author
Tauno Magnusson
committed
Adding support for NUCLEO_G431KB. Created this file based on G474RE. Fully verified with Spec Sheets
1 parent f41641a commit 936467e

File tree

1 file changed

+210
-0
lines changed
  • targets/TARGET_STM/TARGET_STM32G4/TARGET_STM32G431xB/TARGET_NUCLEO_G431KB

1 file changed

+210
-0
lines changed
Lines changed: 210 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,210 @@
1+
/* mbed Microcontroller Library
2+
*******************************************************************************
3+
* Copyright (c) 2018, 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+
*/
31+
32+
#ifndef MBED_PINNAMES_H
33+
#define MBED_PINNAMES_H
34+
35+
#include "cmsis.h"
36+
#include "PinNamesTypes.h"
37+
38+
#ifdef __cplusplus
39+
extern "C" {
40+
#endif
41+
42+
typedef enum {
43+
ALT0 = 0x100,
44+
ALT1 = 0x200,
45+
ALT2 = 0x300,
46+
ALT3 = 0x400
47+
} ALTx;
48+
49+
typedef enum {
50+
51+
PA_0 = 0x00,
52+
PA_0_ALT0 = PA_0 | ALT0,
53+
PA_1 = 0x01,
54+
PA_1_ALT0 = PA_1 | ALT0,
55+
PA_2 = 0x02,
56+
PA_2_ALT0 = PA_2 | ALT0,
57+
PA_3 = 0x03,
58+
PA_3_ALT0 = PA_3 | ALT0,
59+
PA_4 = 0x04,
60+
PA_4_ALT0 = PA_4 | ALT0,
61+
PA_5 = 0x05,
62+
PA_6 = 0x06,
63+
PA_6_ALT0 = PA_6 | ALT0,
64+
PA_7 = 0x07,
65+
PA_7_ALT0 = PA_7 | ALT0,
66+
PA_7_ALT1 = PA_7 | ALT1,
67+
PA_7_ALT2 = PA_7 | ALT2,
68+
PA_8 = 0x08,
69+
PA_9 = 0x09,
70+
PA_9_ALT0 = PA_9 | ALT0,
71+
PA_10 = 0x0A,
72+
PA_10_ALT0 = PA_10 | ALT0,
73+
PA_11 = 0x0B,
74+
PA_11_ALT0 = PA_11 | ALT0,
75+
PA_11_ALT1 = PA_11 | ALT1,
76+
PA_12 = 0x0C,
77+
PA_12_ALT0 = PA_12 | ALT0,
78+
PA_12_ALT1 = PA_12 | ALT1,
79+
PA_13 = 0x0D,
80+
PA_13_ALT0 = PA_13 | ALT0,
81+
PA_14 = 0x0E,
82+
PA_15 = 0x0F,
83+
PA_15_ALT0 = PA_15 | ALT0,
84+
85+
PB_0 = 0x10,
86+
PB_0_ALT0 = PB_0 | ALT0,
87+
PB_0_ALT1 = PB_0 | ALT1,
88+
PB_3 = 0x13,
89+
PB_3_ALT0 = PB_0 | ALT0,
90+
PB_4 = 0x14,
91+
PB_4_ALT0 = PB_4 | ALT0,
92+
PB_4_ALT1 = PB_4 | ALT1,
93+
PB_5 = 0x15,
94+
PB_5_ALT0 = PB_5 | ALT0,
95+
PB_5_ALT1 = PB_5 | ALT1,
96+
PB_6 = 0x16,
97+
PB_6_ALT0 = PB_6 | ALT0,
98+
PB_6_ALT1 = PB_6 | ALT1,
99+
PB_7 = 0x17,
100+
PB_7_ALT0 = PB_7 | ALT0,
101+
PB_7_ALT1 = PB_7 | ALT1,
102+
PB_8 = 0x18,
103+
PB_8_ALT0 = PB_8 | ALT0,
104+
PB_8_ALT1 = PB_8 | ALT1,
105+
106+
PF_0 = 0x50,
107+
PF_1 = 0x51,
108+
109+
PG_10 = 0x6A, // WARNING - Not documented in STM32 Ref Guides. Inferred from above.
110+
111+
// ADC internal channels (Tauno WARNING: Not Verified)
112+
ADC_TEMP = 0xF0,
113+
ADC_VREF = 0xF1,
114+
ADC_VBAT = 0xF2,
115+
116+
// Arduino connector namings
117+
A0 = PA_0,
118+
A1 = PA_1,
119+
A2 = PA_3,
120+
A3 = PA_4,
121+
A4 = PB_7, // or PA_5 according to NUCLEO_G431KB manual (solder bridge?)
122+
A5 = PA_15, // or PA_6 according to NUCLEO_G431KB manual
123+
A6 = PA_7,
124+
A7 = PA_2,
125+
126+
D0 = PA_10,
127+
D1 = PA_9,
128+
D2 = PA_12,
129+
D3 = PB_0,
130+
D4 = PB_7,
131+
D5 = PA_15,
132+
D6 = PB_6,
133+
D7 = PF_0,
134+
D8 = PF_1,
135+
D9 = PA_8,
136+
D10 = PA_11,
137+
D11 = PB_5,
138+
D12 = PB_4,
139+
D13 = PB_3, // or PB_8 according to NUCLEO_G431KB manual
140+
D14 = PB_4, // Tauno WARNING: Dummy adds (There is no D14,15 on 431KB)
141+
D15 = PB_3, // Tauno WARNING: Without these 2 dummies compile fails. Remove to see error.
142+
143+
/*** Board LED ***/
144+
145+
// STDIO for console print
146+
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
147+
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
148+
#else
149+
STDIO_UART_TX = PA_2,
150+
#endif
151+
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
152+
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
153+
#else
154+
STDIO_UART_RX = PA_3,
155+
#endif
156+
157+
// Generic signals namings
158+
LED1 = PB_8,
159+
SERIAL_TX = STDIO_UART_TX,
160+
SERIAL_RX = STDIO_UART_RX,
161+
USBTX = STDIO_UART_TX,
162+
USBRX = STDIO_UART_RX,
163+
I2C_SCL = PA_15, // I2C2
164+
I2C_SDA = PB_7, // I2C2
165+
SPI_MOSI = PB_5, // SPI3. Note: In UM2397 it's SPI1, in CubeIDE SPI3
166+
SPI_MISO = PB_4, // SPI3. Note: In UM2397 it's SPI1, in CubeIDE SPI3
167+
SPI_SCK = PB_3, // SPI3. Note: In UM2397 it's SPI1, in CubeIDE SPI3
168+
SPI_CS = PA_11, // UM2397 (PA_11 - SPI_CS handled by GPIO). In CubeIDE PA_15.
169+
PWM_OUT = PB_6,
170+
171+
/**** USB pins ****/
172+
USB_DM = PA_11,
173+
USB_DP = PA_12,
174+
175+
/**** OSCILLATOR pins ****/
176+
RCC_OSC_IN = PF_0,
177+
RCC_OSC_OUT = PF_1,
178+
179+
/**** Miscellaneous pins ****/
180+
USART1_TX = PA_9,
181+
USART1_RX = PA_10,
182+
183+
ADC1_IN3 = PA_2,
184+
ADC1_IN4 = PA_3,
185+
ADC2_IN1 = PA_0,
186+
ADC2_IN2 = PA_1,
187+
ADC2_IN3 = PA_6,
188+
ADC2_IN4 = PA_7,
189+
ADC2_IN13 = PA_5,
190+
ADC2_IN17 = PA_4,
191+
192+
193+
/**** DEBUG pins ****/
194+
SYS_JTCK_SWCLK = PA_14,
195+
SYS_JTDI = PA_15,
196+
SYS_JTDO_SWO = PB_3,
197+
SYS_JTMS_SWDIO = PA_13,
198+
SYS_JTRST = PB_4,
199+
SYS_PVD_IN = PB_7,
200+
SYS_WKUP1 = PA_0,
201+
202+
// Not connected
203+
NC = (int)0xFFFFFFFF
204+
} PinName;
205+
206+
#ifdef __cplusplus
207+
}
208+
#endif
209+
210+
#endif

0 commit comments

Comments
 (0)