Skip to content

Commit ce83029

Browse files
authored
Merge pull request #1909 from ohagendorf/stm32f7cube_2
[STM32F7xx] update cube hal to v1.4, adding NUCLEO_F767
2 parents 6e103c3 + 4211f75 commit ce83029

File tree

182 files changed

+60359
-26362
lines changed

Some content is hidden

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

182 files changed

+60359
-26362
lines changed

hal/targets.json

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,7 @@
767767
"core": "Cortex-M7F",
768768
"extra_labels": ["STM", "STM32F7", "STM32F746", "STM32F746ZG"],
769769
"supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
770+
"default_toolchain": "ARM",
770771
"progen": {
771772
"target": "nucleo-f746zg",
772773
"iar": {
@@ -789,6 +790,17 @@
789790
"progen": {"target":"nucleo-l011k4"},
790791
"device_has": ["ANALOGIN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"]
791792
},
793+
"NUCLEO_F767ZI": {
794+
"inherits": ["Target"],
795+
"core": "Cortex-M7F",
796+
"extra_labels": ["STM", "STM32F7", "STM32F767", "STM32F767ZI"],
797+
"supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
798+
"default_toolchain": "ARM",
799+
"progen": {"target": "nucleo-f767zi"},
800+
"detect_code": ["0818"],
801+
"device_has": ["ANALOGIN", "ANALOGOUT", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
802+
"default_build": "standard"
803+
},
792804
"NUCLEO_L031K6": {
793805
"inherits": ["Target"],
794806
"core": "Cortex-M0",
@@ -968,9 +980,11 @@
968980
"core": "Cortex-M7F",
969981
"extra_labels": ["STM", "STM32F7", "STM32F746", "STM32F746NG"],
970982
"supported_toolchains": ["ARM", "uARM", "GCC_ARM", "IAR"],
983+
"default_toolchain": "ARM",
971984
"progen": {"target": "disco-f746ng"},
972985
"detect_code": ["0815"],
973-
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"]
986+
"device_has": ["ANALOGIN", "ANALOGOUT", "CAN", "I2C", "I2CSLAVE", "INTERRUPTIN", "PORTIN", "PORTINOUT", "PORTOUT", "PWMOUT", "RTC", "SERIAL", "SLEEP", "SPI", "SPISLAVE", "STDIO_MESSAGES"],
987+
"default_build": "standard"
974988
},
975989
"DISCO_L476VG": {
976990
"inherits": ["Target"],

hal/targets/cmsis/TARGET_STM/TARGET_STM32F7/Release_Notes_stm32f7xx_hal.html

Lines changed: 202 additions & 2 deletions
Large diffs are not rendered by default.

hal/targets/cmsis/TARGET_STM/TARGET_STM32F7/TARGET_DISCO_F746NG/stm32f746xx.h

Lines changed: 6213 additions & 6220 deletions
Large diffs are not rendered by default.

hal/targets/cmsis/TARGET_STM/TARGET_STM32F7/TARGET_DISCO_F746NG/stm32f7xx.h

Lines changed: 32 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f7xx.h
44
* @author MCD Application Team
5-
* @version V1.0.2
6-
* @date 21-September-2015
5+
* @version V1.1.0
6+
* @date 22-April-2016
77
* @brief CMSIS STM32F7xx Device Peripheral Access Layer Header File.
88
*
99
* The file is the unique include file that the application programmer
@@ -74,12 +74,21 @@
7474
/* Uncomment the line below according to the target STM32 device used in your
7575
application
7676
*/
77-
#if !defined (STM32F756xx) && !defined (STM32F746xx) && !defined (STM32F745xx)
77+
#if !defined (STM32F756xx) && !defined (STM32F746xx) && !defined (STM32F745xx) && !defined (STM32F767xx) && \
78+
!defined (STM32F769xx) && !defined (STM32F777xx) && !defined (STM32F779xx)
7879
/* #define STM32F756xx */ /*!< STM32F756VG, STM32F756ZG, STM32F756ZG, STM32F756IG, STM32F756BG,
7980
STM32F756NG Devices */
8081
#define STM32F746xx /*!< STM32F746VE, STM32F746VG, STM32F746ZE, STM32F746ZG, STM32F746IE, STM32F746IG,
8182
STM32F746BE, STM32F746BG, STM32F746NE, STM32F746NG Devices */
8283
/* #define STM32F745xx */ /*!< STM32F745VE, STM32F745VG, STM32F745ZG, STM32F745ZE, STM32F745IE, STM32F745IG Devices */
84+
/* #define STM32F765xx */ /*!< STM32F765BI, STM32F765BG, STM32F765NI, STM32F765NG, STM32F765II, STM32F765IG,
85+
STM32F765ZI, STM32F765ZG, STM32F765VI, STM32F765VG Devices */
86+
/* #define STM32F767xx */ /*!< STM32F767BG, STM32F767BI, STM32F767IG, STM32F767II, STM32F767NG, STM32F767NI,
87+
STM32F767VG, STM32F767VI, STM32F767ZG, STM32F767ZI, STM32F768AI Devices */
88+
/* #define STM32F769xx */ /*!< STM32F769AG, STM32F769AI, STM32F769BG, STM32F769BI, STM32F769IG, STM32F769II,
89+
STM32F769NG, STM32F769NI Devices */
90+
/* #define STM32F777xx */ /*!< STM32F777VI, STM32F777ZI, STM32F777II, STM32F777BI, STM32F777NI, STM32F778AI Devices */
91+
/* #define STM32F779xx */ /*!< STM32F779II, STM32F779BI, STM32F779NI, STM32F779AI Devices */
8392
#endif
8493

8594
/* Tip: To avoid modifying this file each time you need to switch between these
@@ -96,16 +105,16 @@
96105
#endif /* USE_HAL_DRIVER */
97106

98107
/**
99-
* @brief CMSIS Device version number V1.0.1
100-
*/
101-
#define __STM32F7xx_CMSIS_DEVICE_VERSION_MAIN (0x01) /*!< [31:24] main version */
102-
#define __STM32F7xx_CMSIS_DEVICE_VERSION_SUB1 (0x00) /*!< [23:16] sub1 version */
103-
#define __STM32F7xx_CMSIS_DEVICE_VERSION_SUB2 (0x01) /*!< [15:8] sub2 version */
104-
#define __STM32F7xx_CMSIS_DEVICE_VERSION_RC (0x00) /*!< [7:0] release candidate */
105-
#define __STM32F7xx_CMSIS_DEVICE_VERSION ((__STM32F7xx_CMSIS_DEVICE_VERSION_MAIN << 24)\
106-
|(__STM32F7xx_CMSIS_DEVICE_VERSION_SUB1 << 16)\
107-
|(__STM32F7xx_CMSIS_DEVICE_VERSION_SUB2 << 8 )\
108-
|(__STM32F7xx_CMSIS_DEVICE_VERSION))
108+
* @brief CMSIS Device version number V1.1.0
109+
*/
110+
#define __STM32F7_CMSIS_VERSION_MAIN (0x01) /*!< [31:24] main version */
111+
#define __STM32F7_CMSIS_VERSION_SUB1 (0x01) /*!< [23:16] sub1 version */
112+
#define __STM32F7_CMSIS_VERSION_SUB2 (0x00) /*!< [15:8] sub2 version */
113+
#define __STM32F7_CMSIS_VERSION_RC (0x00) /*!< [7:0] release candidate */
114+
#define __STM32F7_CMSIS_VERSION ((__STM32F7_CMSIS_VERSION_MAIN << 24)\
115+
|(__STM32F7_CMSIS_VERSION_SUB1 << 16)\
116+
|(__STM32F7_CMSIS_VERSION_SUB2 << 8 )\
117+
|(__STM32F7_CMSIS_VERSION))
109118
/**
110119
* @}
111120
*/
@@ -119,6 +128,16 @@
119128
#include "stm32f746xx.h"
120129
#elif defined(STM32F745xx)
121130
#include "stm32f745xx.h"
131+
#elif defined(STM32F765xx)
132+
#include "stm32f765xx.h"
133+
#elif defined(STM32F767xx)
134+
#include "stm32f767xx.h"
135+
#elif defined(STM32F769xx)
136+
#include "stm32f769xx.h"
137+
#elif defined(STM32F777xx)
138+
#include "stm32f777xx.h"
139+
#elif defined(STM32F779xx)
140+
#include "stm32f779xx.h"
122141
#else
123142
#error "Please select first the target STM32F7xx device used in your application (in stm32f7xx.h file)"
124143
#endif

hal/targets/cmsis/TARGET_STM/TARGET_STM32F7/TARGET_DISCO_F746NG/stm32f7xx_hal_conf.h

Lines changed: 85 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file stm32f7xx_hal_conf_template.h
44
* @author MCD Application Team
5-
* @version V1.0.4
6-
* @date 09-December-2015
5+
* @version V1.1.0
6+
* @date 22-April-2016
77
* @brief HAL configuration template file.
88
* This file should be copied to the application folder and renamed
99
* to stm32f7xx_hal_conf.h.
@@ -93,6 +93,10 @@
9393
#define HAL_CORTEX_MODULE_ENABLED
9494
#define HAL_PCD_MODULE_ENABLED
9595
#define HAL_HCD_MODULE_ENABLED
96+
#define HAL_DFSDM_MODULE_ENABLED
97+
#define HAL_DSI_MODULE_ENABLED
98+
#define HAL_JPEG_MODULE_ENABLED
99+
#define HAL_MDIOS_MODULE_ENABLED
96100

97101

98102
/* ########################## HSE/HSI Values adaptation ##################### */
@@ -102,11 +106,11 @@
102106
* (when HSE is used as system clock source, directly or through the PLL).
103107
*/
104108
#if !defined (HSE_VALUE)
105-
#define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
109+
#define HSE_VALUE 25000000U /*!< Value of the External oscillator in Hz */
106110
#endif /* HSE_VALUE */
107111

108112
#if !defined (HSE_STARTUP_TIMEOUT)
109-
#define HSE_STARTUP_TIMEOUT ((uint32_t)200) /*!< Time out for HSE start up, in ms */
113+
#define HSE_STARTUP_TIMEOUT 200U /*!< Time out for HSE start up, in ms */
110114
#endif /* HSE_STARTUP_TIMEOUT */
111115

112116
/**
@@ -115,31 +119,35 @@
115119
* (when HSI is used as system clock source, directly or through the PLL).
116120
*/
117121
#if !defined (HSI_VALUE)
118-
#define HSI_VALUE ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
122+
#define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
119123
#endif /* HSI_VALUE */
120124

121125
/**
122126
* @brief Internal Low Speed oscillator (LSI) value.
123127
*/
124128
#if !defined (LSI_VALUE)
125-
#define LSI_VALUE ((uint32_t)32000) /*!< LSI Typical Value in Hz*/
129+
#define LSI_VALUE 32000U /*!< LSI Typical Value in Hz*/
126130
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
127131
The real value may vary depending on the variations
128132
in voltage and temperature. */
129133
/**
130134
* @brief External Low Speed oscillator (LSE) value.
131135
*/
132136
#if !defined (LSE_VALUE)
133-
#define LSE_VALUE ((uint32_t)32768) /*!< Value of the External Low Speed oscillator in Hz */
137+
#define LSE_VALUE 32768U /*!< Value of the External Low Speed oscillator in Hz */
134138
#endif /* LSE_VALUE */
135139

140+
#if !defined (LSE_STARTUP_TIMEOUT)
141+
#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
142+
#endif /* LSE_STARTUP_TIMEOUT */
143+
136144
/**
137145
* @brief External clock source for I2S peripheral
138146
* This value is used by the I2S HAL module to compute the I2S clock source
139147
* frequency, this source is inserted directly through I2S_CKIN pad.
140148
*/
141149
#if !defined (EXTERNAL_CLOCK_VALUE)
142-
#define EXTERNAL_CLOCK_VALUE ((uint32_t)12288000) /*!< Value of the Internal oscillator in Hz*/
150+
#define EXTERNAL_CLOCK_VALUE 12288000U /*!< Value of the Internal oscillator in Hz*/
143151
#endif /* EXTERNAL_CLOCK_VALUE */
144152

145153
/* Tip: To avoid modifying this file each time you need to use different HSE,
@@ -149,11 +157,11 @@
149157
/**
150158
* @brief This is the HAL system configuration section
151159
*/
152-
#define VDD_VALUE ((uint32_t)3300) /*!< Value of VDD in mv */
153-
#define TICK_INT_PRIORITY ((uint32_t)0x0F) /*!< tick interrupt priority */
154-
#define USE_RTOS 0
155-
#define PREFETCH_ENABLE 1
156-
#define ART_ACCLERATOR_ENABLE 1 /* To enable instruction cache and prefetch */
160+
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
161+
#define TICK_INT_PRIORITY 0x0FU /*!< tick interrupt priority */
162+
#define USE_RTOS 0U
163+
#define PREFETCH_ENABLE 1U
164+
#define ART_ACCLERATOR_ENABLE 1U /* To enable instruction cache and prefetch */
157165

158166
/* ########################## Assert Selection ############################## */
159167
/**
@@ -167,66 +175,75 @@
167175
/* Section 1 : Ethernet peripheral configuration */
168176

169177
/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
170-
#define MAC_ADDR0 2
171-
#define MAC_ADDR1 0
172-
#define MAC_ADDR2 0
173-
#define MAC_ADDR3 0
174-
#define MAC_ADDR4 0
175-
#define MAC_ADDR5 0
178+
#define MAC_ADDR0 2U
179+
#define MAC_ADDR1 0U
180+
#define MAC_ADDR2 0U
181+
#define MAC_ADDR3 0U
182+
#define MAC_ADDR4 0U
183+
#define MAC_ADDR5 0U
176184

177185
/* Definition of the Ethernet driver buffers size and count */
178186
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */
179187
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
180-
#define ETH_RXBUFNB ((uint32_t)4) /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
181-
#define ETH_TXBUFNB ((uint32_t)4) /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
188+
#define ETH_RXBUFNB 4U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
189+
#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
182190

183191
/* Section 2: PHY configuration section */
184192

185193
/* DP83848 PHY Address*/
186-
#define DP83848_PHY_ADDRESS 0x01
194+
#define DP83848_PHY_ADDRESS 0x01U
187195
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
188-
#define PHY_RESET_DELAY ((uint32_t)0x000000FF)
196+
#define PHY_RESET_DELAY 0x000000FFU
189197
/* PHY Configuration delay */
190-
#define PHY_CONFIG_DELAY ((uint32_t)0x00000FFF)
198+
#define PHY_CONFIG_DELAY 0x00000FFFU
191199

192-
#define PHY_READ_TO ((uint32_t)0x0000FFFF)
193-
#define PHY_WRITE_TO ((uint32_t)0x0000FFFF)
200+
#define PHY_READ_TO 0x0000FFFFU
201+
#define PHY_WRITE_TO 0x0000FFFFU
194202

195203
/* Section 3: Common PHY Registers */
196204

197-
#define PHY_BCR ((uint16_t)0x00) /*!< Transceiver Basic Control Register */
198-
#define PHY_BSR ((uint16_t)0x01) /*!< Transceiver Basic Status Register */
205+
#define PHY_BCR ((uint16_t)0x00U) /*!< Transceiver Basic Control Register */
206+
#define PHY_BSR ((uint16_t)0x01U) /*!< Transceiver Basic Status Register */
199207

200-
#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */
201-
#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */
202-
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */
203-
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */
204-
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */
205-
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */
206-
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */
207-
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */
208-
#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */
209-
#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */
210-
211-
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */
212-
#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */
213-
#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */
208+
#define PHY_RESET ((uint16_t)0x8000U) /*!< PHY Reset */
209+
#define PHY_LOOPBACK ((uint16_t)0x4000U) /*!< Select loop-back mode */
210+
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100U) /*!< Set the full-duplex mode at 100 Mb/s */
211+
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000U) /*!< Set the half-duplex mode at 100 Mb/s */
212+
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100U) /*!< Set the full-duplex mode at 10 Mb/s */
213+
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000U) /*!< Set the half-duplex mode at 10 Mb/s */
214+
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000U) /*!< Enable auto-negotiation function */
215+
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200U) /*!< Restart auto-negotiation function */
216+
#define PHY_POWERDOWN ((uint16_t)0x0800U) /*!< Select the power down mode */
217+
#define PHY_ISOLATE ((uint16_t)0x0400U) /*!< Isolate PHY from MII */
218+
219+
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020U) /*!< Auto-Negotiation process completed */
220+
#define PHY_LINKED_STATUS ((uint16_t)0x0004U) /*!< Valid link established */
221+
#define PHY_JABBER_DETECTION ((uint16_t)0x0002U) /*!< Jabber condition detected */
214222

