硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1843|回复: 5
收起左侧

[HAL] 升级STM32H7的HAL到最新版V1.10弹出一堆identifier MDMA_HandleTypeDef is undefined解决办法

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
发表于 2021-4-22 12:19:50 | 显示全部楼层 |阅读模式
现象:
QQ截图20210422121833.png

解决办法:
升级下stm32h7xx_hal_conf.h文件即可,或者手动调节下mdma和sram头文件的顺序即可


回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2021-4-22 12:25:08 | 显示全部楼层
升级版:

  1. /**
  2.   ******************************************************************************
  3.   * @file    stm32h7xx_hal_conf_template.h
  4.   * @author  MCD Application Team
  5.   * @brief   HAL configuration template file.
  6.   *          This file should be copied to the application folder and renamed
  7.   *          to stm32h7xx_hal_conf.h.
  8.   ******************************************************************************
  9.   * @attention
  10.   *
  11.   * <h2><center>&#169; Copyright (c) 2017 STMicroelectronics.
  12.   * All rights reserved.</center></h2>
  13.   *
  14.   * This software component is licensed by ST under BSD 3-Clause license,
  15.   * the "License"; You may not use this file except in compliance with the
  16.   * License. You may obtain a copy of the License at:
  17.   *                        opensource.org/licenses/BSD-3-Clause
  18.   *
  19.   ******************************************************************************
  20.   */

  21. /* Define to prevent recursive inclusion -------------------------------------*/
  22. #ifndef __STM32H7xx_HAL_CONF_H
  23. #define __STM32H7xx_HAL_CONF_H

  24. #ifdef __cplusplus
  25. extern "C" {
  26. #endif

  27. /* Exported types ------------------------------------------------------------*/
  28. /* Exported constants --------------------------------------------------------*/

  29. /* ########################## Module Selection ############################## */
  30. /**
  31.   * @brief This is the list of modules to be used in the HAL driver
  32.   */
  33. #define HAL_MODULE_ENABLED  
  34. #define HAL_ADC_MODULE_ENABLED
  35. #define HAL_CEC_MODULE_ENABLED
  36. #define HAL_COMP_MODULE_ENABLED
  37. #define HAL_CORTEX_MODULE_ENABLED
  38. #define HAL_CRC_MODULE_ENABLED  
  39. #define HAL_CRYP_MODULE_ENABLED
  40. #define HAL_DAC_MODULE_ENABLED
  41. #define HAL_DCMI_MODULE_ENABLED
  42. #define HAL_DFSDM_MODULE_ENABLED
  43. #define HAL_DMA_MODULE_ENABLED
  44. #define HAL_DMA2D_MODULE_ENABLED
  45. #define HAL_ETH_MODULE_ENABLED
  46. #define HAL_EXTI_MODULE_ENABLED
  47. #define HAL_FDCAN_MODULE_ENABLED
  48. #define HAL_FLASH_MODULE_ENABLED
  49. #define HAL_GPIO_MODULE_ENABLED
  50. #define HAL_HASH_MODULE_ENABLED
  51. #define HAL_HCD_MODULE_ENABLED
  52. #define HAL_HRTIM_MODULE_ENABLED
  53. #define HAL_HSEM_MODULE_ENABLED
  54. #define HAL_I2C_MODULE_ENABLED
  55. #define HAL_I2S_MODULE_ENABLED
  56. #define HAL_IRDA_MODULE_ENABLED
  57. #define HAL_IWDG_MODULE_ENABLED
  58. #define HAL_JPEG_MODULE_ENABLED
  59. #define HAL_LPTIM_MODULE_ENABLED
  60. #define HAL_LTDC_MODULE_ENABLED
  61. #define HAL_MDIOS_MODULE_ENABLED
  62. #define HAL_MDMA_MODULE_ENABLED
  63. #define HAL_MMC_MODULE_ENABLED
  64. #define HAL_NAND_MODULE_ENABLED
  65. #define HAL_NOR_MODULE_ENABLED
  66. #define HAL_OPAMP_MODULE_ENABLED   
  67. #define HAL_PCD_MODULE_ENABLED
  68. #define HAL_PWR_MODULE_ENABLED
  69. #define HAL_QSPI_MODULE_ENABLED
  70. #define HAL_RAMECC_MODULE_ENABLED     
  71. #define HAL_RCC_MODULE_ENABLED
  72. #define HAL_RNG_MODULE_ENABLED   
  73. #define HAL_RTC_MODULE_ENABLED
  74. #define HAL_SAI_MODULE_ENABLED   
  75. #define HAL_SD_MODULE_ENABLED
  76. #define HAL_SDRAM_MODULE_ENABLED
  77. #define HAL_SMARTCARD_MODULE_ENABLED
  78. #define HAL_SMBUS_MODULE_ENABLED
  79. #define HAL_SPDIFRX_MODULE_ENABLED
  80. #define HAL_SPI_MODULE_ENABLED
  81. #define HAL_SRAM_MODULE_ENABLED
  82. #define HAL_SWPMI_MODULE_ENABLED
  83. #define HAL_TIM_MODULE_ENABLED   
  84. #define HAL_UART_MODULE_ENABLED
  85. #define HAL_USART_MODULE_ENABLED
  86. #define HAL_WWDG_MODULE_ENABLED

  87. /* ########################## Oscillator Values adaptation ####################*/
  88. /**
  89.   * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
  90.   *        This value is used by the RCC HAL module to compute the system frequency
  91.   *        (when HSE is used as system clock source, directly or through the PLL).  
  92.   */
  93. #if !defined  (HSE_VALUE)
  94. #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
  95. #endif /* HSE_VALUE */

  96. #if !defined  (HSE_STARTUP_TIMEOUT)
  97.   #define HSE_STARTUP_TIMEOUT    ((uint32_t)100)   /*!< Time out for HSE start up, in ms */
  98. #endif /* HSE_STARTUP_TIMEOUT */

  99. /**
  100.   * @brief Internal  oscillator (CSI) default value.
  101.   *        This value is the default CSI value after Reset.
  102.   */
  103. #if !defined  (CSI_VALUE)
  104.   #define CSI_VALUE    ((uint32_t)4000000) /*!< Value of the Internal oscillator in Hz*/
  105. #endif /* CSI_VALUE */
  106.    
  107. /**
  108.   * @brief Internal High Speed oscillator (HSI) value.
  109.   *        This value is used by the RCC HAL module to compute the system frequency
  110.   *        (when HSI is used as system clock source, directly or through the PLL).
  111.   */
  112. #if !defined  (HSI_VALUE)
  113.   #define HSI_VALUE    ((uint32_t)64000000) /*!< Value of the Internal oscillator in Hz*/
  114. #endif /* HSI_VALUE */

  115. /**
  116.   * @brief External Low Speed oscillator (LSE) value.
  117.   *        This value is used by the UART, RTC HAL module to compute the system frequency
  118.   */
  119. #if !defined  (LSE_VALUE)
  120.   #define LSE_VALUE    ((uint32_t)32768) /*!< Value of the External oscillator in Hz*/
  121. #endif /* LSE_VALUE */

  122.    
  123. #if !defined  (LSE_STARTUP_TIMEOUT)
  124.   #define LSE_STARTUP_TIMEOUT    ((uint32_t)5000)   /*!< Time out for LSE start up, in ms */
  125. #endif /* LSE_STARTUP_TIMEOUT */

  126. #if !defined  (LSI_VALUE)
  127.   #define LSI_VALUE  ((uint32_t)32000)      /*!< LSI Typical Value in Hz*/
  128. #endif /* LSI_VALUE */                      /*!< Value of the Internal Low Speed oscillator in Hz
  129.                                               The real value may vary depending on the variations
  130.                                               in voltage and temperature.*/

  131. /**
  132.   * @brief External clock source for I2S peripheral
  133.   *        This value is used by the I2S HAL module to compute the I2S clock source
  134.   *        frequency, this source is inserted directly through I2S_CKIN pad.
  135.   */
  136. #if !defined  (EXTERNAL_CLOCK_VALUE)
  137.   #define EXTERNAL_CLOCK_VALUE    12288000U /*!< Value of the External clock in Hz*/
  138. #endif /* EXTERNAL_CLOCK_VALUE */

  139. /* Tip: To avoid modifying this file each time you need to use different HSE,
  140.    ===  you can define the HSE value in your toolchain compiler preprocessor. */

  141. /* ########################### System Configuration ######################### */
  142. /**
  143.   * @brief This is the HAL system configuration section
  144.   */     
  145. #define  VDD_VALUE                    3300UL /*!< Value of VDD in mv */
  146. #define  TICK_INT_PRIORITY            ((uint32_t)0x0F) /*!< tick interrupt priority */
  147. #define  USE_RTOS                     0
  148. #define  USE_SD_TRANSCEIVER           1U               /*!< use uSD Transceiver */
  149. #define  USE_SPI_CRC                  1U               /*!< use CRC in SPI */

  150. /* ########################### Ethernet Configuration ######################### */
  151. #define ETH_TX_DESC_CNT         4  /* number of Ethernet Tx DMA descriptors */
  152. #define ETH_RX_DESC_CNT         4  /* number of Ethernet Rx DMA descriptors */

  153. #define ETH_MAC_ADDR0    ((uint8_t)0x02)
  154. #define ETH_MAC_ADDR1    ((uint8_t)0x00)
  155. #define ETH_MAC_ADDR2    ((uint8_t)0x00)
  156. #define ETH_MAC_ADDR3    ((uint8_t)0x00)
  157. #define ETH_MAC_ADDR4    ((uint8_t)0x00)
  158. #define ETH_MAC_ADDR5    ((uint8_t)0x00)

  159. /* ########################## Assert Selection ############################## */
  160. /**
  161.   * @brief Uncomment the line below to expanse the "assert_param" macro in the
  162.   *        HAL drivers code
  163.   */
  164. /* #define USE_FULL_ASSERT    1 */


  165. /* Includes ------------------------------------------------------------------*/
  166. /**
  167.   * @brief Include module's header file
  168.   */

  169. #ifdef HAL_RCC_MODULE_ENABLED
  170.   #include "stm32h7xx_hal_rcc.h"
  171. #endif /* HAL_RCC_MODULE_ENABLED */

  172. #ifdef HAL_GPIO_MODULE_ENABLED
  173.   #include "stm32h7xx_hal_gpio.h"
  174. #endif /* HAL_GPIO_MODULE_ENABLED */

  175. #ifdef HAL_DMA_MODULE_ENABLED
  176.   #include "stm32h7xx_hal_dma.h"
  177. #endif /* HAL_DMA_MODULE_ENABLED */

  178. #ifdef HAL_MDMA_MODULE_ENABLED
  179. #include "stm32h7xx_hal_mdma.h"
  180. #endif /* HAL_MDMA_MODULE_ENABLED */

  181. #ifdef HAL_HASH_MODULE_ENABLED
  182.   #include "stm32h7xx_hal_hash.h"
  183. #endif /* HAL_HASH_MODULE_ENABLED */

  184. #ifdef HAL_DCMI_MODULE_ENABLED
  185.   #include "stm32h7xx_hal_dcmi.h"
  186. #endif /* HAL_DCMI_MODULE_ENABLED */

  187. #ifdef HAL_DMA2D_MODULE_ENABLED
  188.   #include "stm32h7xx_hal_dma2d.h"
  189. #endif /* HAL_DMA2D_MODULE_ENABLED */

  190. #ifdef HAL_DFSDM_MODULE_ENABLED
  191.   #include "stm32h7xx_hal_dfsdm.h"
  192. #endif /* HAL_DFSDM_MODULE_ENABLED */

  193. #ifdef HAL_ETH_MODULE_ENABLED
  194.   #include "stm32h7xx_hal_eth.h"
  195. #endif /* HAL_ETH_MODULE_ENABLED */
  196.    
  197. #ifdef HAL_EXTI_MODULE_ENABLED
  198.   #include "stm32h7xx_hal_exti.h"
  199. #endif /* HAL_EXTI_MODULE_ENABLED */

  200. #ifdef HAL_CORTEX_MODULE_ENABLED
  201.   #include "stm32h7xx_hal_cortex.h"
  202. #endif /* HAL_CORTEX_MODULE_ENABLED */

  203. #ifdef HAL_ADC_MODULE_ENABLED
  204.   #include "stm32h7xx_hal_adc.h"
  205. #endif /* HAL_ADC_MODULE_ENABLED */

  206. #ifdef HAL_FDCAN_MODULE_ENABLED
  207.   #include "stm32h7xx_hal_fdcan.h"
  208. #endif /* HAL_FDCAN_MODULE_ENABLED */

  209. #ifdef HAL_CEC_MODULE_ENABLED
  210.   #include "stm32h7xx_hal_cec.h"
  211. #endif /* HAL_CEC_MODULE_ENABLED */

  212. #ifdef HAL_COMP_MODULE_ENABLED
  213.   #include "stm32h7xx_hal_comp.h"
  214. #endif /* HAL_COMP_MODULE_ENABLED */

  215. #ifdef HAL_CRC_MODULE_ENABLED
  216.   #include "stm32h7xx_hal_crc.h"
  217. #endif /* HAL_CRC_MODULE_ENABLED */

  218. #ifdef HAL_CRYP_MODULE_ENABLED
  219.   #include "stm32h7xx_hal_cryp.h"
  220. #endif /* HAL_CRYP_MODULE_ENABLED */

  221. #ifdef HAL_DAC_MODULE_ENABLED
  222.   #include "stm32h7xx_hal_dac.h"
  223. #endif /* HAL_DAC_MODULE_ENABLED */

  224. #ifdef HAL_FLASH_MODULE_ENABLED
  225.   #include "stm32h7xx_hal_flash.h"
  226. #endif /* HAL_FLASH_MODULE_ENABLED */

  227. #ifdef HAL_HRTIM_MODULE_ENABLED
  228.   #include "stm32h7xx_hal_hrtim.h"
  229. #endif /* HAL_HRTIM_MODULE_ENABLED */

  230. #ifdef HAL_HSEM_MODULE_ENABLED
  231.   #include "stm32h7xx_hal_hsem.h"
  232. #endif /* HAL_HSEM_MODULE_ENABLED */

  233. #ifdef HAL_SRAM_MODULE_ENABLED
  234.   #include "stm32h7xx_hal_sram.h"
  235. #endif /* HAL_SRAM_MODULE_ENABLED */

  236. #ifdef HAL_NOR_MODULE_ENABLED
  237.   #include "stm32h7xx_hal_nor.h"
  238. #endif /* HAL_NOR_MODULE_ENABLED */

  239. #ifdef HAL_NAND_MODULE_ENABLED
  240.   #include "stm32h7xx_hal_nand.h"
  241. #endif /* HAL_NAND_MODULE_ENABLED */
  242.       
  243. #ifdef HAL_I2C_MODULE_ENABLED
  244. #include "stm32h7xx_hal_i2c.h"
  245. #endif /* HAL_I2C_MODULE_ENABLED */

  246. #ifdef HAL_I2S_MODULE_ENABLED
  247. #include "stm32h7xx_hal_i2s.h"
  248. #endif /* HAL_I2S_MODULE_ENABLED */

  249. #ifdef HAL_IWDG_MODULE_ENABLED
  250. #include "stm32h7xx_hal_iwdg.h"
  251. #endif /* HAL_IWDG_MODULE_ENABLED */

  252. #ifdef HAL_JPEG_MODULE_ENABLED
  253. #include "stm32h7xx_hal_jpeg.h"
  254. #endif /* HAL_JPEG_MODULE_ENABLED */

  255. #ifdef HAL_MDIOS_MODULE_ENABLED
  256. #include "stm32h7xx_hal_mdios.h"
  257. #endif /* HAL_MDIOS_MODULE_ENABLED */


  258. #ifdef HAL_MMC_MODULE_ENABLED
  259. #include "stm32h7xx_hal_mmc.h"
  260. #endif /* HAL_MMC_MODULE_ENABLED */
  261.    
  262. #ifdef HAL_LPTIM_MODULE_ENABLED
  263. #include "stm32h7xx_hal_lptim.h"
  264. #endif /* HAL_LPTIM_MODULE_ENABLED */

  265. #ifdef HAL_LTDC_MODULE_ENABLED
  266. #include "stm32h7xx_hal_ltdc.h"
  267. #endif /* HAL_LTDC_MODULE_ENABLED */

  268. #ifdef HAL_OPAMP_MODULE_ENABLED
  269. #include "stm32h7xx_hal_opamp.h"
  270. #endif /* HAL_OPAMP_MODULE_ENABLED */
  271.    
  272. #ifdef HAL_PWR_MODULE_ENABLED
  273. #include "stm32h7xx_hal_pwr.h"
  274. #endif /* HAL_PWR_MODULE_ENABLED */

  275. #ifdef HAL_QSPI_MODULE_ENABLED
  276. #include "stm32h7xx_hal_qspi.h"
  277. #endif /* HAL_QSPI_MODULE_ENABLED */

  278. #ifdef HAL_RAMECC_MODULE_ENABLED
  279. #include "stm32h7xx_hal_ramecc.h"
  280. #endif /* HAL_HCD_MODULE_ENABLED */
  281.    
  282. #ifdef HAL_RNG_MODULE_ENABLED
  283. #include "stm32h7xx_hal_rng.h"
  284. #endif /* HAL_RNG_MODULE_ENABLED */

  285. #ifdef HAL_RTC_MODULE_ENABLED
  286. #include "stm32h7xx_hal_rtc.h"
  287. #endif /* HAL_RTC_MODULE_ENABLED */

  288. #ifdef HAL_SAI_MODULE_ENABLED
  289. #include "stm32h7xx_hal_sai.h"
  290. #endif /* HAL_SAI_MODULE_ENABLED */

  291. #ifdef HAL_SD_MODULE_ENABLED
  292. #include "stm32h7xx_hal_sd.h"
  293. #endif /* HAL_SD_MODULE_ENABLED */

  294. #ifdef HAL_SDRAM_MODULE_ENABLED
  295. #include "stm32h7xx_hal_sdram.h"
  296. #endif /* HAL_SDRAM_MODULE_ENABLED */
  297.    
  298. #ifdef HAL_SPI_MODULE_ENABLED
  299. #include "stm32h7xx_hal_spi.h"
  300. #endif /* HAL_SPI_MODULE_ENABLED */

  301. #ifdef HAL_SPDIFRX_MODULE_ENABLED
  302. #include "stm32h7xx_hal_spdifrx.h"
  303. #endif /* HAL_SPDIFRX_MODULE_ENABLED */

  304. #ifdef HAL_SWPMI_MODULE_ENABLED
  305. #include "stm32h7xx_hal_swpmi.h"
  306. #endif /* HAL_SWPMI_MODULE_ENABLED */

  307. #ifdef HAL_TIM_MODULE_ENABLED
  308. #include "stm32h7xx_hal_tim.h"
  309. #endif /* HAL_TIM_MODULE_ENABLED */

  310. #ifdef HAL_UART_MODULE_ENABLED
  311. #include "stm32h7xx_hal_uart.h"
  312. #endif /* HAL_UART_MODULE_ENABLED */

  313. #ifdef HAL_USART_MODULE_ENABLED
  314. #include "stm32h7xx_hal_usart.h"
  315. #endif /* HAL_USART_MODULE_ENABLED */

  316. #ifdef HAL_IRDA_MODULE_ENABLED
  317. #include "stm32h7xx_hal_irda.h"
  318. #endif /* HAL_IRDA_MODULE_ENABLED */

  319. #ifdef HAL_SMARTCARD_MODULE_ENABLED
  320. #include "stm32h7xx_hal_smartcard.h"
  321. #endif /* HAL_SMARTCARD_MODULE_ENABLED */

  322. #ifdef HAL_SMBUS_MODULE_ENABLED
  323. #include "stm32h7xx_hal_smbus.h"
  324. #endif /* HAL_SMBUS_MODULE_ENABLED */

  325. #ifdef HAL_WWDG_MODULE_ENABLED
  326. #include "stm32h7xx_hal_wwdg.h"
  327. #endif /* HAL_WWDG_MODULE_ENABLED */
  328.    
  329. #ifdef HAL_PCD_MODULE_ENABLED
  330. #include "stm32h7xx_hal_pcd.h"
  331. #endif /* HAL_PCD_MODULE_ENABLED */

  332. #ifdef HAL_HCD_MODULE_ENABLED
  333. #include "stm32h7xx_hal_hcd.h"
  334. #endif /* HAL_HCD_MODULE_ENABLED */
  335.    
  336. /* Exported macro ------------------------------------------------------------*/
  337. #ifdef  USE_FULL_ASSERT
  338. /**
  339.   * @brief  The assert_param macro is used for function's parameters check.
  340.   * @param  expr: If expr is false, it calls assert_failed function
  341.   *         which reports the name of the source file and the source
  342.   *         line number of the call that failed.
  343.   *         If expr is true, it returns no value.
  344.   * @retval None
  345.   */
  346.   #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
  347. /* Exported functions ------------------------------------------------------- */
  348.   void assert_failed(uint8_t* file, uint32_t line);
  349. #else
  350.   #define assert_param(expr) ((void)0U)
  351. #endif /* USE_FULL_ASSERT */

  352. #ifdef __cplusplus
  353. }
  354. #endif

  355. #endif /* __STM32H7xx_HAL_CONF_H */


  356. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
复制代码


回复

使用道具 举报

3

主题

163

回帖

172

积分

初级会员

积分
172
发表于 2021-4-22 13:34:05 | 显示全部楼层
这个1.10的版本在哪找的?我咋找的都是1.9的。
回复

使用道具 举报

18

主题

285

回帖

339

积分

高级会员

积分
339
发表于 2021-4-22 14:10:18 | 显示全部楼层
正需要,多谢多谢
回复

使用道具 举报

2

主题

62

回帖

68

积分

初级会员

积分
68
发表于 2021-4-23 08:59:33 | 显示全部楼层
看了一下 升级概要,如果原来用的挺稳定,没必要升级库文件吧,大概看了一下,主要就是增加新型号的支持吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106726
QQ
 楼主| 发表于 2021-4-23 09:04:26 | 显示全部楼层
heluo1985 发表于 2021-4-23 08:59
看了一下 升级概要,如果原来用的挺稳定,没必要升级库文件吧,大概看了一下,主要就是增加新型号的支持吧

主要是USB,eMMC等驱动bug的修正,最好升级。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-2 14:17 , Processed in 0.174673 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表