first commit
This commit is contained in:
		
						commit
						fba966056a
					
				
					 11 changed files with 1045 additions and 0 deletions
				
			
		
							
								
								
									
										351
									
								
								myapps/first-hal/src/inc/stm32g0xx_hal_conf.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										351
									
								
								myapps/first-hal/src/inc/stm32g0xx_hal_conf.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,351 @@ | |||
| /* USER CODE BEGIN Header */ | ||||
| /**
 | ||||
|   ****************************************************************************** | ||||
|   * @file    stm32g0xx_hal_conf.h | ||||
|   * @author  MCD Application Team | ||||
|   * @brief   HAL configuration file. | ||||
|   ****************************************************************************** | ||||
|   * @attention | ||||
|   * | ||||
|   * Copyright (c) 2018-2020 STMicroelectronics. | ||||
|   * All rights reserved. | ||||
|   * | ||||
|   * This software is licensed under terms that can be found in the LICENSE file | ||||
|   * in the root directory of this software component. | ||||
|   * If no LICENSE file comes with this software, it is provided AS-IS. | ||||
|   * | ||||
|   ****************************************************************************** | ||||
|   */ | ||||
| /* USER CODE END Header */ | ||||
| 
 | ||||
| /* Define to prevent recursive inclusion -------------------------------------*/ | ||||
| #ifndef STM32G0xx_HAL_CONF_H | ||||
| #define STM32G0xx_HAL_CONF_H | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| extern "C" { | ||||
| #endif | ||||
| 
 | ||||
| /* Exported types ------------------------------------------------------------*/ | ||||
| /* Exported constants --------------------------------------------------------*/ | ||||
| 
 | ||||
| /* ########################## Module Selection ############################## */ | ||||
| /**
 | ||||
|   * @brief This is the list of modules to be used in the HAL driver | ||||
|   */ | ||||
| #define HAL_MODULE_ENABLED | ||||
| /* #define HAL_ADC_MODULE_ENABLED   */ | ||||
| /* #define HAL_CEC_MODULE_ENABLED   */ | ||||
| /* #define HAL_COMP_MODULE_ENABLED   */ | ||||
| /* #define HAL_CRC_MODULE_ENABLED   */ | ||||
| /* #define HAL_CRYP_MODULE_ENABLED   */ | ||||
| /* #define HAL_DAC_MODULE_ENABLED   */ | ||||
| /* #define HAL_EXTI_MODULE_ENABLED   */ | ||||
| /* #define HAL_FDCAN_MODULE_ENABLED   */ | ||||
| /* #define HAL_HCD_MODULE_ENABLED   */ | ||||
| /* #define HAL_I2C_MODULE_ENABLED   */ | ||||
| /* #define HAL_I2S_MODULE_ENABLED   */ | ||||
| /* #define HAL_IWDG_MODULE_ENABLED   */ | ||||
| /* #define HAL_IRDA_MODULE_ENABLED   */ | ||||
| /* #define HAL_LPTIM_MODULE_ENABLED   */ | ||||
| /* #define HAL_PCD_MODULE_ENABLED   */ | ||||
| /* #define HAL_RNG_MODULE_ENABLED   */ | ||||
| /* #define HAL_RTC_MODULE_ENABLED   */ | ||||
| /* #define HAL_SMARTCARD_MODULE_ENABLED   */ | ||||
| /* #define HAL_SMBUS_MODULE_ENABLED   */ | ||||
| /* #define HAL_SPI_MODULE_ENABLED   */ | ||||
| /* #define HAL_TIM_MODULE_ENABLED   */ | ||||
| /* #define HAL_UART_MODULE_ENABLED   */ | ||||
| /* #define HAL_USART_MODULE_ENABLED   */ | ||||
| /* #define HAL_WWDG_MODULE_ENABLED   */ | ||||
| #define HAL_GPIO_MODULE_ENABLED | ||||
| #define HAL_EXTI_MODULE_ENABLED | ||||
| #define HAL_DMA_MODULE_ENABLED | ||||
| #define HAL_RCC_MODULE_ENABLED | ||||
| #define HAL_FLASH_MODULE_ENABLED | ||||
| #define HAL_PWR_MODULE_ENABLED | ||||
| #define HAL_CORTEX_MODULE_ENABLED | ||||
| 
 | ||||