215223
/* Section 4: Extended PHY Registers */
216224

217-
#define PHY_SR ((uint16_t)0x10) /*!< PHY status register Offset */
218-
#define PHY_MICR ((uint16_t)0x11) /*!< MII Interrupt Control Register */
219-
#define PHY_MISR ((uint16_t)0x12) /*!< MII Interrupt Status and Misc. Control Register */
225+
#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */
226+
#define PHY_MICR ((uint16_t)0x11U) /*!< MII Interrupt Control Register */
227+
#define PHY_MISR ((uint16_t)0x12U) /*!< MII Interrupt Status and Misc. Control Register */
220228

221-
#define PHY_LINK_STATUS ((uint16_t)0x0001) /*!< PHY Link mask */
222-
#define PHY_SPEED_STATUS ((uint16_t)0x0002) /*!< PHY Speed mask */
223-
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004) /*!< PHY Duplex mask */
229+
#define PHY_LINK_STATUS ((uint16_t)0x0001U) /*!< PHY Link mask */
230+
#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */
231+
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */
232+
233+
#define PHY_MICR_INT_EN ((uint16_t)0x0002U) /*!< PHY Enable interrupts */
234+
#define PHY_MICR_INT_OE ((uint16_t)0x0001U) /*!< PHY Enable output interrupt events */
235+
236+
#define PHY_MISR_LINK_INT_EN ((uint16_t)0x0020U) /*!< Enable Interrupt on change of link status */
237+
#define PHY_LINK_INTERRUPT ((uint16_t)0x2000U) /*!< PHY link status interrupt mask */
238+
239+
/* ################## SPI peripheral configuration ########################## */
224240

