Skip to content

Commit d418667

Browse files
authored
Merge pull request #13690 from jeromecoutant/PR_H7_180
STM32H7 update drivers version to CUBE V1.8.0
2 parents 27d1050 + 3f843d5 commit d418667

File tree

205 files changed

+164895
-4848
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+164895
-4848
lines changed

targets/TARGET_STM/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ This table summarizes the STM32Cube versions currently used in Mbed OS master br
6969
| F7 | 1.16.0 | https://github.com/STMicroelectronics/STM32CubeF7 |
7070
| G0 | 1.3.0 | https://github.com/STMicroelectronics/STM32CubeG0 |
7171
| G4 | 1.1.0 | https://github.com/STMicroelectronics/STM32CubeG4 |
72-
| H7 | 1.7.0 | https://github.com/STMicroelectronics/STM32CubeH7 |
72+
| H7 | 1.8.0 | https://github.com/STMicroelectronics/STM32CubeH7 |
7373
| L0 | 1.11.3 | https://github.com/STMicroelectronics/STM32CubeL0 |
7474
| L1 | 1.8.1 | https://github.com/STMicroelectronics/STM32CubeL1 |
7575
| L4 | 1.16.0 | https://github.com/STMicroelectronics/STM32CubeL4 |

targets/TARGET_STM/TARGET_STM32H7/PeripheralNames.h

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,18 @@
11
/* mbed Microcontroller Library
2-
*******************************************************************************
3-
* Copyright (c) 2016, STMicroelectronics
4-
* All rights reserved.
2+
* SPDX-License-Identifier: BSD-3-Clause
3+
******************************************************************************
54
*
6-
* Redistribution and use in source and binary forms, with or without
7-
* modification, are permitted provided that the following conditions are met:
5+
* Copyright (c) 2015-2020 STMicroelectronics.
6+
* All rights reserved.
87
*
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.
8+
* This software component is licensed by ST under BSD 3-Clause license,
9+
* the "License"; You may not use this file except in compliance with the
10+
* License. You may obtain a copy of the License at:
11+
* opensource.org/licenses/BSD-3-Clause
1712
*
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-
*******************************************************************************
13+
******************************************************************************
2914
*/
15+
3016
#ifndef MBED_PERIPHERALNAMES_H
3117
#define MBED_PERIPHERALNAMES_H
3218