| /* ########################## Register Callbacks selection ############################## */ | ||||
| /**
 | ||||
|   * @brief This is the list of modules where register callback can be used | ||||
|   */ | ||||
| #define USE_HAL_ADC_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_CEC_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_COMP_REGISTER_CALLBACKS   0u | ||||
| #define USE_HAL_CRYP_REGISTER_CALLBACKS   0u | ||||
| #define USE_HAL_DAC_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_FDCAN_REGISTER_CALLBACKS  0u | ||||
| #define USE_HAL_HCD_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_I2C_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_I2S_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_IRDA_REGISTER_CALLBACKS   0u | ||||
| #define USE_HAL_LPTIM_REGISTER_CALLBACKS  0u | ||||
| #define USE_HAL_PCD_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_RNG_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_RTC_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_SMBUS_REGISTER_CALLBACKS  0u | ||||
| #define USE_HAL_SPI_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_TIM_REGISTER_CALLBACKS    0u | ||||
| #define USE_HAL_UART_REGISTER_CALLBACKS   0u | ||||
| #define USE_HAL_USART_REGISTER_CALLBACKS  0u | ||||
| #define USE_HAL_WWDG_REGISTER_CALLBACKS   0u | ||||
| 
 | ||||
| /* ########################## Oscillator Values adaptation ####################*/ | ||||
| /**
 | ||||
|   * @brief Adjust the value of External High Speed oscillator (HSE) used in your application. | ||||
|   *        This value is used by the RCC HAL module to compute the system frequency | ||||
|   *        (when HSE is used as system clock source, directly or through the PLL). | ||||
|   */ | ||||
| #if !defined  (HSE_VALUE) | ||||
| #define HSE_VALUE    (8000000UL)         /*!< Value of the External oscillator in Hz */ | ||||
| #endif /* HSE_VALUE */ | ||||
| 
 | ||||
| #if !defined  (HSE_STARTUP_TIMEOUT) | ||||
| #define HSE_STARTUP_TIMEOUT    (100UL)         /*!< Time out for HSE start up, in ms */ | ||||
| #endif /* HSE_STARTUP_TIMEOUT */ | ||||
| 
 | ||||
| /**
 | ||||
|   * @brief Internal High Speed oscillator (HSI) value. | ||||
|   *        This value is used by the RCC HAL module to compute the system frequency | ||||
|   *        (when HSI is used as system clock source, directly or through the PLL). | ||||
|   */ | ||||
| #if !defined  (HSI_VALUE) | ||||
| #define HSI_VALUE    (16000000UL)            /*!< Value of the Internal oscillator in Hz*/ | ||||
| #endif /* HSI_VALUE */ | ||||
| 
 | ||||
| #if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx) | ||||
| /**
 | ||||
|   * @brief Internal High Speed oscillator (HSI48) value for USB FS, SDMMC and RNG. | ||||
|   *        This internal oscillator is mainly dedicated to provide a high precision clock to | ||||
|   *        the USB peripheral by means of a special Clock Recovery System (CRS) circuitry. | ||||
|   *        When the CRS is not used, the HSI48 RC oscillator runs on it default frequency | ||||
|   *        which is subject to manufacturing process variations. | ||||
|   */ | ||||
| #if !defined  (HSI48_VALUE) | ||||
|   #define HSI48_VALUE   48000000U             /*!< Value of the Internal High Speed oscillator for USB FS/SDMMC/RNG in Hz. | ||||
|                                                The real value my vary depending on manufacturing process variations.*/ | ||||
| #endif /* HSI48_VALUE */ | ||||
| #endif | ||||
| 
 | ||||
| /**
 | ||||
|   * @brief Internal Low Speed oscillator (LSI) value. | ||||
|   */ | ||||
| #if !defined  (LSI_VALUE) | ||||
| #define LSI_VALUE  (32000UL)                /*!< LSI Typical Value in Hz*/ | ||||
| #endif /* LSI_VALUE */                      /*!< Value of the Internal Low Speed oscillator in Hz | ||||
| The real value may vary depending on the variations | ||||
| in voltage and temperature.*/ | ||||
| /**
 | ||||
|   * @brief External Low Speed oscillator (LSE) value. | ||||
|   *        This value is used by the UART, RTC HAL module to compute the system frequency | ||||
|   */ | ||||
| #if !defined  (LSE_VALUE) | ||||
| #define LSE_VALUE    (32768UL)               /*!< Value of the External oscillator in Hz*/ | ||||
| #endif /* LSE_VALUE */ | ||||
| 
 | ||||