225-
#define PHY_MICR_INT_EN ((uint16_t)0x0002) /*!< PHY Enable interrupts */
226-
#define PHY_MICR_INT_OE ((uint16_t)0x0001) /*!< PHY Enable output interrupt events */
241+
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
242+
* Activated: CRC code is present inside driver
243+
* Deactivated: CRC code cleaned from driver
244+
*/
227245

228-
#define PHY_MISR_LINK_INT_EN ((uint16_t)0x0020) /*!< Enable Interrupt on change of link status */
229-
#define PHY_LINK_INTERRUPT ((uint16_t)0x2000) /*!< PHY link status interrupt mask */
246+
#define USE_SPI_CRC 1U
230247

231248
/* Includes ------------------------------------------------------------------*/
232249
/**
@@ -392,6 +409,22 @@
392409
#ifdef HAL_HCD_MODULE_ENABLED
393410
#include "stm32f7xx_hal_hcd.h"
394411
#endif /* HAL_HCD_MODULE_ENABLED */
412+
413+
#ifdef HAL_DFSDM_MODULE_ENABLED
414+
#include "stm32f7xx_hal_dfsdm.h"
415+
#endif /* HAL_DFSDM_MODULE_ENABLED */
416+
417+
#ifdef HAL_DSI_MODULE_ENABLED
418+
#include "stm32f7xx_hal_dsi.h"
419+
#endif /* HAL_DSI_MODULE_ENABLED */
420+
421+
#ifdef HAL_JPEG_MODULE_ENABLED
422+
#include "stm32f7xx_hal_jpeg.h"
423+
#endif /* HAL_JPEG_MODULE_ENABLED */
424+
425+
#ifdef HAL_MDIOS_MODULE_ENABLED
426+
#include "stm32f7xx_hal_mdios.h"
427+
#endif /* HAL_MDIOS_MODULE_ENABLED */
395428