@@ -39,11 +25,16 @@ extern "C" {
3925
typedef enum {
4026
ADC_1 = (int)ADC1_BASE,
4127
ADC_2 = (int)ADC2_BASE,
28+
#if ADC3_BASE
4229
ADC_3 = (int)ADC3_BASE
30+
#endif
4331
} ADCName;
4432

4533
typedef enum {
46-
DAC_1 = DAC1_BASE
34+
DAC_1 = DAC1_BASE,
35+
#if DAC2_BASE
36+
DAC_2 = DAC2_BASE,
37+
#endif
4738
} DACName;
4839

4940
typedef enum {
@@ -55,6 +46,12 @@ typedef enum {
5546
UART_6 = (int)USART6_BASE,
5647
UART_7 = (int)UART7_BASE,
5748
UART_8 = (int)UART8_BASE,
49+
#if UART9_BASE
50+
UART_9 = (int)UART9_BASE,
51+
#endif
52+
#if USART10_BASE
53+
UART_10 = (int)USART10_BASE,
54+
#endif
5855
LPUART_1 = (int)LPUART1_BASE
5956
} UARTName;
6057

@@ -76,7 +73,9 @@ typedef enum {
7673
} I2CName;
7774

7875
typedef enum {
76+
#if HRTIM1_BASE
7977
PWM_I = (int)HRTIM1_BASE,
78+
#endif
8079
PWM_1 = (int)TIM1_BASE,
8180
PWM_2 = (int)TIM2_BASE,
8281
PWM_3 = (int)TIM3_BASE,
@@ -97,11 +96,21 @@ typedef enum {
9796
} CANName;
9897

9998
typedef enum {
99+
#if QSPI_R_BASE
100100
QSPI_1 = (int)QSPI_R_BASE,
101+
#endif
102+
#if OCTOSPI1_R_BASE
103+
QSPI_1 = (int)OCTOSPI1_R_BASE,
104+
#endif
105+
#if OCTOSPI2_R_BASE
106+
QSPI_2 = (int)OCTOSPI2_R_BASE,
107+
#endif
101108
} QSPIName;
102109

103110
typedef enum {
111+
#if USB_OTG_FS_PERIPH_BASE
104112
USB_FS = (int)USB_OTG_FS_PERIPH_BASE,
113+
#endif
105114
USB_HS = (int)USB_OTG_HS_PERIPH_BASE
106115
} USBName;
107116

targets/TARGET_STM/TARGET_STM32H7/README.md

Lines changed: 88 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,20 @@
44

55
[GitHub STM32CubeH7 FW](https://github.com/STMicroelectronics/STM32CubeH7)
66

7+
# Single core STM32
78

8-
# NUCLEO_H743ZI / NUCLEO_H743ZI2
9-
10-
Note that NUCLEO_H743ZI is deprecated. Please update your board to NUCLEO_H743ZI2:
11-
- new MCU chip revision
12-
- new ST Link version
9+
## STM32H743xx
1310

1411
STM32H743ZI devices are based on the high-performance Arm Cortex-M7 32-bit RISC core operating at up to 480 MHz.
1512

1613
[st.com STM32H743ZI MCU page](https://www.st.com/en/microcontrollers-microprocessors/stm32h743zi.html)
1714

15+
### NUCLEO_H743ZI2
16+
1817
[st.com NUCLEO page](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html)
1918

2019
[mbed.com Target page](https://os.mbed.com/platforms/ST-Nucleo-H743ZI2/)
2120

22-
2321
- Total FLASH is 2 MB (0x200000)
2422
- 2x8 sectors of 128 KB
2523
- Flash memory bank 1 @ 0x0800 0000
@@ -33,10 +31,53 @@ STM32H743ZI devices are based on the high-performance Arm Cortex-M7 32-bit RISC
3331
- SRAM3 : 32 KB (0x8000) @0x3004 0000
3432
- SRAM4 : 64 KB (0x10000) @0x3800 0000
3533

34+
### NUCLEO_H743ZI
35+
36+
Note that NUCLEO_H743ZI is deprecated. Please update your board to NUCLEO_H743ZI2:
37+
- new MCU chip revision
38+
- new ST Link version
39+
40+
**How to use NUCLEO_H743ZI with mbed-os-6:**
41+
42+
PeripheralPins.c and PinNames.h are available in mbed-os repo,
43+
so you just have to create a custom_targets.json file with:
3644

37-
# DISCO_H747I
45+
```
46+
{
47+
"NUCLEO_H743ZI": {
48+
"inherits": [
49+
"MCU_STM32H743xI"
50+
],
51+
"config": {
52+
"d11_configuration": {
53+
"help": "Value: PB_5 for the default board configuration, PA_7 in case of solder bridge update (SB33 on/ SB35 off)",
54+
"value": "PB_5",
55+
"macro_name": "STM32_D11_SPI_ETHERNET_PIN"
56+
},
57+
"hse_value": {
58+
"value": "8000000",
59+
"macro_name": "HSE_VALUE"
60+
}
61+
},
62+
"device_has_add": [
63+
"EMAC"
64+
],
65+
"overrides": {
66+
"network-default-interface-type": "ETHERNET"
67+
},
68+
"supported_form_factors": [
69+
"ARDUINO"
70+
],
71+
"device_name": "STM32H743ZI"
72+
}
73+
}
74+
```
3875

39-
## Overview
76+
# Dual core STM32
77+
78+
## STM32H747xx
79+
80+
### DISCO_H747I
4081

4182
The STM32H7x7 lines combine the performance of the Cortex-M7 (with double-precision floating point unit) running up to 480 MHz and the Cortex-M4 core (with single-precision floating point unit).
4283

@@ -58,6 +99,45 @@ The STM32H7x7 lines combine the performance of the Cortex-M7 (with double-precis
5899
- SRAM3 : 32 KB (0x8000) @0x3004 0000 - shared
59100
- SRAM4 : 64 KB (0x10000) @0x3800 0000 - shared
60101

102+
103+
**WARNING**: Ethernet connector is not enabled by default on this board
104+
105+
More information in the wiki page : [Ethernet HW Patch](https://os.mbed.com/teams/ST/wiki/DISCO_H747I-modifications-for-Ethernet)
106+
107+
108+
## STM32H745xx
109+
110+
111+
[st.com STM32H745 MCU page](https://www.st.com/en/microcontrollers-microprocessors/stm32h745-755.html)
112+
113+
**How to create a custom board with STM32H745xI MCU:**
114+
115+
After creating your local PeripheralPins.c and PinNames.h files in TARGET_BOARD_H745xI directory,
116+
117+
create a custom_targets.json file with:
118+
119+
```
120+
{
121+
"BOARD_H745xI_CM4": {
122+
"inherits": [
123+
"MCU_STM32H745xI_CM4"
124+
],
125+
"extra_labels_add": [
126+
"BOARD_H745xI"
127+
]
128+
},
129+
"BOARD_H745xI_CM7": {
130+
"inherits": [
131+
"MCU_STM32H745xI_CM7"
132+
],
133+
"extra_labels_add": [
134+
"BOARD_H745xI"
135+
]
136+
}
137+
}
138+
```
139+
140+
61141
## Dual mode configuration
62142

63143
Configuration can be checked/changed with STM32CubeProgrammer software in the Option bytes (OB) panel.
@@ -151,10 +231,3 @@ export PATH=$FLASHPATH:$PATH
151231
STM32_Programmer_CLI -c port=SWD mode=UR -w BUILD/DISCO_H747I_CM4/ARM/mbed-os.bin 0x8100000
152232
```
153233

154-
## Ethernet limitation
155-
156-
**WARNING**: Ethernet connector is not enabled by default
157-
158-
More information in the wiki page : [Ethernet HW Patch](https://os.mbed.com/teams/ST/wiki/DISCO_H747I-modifications-for-Ethernet)
159-
160-

0 commit comments

Comments
 (0)