| #if !defined  (LSE_STARTUP_TIMEOUT) | ||||
| #define LSE_STARTUP_TIMEOUT    (5000UL)      /*!< Time out for LSE start up, in ms */ | ||||
| #endif /* LSE_STARTUP_TIMEOUT */ | ||||
| 
 | ||||
| /**
 | ||||
|   * @brief External clock source for I2S1 peripheral | ||||
|   *        This value is used by the RCC HAL module to compute the I2S1 clock source | ||||
|   *        frequency. | ||||
|   */ | ||||
| #if !defined  (EXTERNAL_I2S1_CLOCK_VALUE) | ||||
| #define EXTERNAL_I2S1_CLOCK_VALUE    (48000UL) /*!< Value of the I2S1 External clock source in Hz*/ | ||||
| #endif /* EXTERNAL_I2S1_CLOCK_VALUE */ | ||||
| 
 | ||||
| #if defined(STM32G0C1xx) || defined(STM32G0B1xx) || defined(STM32G0B0xx) | ||||
| /**
 | ||||
|   * @brief External clock source for I2S2 peripheral | ||||
|   *        This value is used by the RCC HAL module to compute the I2S2 clock source | ||||
|   *        frequency. | ||||
|   */ | ||||
| #if !defined  (EXTERNAL_I2S2_CLOCK_VALUE) | ||||
|   #define EXTERNAL_I2S2_CLOCK_VALUE    48000U /*!< Value of the I2S2 External clock source in Hz*/ | ||||
| #endif /* EXTERNAL_I2S2_CLOCK_VALUE */ | ||||
| #endif | ||||
| 
 | ||||
| /* Tip: To avoid modifying this file each time you need to use different HSE,
 | ||||
|    ===  you can define the HSE value in your toolchain compiler preprocessor. */ | ||||
| 
 | ||||
| /* ########################### System Configuration ######################### */ | ||||
| /**
 | ||||
|   * @brief This is the HAL system configuration section | ||||
|   */ | ||||
| #define  VDD_VALUE                    (3300UL)                                        /*!< Value of VDD in mv */ | ||||
| #define  TICK_INT_PRIORITY            0U /*!< tick interrupt priority */ | ||||
| #define  USE_RTOS                     0U | ||||
| #define  PREFETCH_ENABLE              1U | ||||
| #define  INSTRUCTION_CACHE_ENABLE     1U | ||||
| 
 | ||||
| /* ################## SPI peripheral configuration ########################## */ | ||||
| 
 | ||||
| /* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
 | ||||
| * Activated: CRC code is present inside driver | ||||
| * Deactivated: CRC code cleaned from driver | ||||
| */ | ||||
| 
 | ||||
| #define USE_SPI_CRC                     0U | ||||
| 
 | ||||
| /* ################## CRYP peripheral configuration ########################## */ | ||||
| 
 | ||||
| #define USE_HAL_CRYP_SUSPEND_RESUME     1U | ||||
| 
 | ||||
| /* ########################## Assert Selection ############################## */ | ||||
| /**
 | ||||
|   * @brief Uncomment the line below to expanse the "assert_param" macro in the | ||||
|   *        HAL drivers code | ||||
|   */ | ||||
| /* #define USE_FULL_ASSERT    1U */ | ||||
| 
 | ||||
| /* Includes ------------------------------------------------------------------*/ | ||||
| /**
 | ||||
|   * @brief Include modules header file | ||||
|   */ | ||||
| 
 | ||||