396429
/* Exported macro ------------------------------------------------------------*/
397430
#ifdef USE_FULL_ASSERT

hal/targets/cmsis/TARGET_STM/TARGET_STM32F7/TARGET_DISCO_F746NG/system_stm32f7xx.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,7 @@ HAL_StatusTypeDef HAL_Init(void);
153153
*/
154154
uint32_t SystemCoreClock = HSI_VALUE;
155155
const uint8_t AHBPrescTable[16] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
156+
const uint8_t APBPrescTable[8] = {0, 0, 0, 0, 1, 2, 3, 4};
156157

157158
/**
158159
* @}

hal/targets/cmsis/TARGET_STM/TARGET_STM32F7/TARGET_DISCO_F746NG/system_stm32f7xx.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
******************************************************************************
33
* @file system_stm32f7xx.h
44
* @author MCD Application Team
5-
* @version V1.0.2
6-
* @date 21-September-2015
5+
* @version V1.1.0
6+
* @date 22-April-2016
77
* @brief CMSIS Cortex-M7 Device System Source File for STM32F7xx devices.
88
******************************************************************************
99
* @attention
@@ -62,10 +62,10 @@
6262
*/
6363

6464

65-
/** @addtogroup STM32F7xx_System_Exported_types
65+
/** @addtogroup STM32F7xx_System_Exported_Variables
6666
* @{
6767
*/
68-
/* This variable is updated in three ways:
68+
/* The SystemCoreClock variable is updated in three ways:
6969
1) by calling CMSIS function SystemCoreClockUpdate()
7070
2) by calling HAL API function HAL_RCC_GetSysClockFreq()
7171
3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
@@ -75,6 +75,9 @@
7575
*/
7676
extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */
7777

78+
extern const uint8_t AHBPrescTable[16]; /*!< AHB prescalers table values */
79+
extern const uint8_t APBPrescTable[8]; /*!< APB prescalers table values */
80+
7881

7982
/**
8083
* @}

0 commit comments

Comments
 (0)