| #ifdef HAL_RCC_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_rcc.h" | ||||
| #endif /* HAL_RCC_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_GPIO_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_gpio.h" | ||||
| #endif /* HAL_GPIO_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_DMA_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_dma.h" | ||||
| #endif /* HAL_DMA_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_CORTEX_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_cortex.h" | ||||
| #endif /* HAL_CORTEX_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_ADC_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_adc.h" | ||||
| #include "stm32g0xx_hal_adc_ex.h" | ||||
| #endif /* HAL_ADC_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_CEC_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_cec.h" | ||||
| #endif /* HAL_CEC_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_COMP_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_comp.h" | ||||
| #endif /* HAL_COMP_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_CRC_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_crc.h" | ||||
| #endif /* HAL_CRC_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_CRYP_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_cryp.h" | ||||
| #endif /* HAL_CRYP_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_DAC_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_dac.h" | ||||
| #endif /* HAL_DAC_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_EXTI_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_exti.h" | ||||
| #endif /* HAL_EXTI_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_FLASH_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_flash.h" | ||||
| #endif /* HAL_FLASH_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_FDCAN_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_fdcan.h" | ||||
| #endif /* HAL_FDCAN_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_HCD_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_hcd.h" | ||||
| #endif /* HAL_HCD_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_I2C_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_i2c.h" | ||||
| #endif /* HAL_I2C_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_I2S_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_i2s.h" | ||||
| #endif /* HAL_I2S_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_IRDA_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_irda.h" | ||||
| #endif /* HAL_IRDA_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_IWDG_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_iwdg.h" | ||||
| #endif /* HAL_IWDG_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_LPTIM_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_lptim.h" | ||||
| #endif /* HAL_LPTIM_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_PCD_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_pcd.h" | ||||
| #endif /* HAL_PCD_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_PWR_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_pwr.h" | ||||
| #endif /* HAL_PWR_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_RNG_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_rng.h" | ||||
| #endif /* HAL_RNG_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_RTC_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_rtc.h" | ||||
| #endif /* HAL_RTC_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_SMARTCARD_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_smartcard.h" | ||||
| #endif /* HAL_SMARTCARD_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_SMBUS_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_smbus.h" | ||||
| #endif /* HAL_SMBUS_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_SPI_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_spi.h" | ||||
| #endif /* HAL_SPI_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_TIM_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_tim.h" | ||||
| #endif /* HAL_TIM_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_UART_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_uart.h" | ||||
| #endif /* HAL_UART_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_USART_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_usart.h" | ||||
| #endif /* HAL_USART_MODULE_ENABLED */ | ||||
| 
 | ||||
| #ifdef HAL_WWDG_MODULE_ENABLED | ||||
| #include "stm32g0xx_hal_wwdg.h" | ||||
| #endif /* HAL_WWDG_MODULE_ENABLED */ | ||||
| 
 | ||||
| /* Exported macro ------------------------------------------------------------*/ | ||||
| #ifdef  USE_FULL_ASSERT | ||||
| /**
 | ||||
|   * @brief  The assert_param macro is used for functions parameters check. | ||||
|   * @param  expr If expr is false, it calls assert_failed function | ||||
|   *         which reports the name of the source file and the source | ||||
|   *         line number of the call that failed. | ||||
|   *         If expr is true, it returns no value. | ||||
|   * @retval None | ||||
|   */ | ||||
| #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__)) | ||||
| /* Exported functions ------------------------------------------------------- */ | ||||
| void assert_failed(uint8_t *file, uint32_t line); | ||||
| #else | ||||
| #define assert_param(expr) ((void)0U) | ||||
| #endif /* USE_FULL_ASSERT */ | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| #endif /* STM32G0xx_HAL_CONF_H */ | ||||
							
								
								
									
										25
									
								
								myapps/first-hal/src/main.c
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								myapps/first-hal/src/main.c
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,25 @@ | |||
| //#include <stdint.h>
 | ||||
| #include "stm32g0xx_hal.h" | ||||
| 
 | ||||
| #define LED_PIN 4 | ||||
| 
 | ||||
| int main(void) | ||||
| { | ||||
|   HAL_Init(); | ||||
|   __HAL_RCC_GPIOA_CLK_ENABLE(); | ||||
|    | ||||
|   GPIO_InitTypeDef  GPIO_InitStruct; | ||||
|   GPIO_InitStruct.Mode  = GPIO_MODE_OUTPUT_PP; | ||||
|   GPIO_InitStruct.Pull  = GPIO_PULLUP; | ||||
|   GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; | ||||
| 
 | ||||
|   GPIO_InitStruct.Pin = GPIO_PIN_4; | ||||
|   HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); | ||||
|    | ||||
|   while(1) | ||||
|   { | ||||
|     HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_4); | ||||
|     HAL_Delay(100); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue