diff --git a/DS_STM32_MARQUET/.cproject b/DS_STM32_MARQUET/.cproject
new file mode 100644
index 0000000..eb1b19d
--- /dev/null
+++ b/DS_STM32_MARQUET/.cproject
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DS_STM32_MARQUET/.mxproject b/DS_STM32_MARQUET/.mxproject
new file mode 100644
index 0000000..40818f4
--- /dev/null
+++ b/DS_STM32_MARQUET/.mxproject
@@ -0,0 +1,25 @@
+[PreviousLibFiles]
+LibFiles=Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_adc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h;Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_bus.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_rcc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_crs.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_system.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_utils.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_gpio.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_dma.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_pwr.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_cortex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_exti.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_spi.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_tim.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_adc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_adc_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_rcc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_rcc_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash_ramfunc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_gpio.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_dma.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_pwr.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_pwr_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_cortex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_exti.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_spi.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_tim.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_tim_ex.c;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_adc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h;Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_bus.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_rcc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_crs.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_system.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_utils.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_gpio.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_dma.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_pwr.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_cortex.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_exti.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_spi.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_ll_tim.h;Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h;Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h;Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h;Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h;Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h;Drivers/CMSIS/Device/ST/STM32L1xx/Source/Templates/system_stm32l1xx.c;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/tz_context.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_armv8mbl.h;
+
+[PreviousUsedCubeIDEFiles]
+SourceFiles=Core/Src/main.c;Core/Src/stm32l1xx_it.c;Core/Src/stm32l1xx_hal_msp.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_adc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_adc_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_rcc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_rcc_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash_ramfunc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_gpio.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_dma.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_pwr.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_pwr_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_cortex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_exti.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_spi.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_tim.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_tim_ex.c;Drivers/CMSIS/Device/ST/STM32L1xx/Source/Templates/system_stm32l1xx.c;Core/Src/system_stm32l1xx.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_adc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_adc_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_rcc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_rcc_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_flash_ramfunc.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_gpio.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_dma.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_pwr.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_pwr_ex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_cortex.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_exti.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_spi.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_tim.c;Drivers/STM32L1xx_HAL_Driver/Src/stm32l1xx_hal_tim_ex.c;Drivers/CMSIS/Device/ST/STM32L1xx/Source/Templates/system_stm32l1xx.c;Core/Src/system_stm32l1xx.c;;;
+HeaderPath=Drivers/STM32L1xx_HAL_Driver/Inc;Drivers/STM32L1xx_HAL_Driver/Inc/Legacy;Drivers/CMSIS/Device/ST/STM32L1xx/Include;Drivers/CMSIS/Include;Core/Inc;
+CDefines=USE_HAL_DRIVER;STM32L152xE;USE_HAL_DRIVER;USE_HAL_DRIVER;
+
+[PreviousGenFiles]
+AdvancedFolderStructure=true
+HeaderFileListSize=3
+HeaderFiles#0=../Core/Inc/stm32l1xx_it.h
+HeaderFiles#1=../Core/Inc/stm32l1xx_hal_conf.h
+HeaderFiles#2=../Core/Inc/main.h
+HeaderFolderListSize=1
+HeaderPath#0=../Core/Inc
+HeaderFiles=;
+SourceFileListSize=3
+SourceFiles#0=../Core/Src/stm32l1xx_it.c
+SourceFiles#1=../Core/Src/stm32l1xx_hal_msp.c
+SourceFiles#2=../Core/Src/main.c
+SourceFolderListSize=1
+SourcePath#0=../Core/Src
+SourceFiles=;
+
diff --git a/DS_STM32_MARQUET/.project b/DS_STM32_MARQUET/.project
new file mode 100644
index 0000000..3c7f705
--- /dev/null
+++ b/DS_STM32_MARQUET/.project
@@ -0,0 +1,32 @@
+
+
+ DS_STM32_MARQUET
+
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.genmakebuilder
+ clean,full,incremental,
+
+
+
+
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
+ full,incremental,
+
+
+
+
+
+ com.st.stm32cube.ide.mcu.MCUProjectNature
+ com.st.stm32cube.ide.mcu.MCUCubeProjectNature
+ org.eclipse.cdt.core.cnature
+ com.st.stm32cube.ide.mcu.MCUCubeIdeServicesRevAev2ProjectNature
+ com.st.stm32cube.ide.mcu.MCUAdvancedStructureProjectNature
+ com.st.stm32cube.ide.mcu.MCUSingleCpuProjectNature
+ com.st.stm32cube.ide.mcu.MCURootProjectNature
+ org.eclipse.cdt.managedbuilder.core.managedBuildNature
+ org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
+
+
diff --git a/DS_STM32_MARQUET/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs b/DS_STM32_MARQUET/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
new file mode 100644
index 0000000..98a69fc
--- /dev/null
+++ b/DS_STM32_MARQUET/.settings/com.st.stm32cube.ide.mcu.sfrview.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+sfrviewstate={"fFavorites"\:{"fLists"\:{}},"fProperties"\:{"fNodeProperties"\:{}}}
diff --git a/DS_STM32_MARQUET/.settings/language.settings.xml b/DS_STM32_MARQUET/.settings/language.settings.xml
new file mode 100644
index 0000000..fd737e1
--- /dev/null
+++ b/DS_STM32_MARQUET/.settings/language.settings.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/DS_STM32_MARQUET/.settings/org.eclipse.cdt.core.prefs b/DS_STM32_MARQUET/.settings/org.eclipse.cdt.core.prefs
new file mode 100644
index 0000000..c8ec5df
--- /dev/null
+++ b/DS_STM32_MARQUET/.settings/org.eclipse.cdt.core.prefs
@@ -0,0 +1,6 @@
+doxygen/doxygen_new_line_after_brief=true
+doxygen/doxygen_use_brief_tag=false
+doxygen/doxygen_use_javadoc_tags=true
+doxygen/doxygen_use_pre_tag=false
+doxygen/doxygen_use_structural_commands=false
+eclipse.preferences.version=1
diff --git a/DS_STM32_MARQUET/.settings/org.eclipse.core.resources.prefs b/DS_STM32_MARQUET/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/DS_STM32_MARQUET/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/=UTF-8
diff --git a/DS_STM32_MARQUET/.settings/stm32cubeide.project.prefs b/DS_STM32_MARQUET/.settings/stm32cubeide.project.prefs
new file mode 100644
index 0000000..a0b3b52
--- /dev/null
+++ b/DS_STM32_MARQUET/.settings/stm32cubeide.project.prefs
@@ -0,0 +1,5 @@
+635E684B79701B039C64EA45C3F84D30=20408E19A1D483CC68E7BF859CC595B4
+66BE74F758C12D739921AEA421D593D3=3
+8DF89ED150041C4CBC7CB9A9CAA90856=787343FA0477F66DEA4B2B86368887F5
+DC22A860405A8BF2F2C095E5B6529F12=787343FA0477F66DEA4B2B86368887F5
+eclipse.preferences.version=1
diff --git a/DS_STM32_MARQUET/Core/Inc/main.h b/DS_STM32_MARQUET/Core/Inc/main.h
new file mode 100644
index 0000000..63d96d7
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Inc/main.h
@@ -0,0 +1,71 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 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 __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32l1xx_hal.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
diff --git a/DS_STM32_MARQUET/Core/Inc/stm32l1xx_hal_conf.h b/DS_STM32_MARQUET/Core/Inc/stm32l1xx_hal_conf.h
new file mode 100644
index 0000000..07daa0f
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Inc/stm32l1xx_hal_conf.h
@@ -0,0 +1,318 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l1xx_hal_conf.h
+ * @brief HAL configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017 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 __STM32L1xx_HAL_CONF_H
+#define __STM32L1xx_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_CRYP_MODULE_ENABLED */
+/*#define HAL_COMP_MODULE_ENABLED */
+/*#define HAL_CRC_MODULE_ENABLED */
+/*#define HAL_CRYP_MODULE_ENABLED */
+/*#define HAL_DAC_MODULE_ENABLED */
+/*#define HAL_I2C_MODULE_ENABLED */
+/*#define HAL_I2S_MODULE_ENABLED */
+/*#define HAL_IRDA_MODULE_ENABLED */
+/*#define HAL_IWDG_MODULE_ENABLED */
+/*#define HAL_LCD_MODULE_ENABLED */
+/*#define HAL_NOR_MODULE_ENABLED */
+/*#define HAL_OPAMP_MODULE_ENABLED */
+/*#define HAL_PCD_MODULE_ENABLED */
+/*#define HAL_RTC_MODULE_ENABLED */
+/*#define HAL_SD_MODULE_ENABLED */
+/*#define HAL_SMARTCARD_MODULE_ENABLED */
+#define HAL_SPI_MODULE_ENABLED
+/*#define HAL_SRAM_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
+
+/* ########################## 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 ((uint32_t)24000000) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal Multiple Speed oscillator (MSI) default value.
+ * This value is the default MSI range value after Reset.
+ */
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE ((uint32_t)2097000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+/**
+ * @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 ((uint32_t)16000000) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief Internal Low Speed oscillator (LSI) value.
+ */
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE (37000U) /*!< 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 ((uint32_t)32768) /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+ #define LSE_STARTUP_TIMEOUT ((uint32_t)5000) /*!< Time out for LSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/* 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 ((uint32_t)3300) /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY ((uint32_t)15) /*!< tick interrupt priority */
+#define USE_RTOS 0
+#define PREFETCH_ENABLE 0
+#define INSTRUCTION_CACHE_ENABLE 1
+#define DATA_CACHE_ENABLE 1
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* ################## Register callback feature configuration ############### */
+/**
+ * @brief Set below the peripheral configuration to "1U" to add the support
+ * of HAL callback registration/deregistration feature for the HAL
+ * driver(s). This allows user application to provide specific callback
+ * functions thanks to HAL_PPP_RegisterCallback() rather than overwriting
+ * the default weak callback functions (see each stm32l0xx_hal_ppp.h file
+ * for possible callback identifiers defined in HAL_PPP_CallbackIDTypeDef
+ * for each PPP peripheral).
+ */
+#define USE_HAL_ADC_REGISTER_CALLBACKS 0U
+#define USE_HAL_COMP_REGISTER_CALLBACKS 0U
+#define USE_HAL_DAC_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_OPAMP_REGISTER_CALLBACKS 0U
+#define USE_HAL_PCD_REGISTER_CALLBACKS 0U
+#define USE_HAL_RTC_REGISTER_CALLBACKS 0U
+#define USE_HAL_SDMMC_REGISTER_CALLBACKS 0U
+#define USE_HAL_SMARTCARD_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
+
+/* ################## 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
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32l1xx_hal_rcc.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32l1xx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32l1xx_hal_dma.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32l1xx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32l1xx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32l1xx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32l1xx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32l1xx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_DAC_MODULE_ENABLED
+ #include "stm32l1xx_hal_dac.h"
+#endif /* HAL_DAC_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32l1xx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_SRAM_MODULE_ENABLED
+ #include "stm32l1xx_hal_sram.h"
+#endif /* HAL_SRAM_MODULE_ENABLED */
+
+#ifdef HAL_NOR_MODULE_ENABLED
+ #include "stm32l1xx_hal_nor.h"
+#endif /* HAL_NOR_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32l1xx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_I2S_MODULE_ENABLED
+ #include "stm32l1xx_hal_i2s.h"
+#endif /* HAL_I2S_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32l1xx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_LCD_MODULE_ENABLED
+ #include "stm32l1xx_hal_lcd.h"
+#endif /* HAL_LCD_MODULE_ENABLED */
+
+#ifdef HAL_OPAMP_MODULE_ENABLED
+ #include "stm32l1xx_hal_opamp.h"
+#endif /* HAL_OPAMP_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32l1xx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32l1xx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SD_MODULE_ENABLED
+ #include "stm32l1xx_hal_sd.h"
+#endif /* HAL_SD_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32l1xx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32l1xx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32l1xx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32l1xx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32l1xx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32l1xx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32l1xx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32l1xx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32l1xx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's 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 /* __STM32L1xx_HAL_CONF_H */
+
diff --git a/DS_STM32_MARQUET/Core/Inc/stm32l1xx_it.h b/DS_STM32_MARQUET/Core/Inc/stm32l1xx_it.h
new file mode 100644
index 0000000..e37b78f
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Inc/stm32l1xx_it.h
@@ -0,0 +1,68 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l1xx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 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 __STM32L1xx_IT_H
+#define __STM32L1xx_IT_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void EXTI9_5_IRQHandler(void);
+void TIM6_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32L1xx_IT_H */
diff --git a/DS_STM32_MARQUET/Core/Src/main.c b/DS_STM32_MARQUET/Core/Src/main.c
new file mode 100644
index 0000000..6802f54
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Src/main.c
@@ -0,0 +1,548 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 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 */
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "max7219.h"
+#include "fonc_tft.h"
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN PTD */
+
+/* USER CODE END PTD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+//#define Section1
+//#define Section2
+//#define Section3
+//#define Section4
+//#define Section5
+#define Section6
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+ADC_HandleTypeDef hadc;
+
+SPI_HandleTypeDef hspi1;
+
+TIM_HandleTypeDef htim3;
+TIM_HandleTypeDef htim6;
+
+/* USER CODE BEGIN PV */
+
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config(void);
+static void MX_GPIO_Init(void);
+static void MX_SPI1_Init(void);
+static void MX_TIM3_Init(void);
+static void MX_TIM6_Init(void);
+static void MX_ADC_Init(void);
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+#ifdef Section5
+ uint8_t ratio = 0;
+#endif
+
+/* USER CODE END 0 */
+
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main(void)
+{
+
+ /* USER CODE BEGIN 1 */
+
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ MX_SPI1_Init();
+ MX_TIM3_Init();
+ MX_TIM6_Init();
+ MX_ADC_Init();
+ /* USER CODE BEGIN 2 */
+ //MAX7219_Init();
+ //init_TFT();
+ //MAX7219_Clear();
+
+ /* USER CODE END 2 */
+
+ /* Infinite loop */
+ /* USER CODE BEGIN WHILE */
+#ifdef Section2
+ uint8_t allume = 0;
+#endif
+#ifdef Section4
+ HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);
+#endif
+#ifdef Section5
+ HAL_TIM_Base_Start_IT(&htim6);
+ HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);
+#endif
+#ifdef Section6
+ HAL_TIM_Base_Start_IT(&htim6);
+ HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);
+#endif
+ while (1)
+ {
+ /* USER CODE END WHILE */
+
+ /* USER CODE BEGIN 3 */
+#ifdef Section1
+ GPIOB->ODR |= (1<<12);
+#endif
+#ifdef Section2
+
+ if (allume == 0) {
+ GPIOB->ODR |= (1<<12);
+ allume = 1;
+ } else {
+ GPIOB->ODR &= ~(1<<12);
+ allume = 0;
+ }
+ HAL_Delay(750);
+#endif
+#ifdef Section3
+ if ((GPIOA->IDR & (1 << 11 | 1 << 12)) == 0) {
+ GPIOB->ODR |= (1<<13);
+ } else {
+ GPIOB->ODR &= ~(1<<13);
+ }
+#endif
+#ifdef Section4
+ //Nothing to do
+#endif
+#ifdef Section5
+ //Nothing to do
+#endif
+#ifdef Section6
+ //Nothing to do
+#endif
+ }
+ /* USER CODE END 3 */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+
+ /** Configure the main internal regulator output voltage
+ */
+ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
+ RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Initializes the CPU, AHB and APB buses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
+ {
+ Error_Handler();
+ }
+}
+
+/**
+ * @brief ADC Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_ADC_Init(void)
+{
+
+ /* USER CODE BEGIN ADC_Init 0 */
+
+ /* USER CODE END ADC_Init 0 */
+
+ ADC_ChannelConfTypeDef sConfig = {0};
+
+ /* USER CODE BEGIN ADC_Init 1 */
+
+ /* USER CODE END ADC_Init 1 */
+
+ /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion)
+ */
+ hadc.Instance = ADC1;
+ hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ hadc.Init.Resolution = ADC_RESOLUTION_12B;
+ hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ hadc.Init.ScanConvMode = ADC_SCAN_DISABLE;
+ hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
+ hadc.Init.LowPowerAutoWait = ADC_AUTOWAIT_DISABLE;
+ hadc.Init.LowPowerAutoPowerOff = ADC_AUTOPOWEROFF_DISABLE;
+ hadc.Init.ChannelsBank = ADC_CHANNELS_BANK_A;
+ hadc.Init.ContinuousConvMode = DISABLE;
+ hadc.Init.NbrOfConversion = 1;
+ hadc.Init.DiscontinuousConvMode = DISABLE;
+ hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ hadc.Init.DMAContinuousRequests = DISABLE;
+ if (HAL_ADC_Init(&hadc) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+ /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
+ */
+ sConfig.Channel = ADC_CHANNEL_0;
+ sConfig.Rank = ADC_REGULAR_RANK_1;
+ sConfig.SamplingTime = ADC_SAMPLETIME_4CYCLES;
+ if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN ADC_Init 2 */
+
+ /* USER CODE END ADC_Init 2 */
+
+}
+
+/**
+ * @brief SPI1 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_SPI1_Init(void)
+{
+
+ /* USER CODE BEGIN SPI1_Init 0 */
+
+ /* USER CODE END SPI1_Init 0 */
+
+ /* USER CODE BEGIN SPI1_Init 1 */
+
+ /* USER CODE END SPI1_Init 1 */
+ /* SPI1 parameter configuration*/
+ hspi1.Instance = SPI1;
+ hspi1.Init.Mode = SPI_MODE_MASTER;
+ hspi1.Init.Direction = SPI_DIRECTION_2LINES;
+ hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
+ hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
+ hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
+ hspi1.Init.NSS = SPI_NSS_SOFT;
+ hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
+ hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
+ hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
+ hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
+ hspi1.Init.CRCPolynomial = 10;
+ if (HAL_SPI_Init(&hspi1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN SPI1_Init 2 */
+
+ /* USER CODE END SPI1_Init 2 */
+
+}
+
+/**
+ * @brief TIM3 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_TIM3_Init(void)
+{
+
+ /* USER CODE BEGIN TIM3_Init 0 */
+
+ /* USER CODE END TIM3_Init 0 */
+
+ TIM_ClockConfigTypeDef sClockSourceConfig = {0};
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ TIM_OC_InitTypeDef sConfigOC = {0};
+
+ /* USER CODE BEGIN TIM3_Init 1 */
+
+ /* USER CODE END TIM3_Init 1 */
+ htim3.Instance = TIM3;
+ htim3.Init.Prescaler = 20-1;
+ htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim3.Init.Period = 16000-1;
+ htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
+ if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
+ if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sConfigOC.OCMode = TIM_OCMODE_PWM1;
+ sConfigOC.Pulse = 16000;
+ sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
+ sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
+ if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN TIM3_Init 2 */
+
+ /* USER CODE END TIM3_Init 2 */
+ HAL_TIM_MspPostInit(&htim3);
+
+}
+
+/**
+ * @brief TIM6 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_TIM6_Init(void)
+{
+
+ /* USER CODE BEGIN TIM6_Init 0 */
+
+ /* USER CODE END TIM6_Init 0 */
+
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+
+ /* USER CODE BEGIN TIM6_Init 1 */
+
+ /* USER CODE END TIM6_Init 1 */
+ htim6.Instance = TIM6;
+ htim6.Init.Prescaler = 100-1;
+ htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim6.Init.Period = 16000-1;
+ htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
+ if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ /* USER CODE BEGIN TIM6_Init 2 */
+
+ /* USER CODE END TIM6_Init 2 */
+
+}
+
+/**
+ * @brief GPIO Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_GPIO_Init(void)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ /* USER CODE BEGIN MX_GPIO_Init_1 */
+
+ /* USER CODE END MX_GPIO_Init_1 */
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_PIN_SET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12|GPIO_PIN_13, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
+
+ /*Configure GPIO pins : PC0 PC1 PC2 PC3 */
+ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PB12 PB13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PC9 */
+ GPIO_InitStruct.Pin = GPIO_PIN_9;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PA11 PA12 */
+ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PD2 */
+ GPIO_InitStruct.Pin = GPIO_PIN_2;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PB8 */
+ GPIO_InitStruct.Pin = GPIO_PIN_8;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* EXTI interrupt init*/
+ HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
+
+ /* USER CODE BEGIN MX_GPIO_Init_2 */
+
+ /* USER CODE END MX_GPIO_Init_2 */
+}
+
+/* USER CODE BEGIN 4 */
+#ifdef Section5
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
+ if (htim->Instance == TIM6) {
+ TIM3 -> CCR4 = ratio * 160;
+ ratio ++;
+ if (ratio >= 100) {
+ ratio = 0;
+ }
+ }
+}
+#endif
+#ifdef Section6
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
+ if (htim->Instance == TIM6) {
+ HAL_ADC_Start(&hadc);
+ HAL_StatusTypeDef status = HAL_ADC_PollForConversion(&hadc, 1000);
+ if (status == HAL_OK) {
+ uint32_t ADCvalue = HAL_ADC_GetValue(&hadc);
+ HAL_ADC_Stop(&hadc);
+ uint8_t ratio = (ADCvalue / 4096.0) * 100;
+ TIM3 -> CCR4 = ratio * 160;
+ }
+ }
+}
+#endif
+
+
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ __disable_irq();
+ while (1)
+ {
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
diff --git a/DS_STM32_MARQUET/Core/Src/stm32l1xx_hal_msp.c b/DS_STM32_MARQUET/Core/Src/stm32l1xx_hal_msp.c
new file mode 100644
index 0000000..6ac3a68
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Src/stm32l1xx_hal_msp.c
@@ -0,0 +1,313 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l1xx_hal_msp.c
+ * @brief This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 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 */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Define */
+
+/* USER CODE END Define */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Macro */
+
+/* USER CODE END Macro */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External functions --------------------------------------------------------*/
+/* USER CODE BEGIN ExternalFunctions */
+
+/* USER CODE END ExternalFunctions */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
+ /**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_COMP_CLK_ENABLE();
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ __HAL_RCC_PWR_CLK_ENABLE();
+
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/**
+ * @brief ADC MSP Initialization
+ * This function configures the hardware resources used in this example
+ * @param hadc: ADC handle pointer
+ * @retval None
+ */
+void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hadc->Instance==ADC1)
+ {
+ /* USER CODE BEGIN ADC1_MspInit 0 */
+
+ /* USER CODE END ADC1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_ADC1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**ADC GPIO Configuration
+ PA0-WKUP1 ------> ADC_IN0
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_0;
+ GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN ADC1_MspInit 1 */
+
+ /* USER CODE END ADC1_MspInit 1 */
+
+ }
+
+}
+
+/**
+ * @brief ADC MSP De-Initialization
+ * This function freeze the hardware resources used in this example
+ * @param hadc: ADC handle pointer
+ * @retval None
+ */
+void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
+{
+ if(hadc->Instance==ADC1)
+ {
+ /* USER CODE BEGIN ADC1_MspDeInit 0 */
+
+ /* USER CODE END ADC1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_ADC1_CLK_DISABLE();
+
+ /**ADC GPIO Configuration
+ PA0-WKUP1 ------> ADC_IN0
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0);
+
+ /* USER CODE BEGIN ADC1_MspDeInit 1 */
+
+ /* USER CODE END ADC1_MspDeInit 1 */
+ }
+
+}
+
+/**
+ * @brief SPI MSP Initialization
+ * This function configures the hardware resources used in this example
+ * @param hspi: SPI handle pointer
+ * @retval None
+ */
+void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(hspi->Instance==SPI1)
+ {
+ /* USER CODE BEGIN SPI1_MspInit 0 */
+
+ /* USER CODE END SPI1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ /**SPI1 GPIO Configuration
+ PA5 ------> SPI1_SCK
+ PA6 ------> SPI1_MISO
+ PA7 ------> SPI1_MOSI
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN SPI1_MspInit 1 */
+
+ /* USER CODE END SPI1_MspInit 1 */
+
+ }
+
+}
+
+/**
+ * @brief SPI MSP De-Initialization
+ * This function freeze the hardware resources used in this example
+ * @param hspi: SPI handle pointer
+ * @retval None
+ */
+void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
+{
+ if(hspi->Instance==SPI1)
+ {
+ /* USER CODE BEGIN SPI1_MspDeInit 0 */
+
+ /* USER CODE END SPI1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SPI1_CLK_DISABLE();
+
+ /**SPI1 GPIO Configuration
+ PA5 ------> SPI1_SCK
+ PA6 ------> SPI1_MISO
+ PA7 ------> SPI1_MOSI
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7);
+
+ /* USER CODE BEGIN SPI1_MspDeInit 1 */
+
+ /* USER CODE END SPI1_MspDeInit 1 */
+ }
+
+}
+
+/**
+ * @brief TIM_Base MSP Initialization
+ * This function configures the hardware resources used in this example
+ * @param htim_base: TIM_Base handle pointer
+ * @retval None
+ */
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
+{
+ if(htim_base->Instance==TIM3)
+ {
+ /* USER CODE BEGIN TIM3_MspInit 0 */
+
+ /* USER CODE END TIM3_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_TIM3_CLK_ENABLE();
+ /* USER CODE BEGIN TIM3_MspInit 1 */
+
+ /* USER CODE END TIM3_MspInit 1 */
+ }
+ else if(htim_base->Instance==TIM6)
+ {
+ /* USER CODE BEGIN TIM6_MspInit 0 */
+
+ /* USER CODE END TIM6_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_TIM6_CLK_ENABLE();
+ /* TIM6 interrupt Init */
+ HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(TIM6_IRQn);
+ /* USER CODE BEGIN TIM6_MspInit 1 */
+
+ /* USER CODE END TIM6_MspInit 1 */
+ }
+
+}
+
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
+{
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(htim->Instance==TIM3)
+ {
+ /* USER CODE BEGIN TIM3_MspPostInit 0 */
+
+ /* USER CODE END TIM3_MspPostInit 0 */
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ /**TIM3 GPIO Configuration
+ PB1 ------> TIM3_CH4
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_1;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN TIM3_MspPostInit 1 */
+
+ /* USER CODE END TIM3_MspPostInit 1 */
+ }
+
+}
+/**
+ * @brief TIM_Base MSP De-Initialization
+ * This function freeze the hardware resources used in this example
+ * @param htim_base: TIM_Base handle pointer
+ * @retval None
+ */
+void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
+{
+ if(htim_base->Instance==TIM3)
+ {
+ /* USER CODE BEGIN TIM3_MspDeInit 0 */
+
+ /* USER CODE END TIM3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM3_CLK_DISABLE();
+ /* USER CODE BEGIN TIM3_MspDeInit 1 */
+
+ /* USER CODE END TIM3_MspDeInit 1 */
+ }
+ else if(htim_base->Instance==TIM6)
+ {
+ /* USER CODE BEGIN TIM6_MspDeInit 0 */
+
+ /* USER CODE END TIM6_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_TIM6_CLK_DISABLE();
+
+ /* TIM6 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(TIM6_IRQn);
+ /* USER CODE BEGIN TIM6_MspDeInit 1 */
+
+ /* USER CODE END TIM6_MspDeInit 1 */
+ }
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/DS_STM32_MARQUET/Core/Src/stm32l1xx_it.c b/DS_STM32_MARQUET/Core/Src/stm32l1xx_it.c
new file mode 100644
index 0000000..b5369d9
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Src/stm32l1xx_it.c
@@ -0,0 +1,231 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l1xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 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 */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32l1xx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+extern TIM_HandleTypeDef htim6;
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex-M3 Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ while (1)
+ {
+ }
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Pre-fetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVC_IRQn 0 */
+
+ /* USER CODE END SVC_IRQn 0 */
+ /* USER CODE BEGIN SVC_IRQn 1 */
+
+ /* USER CODE END SVC_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32L1xx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32l1xx.s). */
+/******************************************************************************/
+
+/**
+ * @brief This function handles EXTI line[9:5] interrupts.
+ */
+void EXTI9_5_IRQHandler(void)
+{
+ /* USER CODE BEGIN EXTI9_5_IRQn 0 */
+
+ /* USER CODE END EXTI9_5_IRQn 0 */
+ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);
+ /* USER CODE BEGIN EXTI9_5_IRQn 1 */
+
+ /* USER CODE END EXTI9_5_IRQn 1 */
+}
+
+/**
+ * @brief This function handles TIM6 global interrupt.
+ */
+void TIM6_IRQHandler(void)
+{
+ /* USER CODE BEGIN TIM6_IRQn 0 */
+
+ /* USER CODE END TIM6_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim6);
+ /* USER CODE BEGIN TIM6_IRQn 1 */
+
+ /* USER CODE END TIM6_IRQn 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
diff --git a/DS_STM32_MARQUET/Core/Src/syscalls.c b/DS_STM32_MARQUET/Core/Src/syscalls.c
new file mode 100644
index 0000000..8884b5a
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Src/syscalls.c
@@ -0,0 +1,176 @@
+/**
+ ******************************************************************************
+ * @file syscalls.c
+ * @author Auto-generated by STM32CubeIDE
+ * @brief STM32CubeIDE Minimal System calls file
+ *
+ * For more information about which c-functions
+ * need which of these lowlevel functions
+ * please consult the Newlib libc-manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2020-2025 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.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+
+/* Variables */
+extern int __io_putchar(int ch) __attribute__((weak));
+extern int __io_getchar(void) __attribute__((weak));
+
+
+char *__env[1] = { 0 };
+char **environ = __env;
+
+
+/* Functions */
+void initialise_monitor_handles()
+{
+}
+
+int _getpid(void)
+{
+ return 1;
+}
+
+int _kill(int pid, int sig)
+{
+ (void)pid;
+ (void)sig;
+ errno = EINVAL;
+ return -1;
+}
+
+void _exit (int status)
+{
+ _kill(status, -1);
+ while (1) {} /* Make sure we hang here */
+}
+
+__attribute__((weak)) int _read(int file, char *ptr, int len)
+{
+ (void)file;
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ *ptr++ = __io_getchar();
+ }
+
+ return len;
+}
+
+__attribute__((weak)) int _write(int file, char *ptr, int len)
+{
+ (void)file;
+ int DataIdx;
+
+ for (DataIdx = 0; DataIdx < len; DataIdx++)
+ {
+ __io_putchar(*ptr++);
+ }
+ return len;
+}
+
+int _close(int file)
+{
+ (void)file;
+ return -1;
+}
+
+
+int _fstat(int file, struct stat *st)
+{
+ (void)file;
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _isatty(int file)
+{
+ (void)file;
+ return 1;
+}
+
+int _lseek(int file, int ptr, int dir)
+{
+ (void)file;
+ (void)ptr;
+ (void)dir;
+ return 0;
+}
+
+int _open(char *path, int flags, ...)
+{
+ (void)path;
+ (void)flags;
+ /* Pretend like we always fail */
+ return -1;
+}
+
+int _wait(int *status)
+{
+ (void)status;
+ errno = ECHILD;
+ return -1;
+}
+
+int _unlink(char *name)
+{
+ (void)name;
+ errno = ENOENT;
+ return -1;
+}
+
+int _times(struct tms *buf)
+{
+ (void)buf;
+ return -1;
+}
+
+int _stat(char *file, struct stat *st)
+{
+ (void)file;
+ st->st_mode = S_IFCHR;
+ return 0;
+}
+
+int _link(char *old, char *new)
+{
+ (void)old;
+ (void)new;
+ errno = EMLINK;
+ return -1;
+}
+
+int _fork(void)
+{
+ errno = EAGAIN;
+ return -1;
+}
+
+int _execve(char *name, char **argv, char **env)
+{
+ (void)name;
+ (void)argv;
+ (void)env;
+ errno = ENOMEM;
+ return -1;
+}
diff --git a/DS_STM32_MARQUET/Core/Src/sysmem.c b/DS_STM32_MARQUET/Core/Src/sysmem.c
new file mode 100644
index 0000000..5d9f7e6
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Src/sysmem.c
@@ -0,0 +1,79 @@
+/**
+ ******************************************************************************
+ * @file sysmem.c
+ * @author Generated by STM32CubeIDE
+ * @brief STM32CubeIDE System Memory calls file
+ *
+ * For more information about which C functions
+ * need which of these lowlevel functions
+ * please consult the newlib libc manual
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2025 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.
+ *
+ ******************************************************************************
+ */
+
+/* Includes */
+#include
+#include
+
+/**
+ * Pointer to the current high watermark of the heap usage
+ */
+static uint8_t *__sbrk_heap_end = NULL;
+
+/**
+ * @brief _sbrk() allocates memory to the newlib heap and is used by malloc
+ * and others from the C library
+ *
+ * @verbatim
+ * ############################################################################
+ * # .data # .bss # newlib heap # MSP stack #
+ * # # # # Reserved by _Min_Stack_Size #
+ * ############################################################################
+ * ^-- RAM start ^-- _end _estack, RAM end --^
+ * @endverbatim
+ *
+ * This implementation starts allocating at the '_end' linker symbol
+ * The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
+ * The implementation considers '_estack' linker symbol to be RAM end
+ * NOTE: If the MSP stack, at any point during execution, grows larger than the
+ * reserved size, please increase the '_Min_Stack_Size'.
+ *
+ * @param incr Memory size
+ * @return Pointer to allocated memory
+ */
+void *_sbrk(ptrdiff_t incr)
+{
+ extern uint8_t _end; /* Symbol defined in the linker script */
+ extern uint8_t _estack; /* Symbol defined in the linker script */
+ extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
+ const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
+ const uint8_t *max_heap = (uint8_t *)stack_limit;
+ uint8_t *prev_heap_end;
+
+ /* Initialize heap end at first call */
+ if (NULL == __sbrk_heap_end)
+ {
+ __sbrk_heap_end = &_end;
+ }
+
+ /* Protect heap from growing into the reserved MSP stack */
+ if (__sbrk_heap_end + incr > max_heap)
+ {
+ errno = ENOMEM;
+ return (void *)-1;
+ }
+
+ prev_heap_end = __sbrk_heap_end;
+ __sbrk_heap_end += incr;
+
+ return (void *)prev_heap_end;
+}
diff --git a/DS_STM32_MARQUET/Core/Src/system_stm32l1xx.c b/DS_STM32_MARQUET/Core/Src/system_stm32l1xx.c
new file mode 100644
index 0000000..093a38b
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Src/system_stm32l1xx.c
@@ -0,0 +1,428 @@
+/**
+ ******************************************************************************
+ * @file system_stm32l1xx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex-M3 Device Peripheral Access Layer System Source File.
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32l1xx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017-2021 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.
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32l1xx_system
+ * @{
+ */
+
+/** @addtogroup STM32L1xx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32l1xx.h"
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L1xx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L1xx_System_Private_Defines
+ * @{
+ */
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE ((uint32_t)8000000U) /*!< Default value of the External oscillator in Hz.
+ This value can be provided and adapted by the user application. */
+#endif /* HSE_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE ((uint32_t)16000000U) /*!< Default value of the Internal oscillator in Hz.
+ This value can be provided and adapted by the user application. */
+#endif /* HSI_VALUE */
+
+/*!< Uncomment the following line if you need to use external SRAM mounted
+ on STM32L152D_EVAL board as data memory */
+/* #define DATA_IN_ExtSRAM */
+
+/* Note: Following vector table addresses must be defined in line with linker
+ configuration. */
+/*!< Uncomment the following line if you need to relocate the vector table
+ anywhere in Flash or Sram, else the vector table is kept at the automatic
+ remap of boot address selected */
+/* #define USER_VECT_TAB_ADDRESS */
+
+#if defined(USER_VECT_TAB_ADDRESS)
+/*!< Uncomment the following line if you need to relocate your vector Table
+ in Sram else user remap will be done in Flash. */
+/* #define VECT_TAB_SRAM */
+#if defined(VECT_TAB_SRAM)
+#define VECT_TAB_BASE_ADDRESS SRAM_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x200. */
+#else
+#define VECT_TAB_BASE_ADDRESS FLASH_BASE /*!< Vector Table base address field.
+ This value must be a multiple of 0x200. */
+#endif /* VECT_TAB_SRAM */
+
+#if !defined(VECT_TAB_OFFSET)
+#define VECT_TAB_OFFSET 0x00000000U /*!< Vector Table offset field.
+ This value must be a multiple of 0x200. */
+#endif /* VECT_TAB_OFFSET */
+
+#endif /* USER_VECT_TAB_ADDRESS */
+
+/******************************************************************************/
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L1xx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L1xx_System_Private_Variables
+ * @{
+ */
+ /* This variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+uint32_t SystemCoreClock = 2097000U;
+const uint8_t PLLMulTable[9] = {3U, 4U, 6U, 8U, 12U, 16U, 24U, 32U, 48U};
+const uint8_t AHBPrescTable[16] = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U};
+const uint8_t APBPrescTable[8] = {0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U};
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L1xx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+#if defined (STM32L151xD) || defined (STM32L152xD) || defined (STM32L162xD)
+#ifdef DATA_IN_ExtSRAM
+ static void SystemInit_ExtMemCtl(void);
+#endif /* DATA_IN_ExtSRAM */
+#endif /* STM32L151xD || STM32L152xD || STM32L162xD */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L1xx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * Initialize the Embedded Flash Interface, the PLL and update the
+ * SystemCoreClock variable.
+ * @param None
+ * @retval None
+ */
+void SystemInit (void)
+{
+#ifdef DATA_IN_ExtSRAM
+ SystemInit_ExtMemCtl();
+#endif /* DATA_IN_ExtSRAM */
+
+ /* Configure the Vector Table location -------------------------------------*/
+#if defined(USER_VECT_TAB_ADDRESS)
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
+#endif /* USER_VECT_TAB_ADDRESS */
+}
+
+/**
+ * @brief Update SystemCoreClock according to Clock Register Values
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI
+ * value as defined by the MSI range.
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(**)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(**)
+ * or HSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) HSI_VALUE is a constant defined in stm32l1xx.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSE_VALUE is a constant defined in stm32l1xx.h file (default value
+ * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate (void)
+{
+ uint32_t tmp = 0, pllmul = 0, plldiv = 0, pllsource = 0, msirange = 0;
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ tmp = RCC->CFGR & RCC_CFGR_SWS;
+
+ switch (tmp)
+ {
+ case 0x00: /* MSI used as system clock */
+ msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13;
+ SystemCoreClock = (32768 * (1 << (msirange + 1)));
+ break;
+ case 0x04: /* HSI used as system clock */
+ SystemCoreClock = HSI_VALUE;
+ break;
+ case 0x08: /* HSE used as system clock */
+ SystemCoreClock = HSE_VALUE;
+ break;
+ case 0x0C: /* PLL used as system clock */
+ /* Get PLL clock source and multiplication factor ----------------------*/
+ pllmul = RCC->CFGR & RCC_CFGR_PLLMUL;
+ plldiv = RCC->CFGR & RCC_CFGR_PLLDIV;
+ pllmul = PLLMulTable[(pllmul >> 18)];
+ plldiv = (plldiv >> 22) + 1;
+
+ pllsource = RCC->CFGR & RCC_CFGR_PLLSRC;
+
+ if (pllsource == 0x00)
+ {
+ /* HSI oscillator clock selected as PLL clock entry */
+ SystemCoreClock = (((HSI_VALUE) * pllmul) / plldiv);
+ }
+ else
+ {
+ /* HSE selected as PLL clock entry */
+ SystemCoreClock = (((HSE_VALUE) * pllmul) / plldiv);
+ }
+ break;
+ default: /* MSI used as system clock */
+ msirange = (RCC->ICSCR & RCC_ICSCR_MSIRANGE) >> 13;
+ SystemCoreClock = (32768 * (1 << (msirange + 1)));
+ break;
+ }
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4)];
+ /* HCLK clock frequency */
+ SystemCoreClock >>= tmp;
+}
+
+#if defined (STM32L151xD) || defined (STM32L152xD) || defined (STM32L162xD)
+#ifdef DATA_IN_ExtSRAM
+/**
+ * @brief Setup the external memory controller.
+ * Called in SystemInit() function before jump to main.
+ * This function configures the external SRAM mounted on STM32L152D_EVAL board
+ * This SRAM will be used as program data memory (including heap and stack).
+ * @param None
+ * @retval None
+ */
+void SystemInit_ExtMemCtl(void)
+{
+ __IO uint32_t tmpreg = 0;
+
+ /* Flash 1 wait state */
+ FLASH->ACR |= FLASH_ACR_LATENCY;
+
+ /* Power enable */
+ RCC->APB1ENR |= RCC_APB1ENR_PWREN;
+
+ /* Delay after an RCC peripheral clock enabling */
+ tmpreg = READ_BIT(RCC->APB1ENR, RCC_APB1ENR_PWREN);
+
+ /* Select the Voltage Range 1 (1.8 V) */
+ PWR->CR = PWR_CR_VOS_0;
+
+ /* Wait Until the Voltage Regulator is ready */
+ while((PWR->CSR & PWR_CSR_VOSF) != RESET)
+ {
+ }
+
+/*-- GPIOs Configuration -----------------------------------------------------*/
+/*
+ +-------------------+--------------------+------------------+------------------+
+ + SRAM pins assignment +
+ +-------------------+--------------------+------------------+------------------+
+ | PD0 <-> FSMC_D2 | PE0 <-> FSMC_NBL0 | PF0 <-> FSMC_A0 | PG0 <-> FSMC_A10 |
+ | PD1 <-> FSMC_D3 | PE1 <-> FSMC_NBL1 | PF1 <-> FSMC_A1 | PG1 <-> FSMC_A11 |
+ | PD4 <-> FSMC_NOE | PE7 <-> FSMC_D4 | PF2 <-> FSMC_A2 | PG2 <-> FSMC_A12 |
+ | PD5 <-> FSMC_NWE | PE8 <-> FSMC_D5 | PF3 <-> FSMC_A3 | PG3 <-> FSMC_A13 |
+ | PD8 <-> FSMC_D13 | PE9 <-> FSMC_D6 | PF4 <-> FSMC_A4 | PG4 <-> FSMC_A14 |
+ | PD9 <-> FSMC_D14 | PE10 <-> FSMC_D7 | PF5 <-> FSMC_A5 | PG5 <-> FSMC_A15 |
+ | PD10 <-> FSMC_D15 | PE11 <-> FSMC_D8 | PF12 <-> FSMC_A6 | PG10<-> FSMC_NE2 |
+ | PD11 <-> FSMC_A16 | PE12 <-> FSMC_D9 | PF13 <-> FSMC_A7 |------------------+
+ | PD12 <-> FSMC_A17 | PE13 <-> FSMC_D10 | PF14 <-> FSMC_A8 |
+ | PD13 <-> FSMC_A18 | PE14 <-> FSMC_D11 | PF15 <-> FSMC_A9 |
+ | PD14 <-> FSMC_D0 | PE15 <-> FSMC_D12 |------------------+
+ | PD15 <-> FSMC_D1 |--------------------+
+ +-------------------+
+*/
+
+ /* Enable GPIOD, GPIOE, GPIOF and GPIOG interface clock */
+ RCC->AHBENR = 0x000080D8;
+
+ /* Delay after an RCC peripheral clock enabling */
+ tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_GPIODEN);
+
+ /* Connect PDx pins to FSMC Alternate function */
+ GPIOD->AFR[0] = 0x00CC00CC;
+ GPIOD->AFR[1] = 0xCCCCCCCC;
+ /* Configure PDx pins in Alternate function mode */
+ GPIOD->MODER = 0xAAAA0A0A;
+ /* Configure PDx pins speed to 40 MHz */
+ GPIOD->OSPEEDR = 0xFFFF0F0F;
+ /* Configure PDx pins Output type to push-pull */
+ GPIOD->OTYPER = 0x00000000;
+ /* No pull-up, pull-down for PDx pins */
+ GPIOD->PUPDR = 0x00000000;
+
+ /* Connect PEx pins to FSMC Alternate function */
+ GPIOE->AFR[0] = 0xC00000CC;
+ GPIOE->AFR[1] = 0xCCCCCCCC;
+ /* Configure PEx pins in Alternate function mode */
+ GPIOE->MODER = 0xAAAA800A;
+ /* Configure PEx pins speed to 40 MHz */
+ GPIOE->OSPEEDR = 0xFFFFC00F;
+ /* Configure PEx pins Output type to push-pull */
+ GPIOE->OTYPER = 0x00000000;
+ /* No pull-up, pull-down for PEx pins */
+ GPIOE->PUPDR = 0x00000000;
+
+ /* Connect PFx pins to FSMC Alternate function */
+ GPIOF->AFR[0] = 0x00CCCCCC;
+ GPIOF->AFR[1] = 0xCCCC0000;
+ /* Configure PFx pins in Alternate function mode */
+ GPIOF->MODER = 0xAA000AAA;
+ /* Configure PFx pins speed to 40 MHz */
+ GPIOF->OSPEEDR = 0xFF000FFF;
+ /* Configure PFx pins Output type to push-pull */
+ GPIOF->OTYPER = 0x00000000;
+ /* No pull-up, pull-down for PFx pins */
+ GPIOF->PUPDR = 0x00000000;
+
+ /* Connect PGx pins to FSMC Alternate function */
+ GPIOG->AFR[0] = 0x00CCCCCC;
+ GPIOG->AFR[1] = 0x00000C00;
+ /* Configure PGx pins in Alternate function mode */
+ GPIOG->MODER = 0x00200AAA;
+ /* Configure PGx pins speed to 40 MHz */
+ GPIOG->OSPEEDR = 0x00300FFF;
+ /* Configure PGx pins Output type to push-pull */
+ GPIOG->OTYPER = 0x00000000;
+ /* No pull-up, pull-down for PGx pins */
+ GPIOG->PUPDR = 0x00000000;
+
+/*-- FSMC Configuration ------------------------------------------------------*/
+ /* Enable the FSMC interface clock */
+ RCC->AHBENR = 0x400080D8;
+
+ /* Delay after an RCC peripheral clock enabling */
+ tmpreg = READ_BIT(RCC->AHBENR, RCC_AHBENR_FSMCEN);
+
+ (void)(tmpreg);
+
+ /* Configure and enable Bank1_SRAM3 */
+ FSMC_Bank1->BTCR[4] = 0x00001011;
+ FSMC_Bank1->BTCR[5] = 0x00000300;
+ FSMC_Bank1E->BWTR[4] = 0x0FFFFFFF;
+/*
+ Bank1_SRAM3 is configured as follow:
+
+ p.FSMC_AddressSetupTime = 0;
+ p.FSMC_AddressHoldTime = 0;
+ p.FSMC_DataSetupTime = 3;
+ p.FSMC_BusTurnAroundDuration = 0;
+ p.FSMC_CLKDivision = 0;
+ p.FSMC_DataLatency = 0;
+ p.FSMC_AccessMode = FSMC_AccessMode_A;
+
+ FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM3;
+ FSMC_NORSRAMInitStructure.FSMC_DataAddressMux = FSMC_DataAddressMux_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_MemoryType = FSMC_MemoryType_SRAM;
+ FSMC_NORSRAMInitStructure.FSMC_MemoryDataWidth = FSMC_MemoryDataWidth_16b;
+ FSMC_NORSRAMInitStructure.FSMC_BurstAccessMode = FSMC_BurstAccessMode_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_AsynchronousWait = FSMC_AsynchronousWait_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_WaitSignalPolarity = FSMC_WaitSignalPolarity_Low;
+ FSMC_NORSRAMInitStructure.FSMC_WrapMode = FSMC_WrapMode_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_WaitSignalActive = FSMC_WaitSignalActive_BeforeWaitState;
+ FSMC_NORSRAMInitStructure.FSMC_WriteOperation = FSMC_WriteOperation_Enable;
+ FSMC_NORSRAMInitStructure.FSMC_WaitSignal = FSMC_WaitSignal_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_ExtendedMode = FSMC_ExtendedMode_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_WriteBurst = FSMC_WriteBurst_Disable;
+ FSMC_NORSRAMInitStructure.FSMC_ReadWriteTimingStruct = &p;
+ FSMC_NORSRAMInitStructure.FSMC_WriteTimingStruct = &p;
+
+ FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
+
+ FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM3, ENABLE);
+*/
+
+}
+#endif /* DATA_IN_ExtSRAM */
+#endif /* STM32L151xD || STM32L152xD || STM32L162xD */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+
diff --git a/DS_STM32_MARQUET/Core/Startup/startup_stm32l152retx.s b/DS_STM32_MARQUET/Core/Startup/startup_stm32l152retx.s
new file mode 100644
index 0000000..d3dd841
--- /dev/null
+++ b/DS_STM32_MARQUET/Core/Startup/startup_stm32l152retx.s
@@ -0,0 +1,413 @@
+/**
+ ******************************************************************************
+ * @file startup_stm32l152xe.s
+ * @author MCD Application Team
+ * @brief STM32L152XE Devices vector table for GCC toolchain.
+ * This module performs:
+ * - Set the initial SP
+ * - Set the initial PC == Reset_Handler,
+ * - Set the vector table entries with the exceptions ISR address
+ * - Configure the clock system
+ * - Branches to main in the C library (which eventually
+ * calls main()).
+ * After Reset the Cortex-M3 processor is in Thread mode,
+ * priority is Privileged, and the Stack is set to Main.
+ ******************************************************************************
+ * @attention
+ *
+ * Copyright (c) 2017-2021 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.
+ *
+ ******************************************************************************
+ */
+
+ .syntax unified
+ .cpu cortex-m3
+ .fpu softvfp
+ .thumb
+
+.global g_pfnVectors
+.global Default_Handler
+
+/* start address for the initialization values of the .data section.
+defined in linker script */
+.word _sidata
+/* start address for the .data section. defined in linker script */
+.word _sdata
+/* end address for the .data section. defined in linker script */
+.word _edata
+/* start address for the .bss section. defined in linker script */
+.word _sbss
+/* end address for the .bss section. defined in linker script */
+.word _ebss
+
+.equ BootRAM, 0xF108F85F
+/**
+ * @brief This is the code that gets called when the processor first
+ * starts execution following a reset event. Only the absolutely
+ * necessary set is performed, after which the application
+ * supplied main() routine is called.
+ * @param None
+ * @retval : None
+*/
+
+ .section .text.Reset_Handler
+ .weak Reset_Handler
+ .type Reset_Handler, %function
+Reset_Handler:
+
+
+/* Call the clock system initialization function.*/
+ bl SystemInit
+
+/* Copy the data segment initializers from flash to SRAM */
+ ldr r0, =_sdata
+ ldr r1, =_edata
+ ldr r2, =_sidata
+ movs r3, #0
+ b LoopCopyDataInit
+
+CopyDataInit:
+ ldr r4, [r2, r3]
+ str r4, [r0, r3]
+ adds r3, r3, #4
+
+LoopCopyDataInit:
+ adds r4, r0, r3
+ cmp r4, r1
+ bcc CopyDataInit
+
+/* Zero fill the bss segment. */
+ ldr r2, =_sbss
+ ldr r4, =_ebss
+ movs r3, #0
+ b LoopFillZerobss
+
+FillZerobss:
+ str r3, [r2]
+ adds r2, r2, #4
+
+LoopFillZerobss:
+ cmp r2, r4
+ bcc FillZerobss
+
+/* Call static constructors */
+ bl __libc_init_array
+/* Call the application's entry point.*/
+ bl main
+ bx lr
+.size Reset_Handler, .-Reset_Handler
+
+/**
+ * @brief This is the code that gets called when the processor receives an
+ * unexpected interrupt. This simply enters an infinite loop, preserving
+ * the system state for examination by a debugger.
+ *
+ * @param None
+ * @retval : None
+*/
+ .section .text.Default_Handler,"ax",%progbits
+Default_Handler:
+Infinite_Loop:
+ b Infinite_Loop
+ .size Default_Handler, .-Default_Handler
+/******************************************************************************
+*
+* The minimal vector table for a Cortex M3. Note that the proper constructs
+* must be placed on this to ensure that it ends up at physical address
+* 0x0000.0000.
+*
+******************************************************************************/
+ .section .isr_vector,"a",%progbits
+ .type g_pfnVectors, %object
+ .size g_pfnVectors, .-g_pfnVectors
+
+
+g_pfnVectors:
+ .word _estack
+ .word Reset_Handler
+ .word NMI_Handler
+ .word HardFault_Handler
+ .word MemManage_Handler
+ .word BusFault_Handler
+ .word UsageFault_Handler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word SVC_Handler
+ .word DebugMon_Handler
+ .word 0
+ .word PendSV_Handler
+ .word SysTick_Handler
+ .word WWDG_IRQHandler
+ .word PVD_IRQHandler
+ .word TAMPER_STAMP_IRQHandler
+ .word RTC_WKUP_IRQHandler
+ .word FLASH_IRQHandler
+ .word RCC_IRQHandler
+ .word EXTI0_IRQHandler
+ .word EXTI1_IRQHandler
+ .word EXTI2_IRQHandler
+ .word EXTI3_IRQHandler
+ .word EXTI4_IRQHandler
+ .word DMA1_Channel1_IRQHandler
+ .word DMA1_Channel2_IRQHandler
+ .word DMA1_Channel3_IRQHandler
+ .word DMA1_Channel4_IRQHandler
+ .word DMA1_Channel5_IRQHandler
+ .word DMA1_Channel6_IRQHandler
+ .word DMA1_Channel7_IRQHandler
+ .word ADC1_IRQHandler
+ .word USB_HP_IRQHandler
+ .word USB_LP_IRQHandler
+ .word DAC_IRQHandler
+ .word COMP_IRQHandler
+ .word EXTI9_5_IRQHandler
+ .word LCD_IRQHandler
+ .word TIM9_IRQHandler
+ .word TIM10_IRQHandler
+ .word TIM11_IRQHandler
+ .word TIM2_IRQHandler
+ .word TIM3_IRQHandler
+ .word TIM4_IRQHandler
+ .word I2C1_EV_IRQHandler
+ .word I2C1_ER_IRQHandler
+ .word I2C2_EV_IRQHandler
+ .word I2C2_ER_IRQHandler
+ .word SPI1_IRQHandler
+ .word SPI2_IRQHandler
+ .word USART1_IRQHandler
+ .word USART2_IRQHandler
+ .word USART3_IRQHandler
+ .word EXTI15_10_IRQHandler
+ .word RTC_Alarm_IRQHandler
+ .word USB_FS_WKUP_IRQHandler
+ .word TIM6_IRQHandler
+ .word TIM7_IRQHandler
+ .word 0
+ .word TIM5_IRQHandler
+ .word SPI3_IRQHandler
+ .word UART4_IRQHandler
+ .word UART5_IRQHandler
+ .word DMA2_Channel1_IRQHandler
+ .word DMA2_Channel2_IRQHandler
+ .word DMA2_Channel3_IRQHandler
+ .word DMA2_Channel4_IRQHandler
+ .word DMA2_Channel5_IRQHandler
+ .word 0
+ .word COMP_ACQ_IRQHandler
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word 0
+ .word BootRAM /* @0x108. This is for boot in RAM mode for
+ STM32L152XE devices. */
+
+/*******************************************************************************
+*
+* Provide weak aliases for each Exception handler to the Default_Handler.
+* As they are weak aliases, any function with the same name will override
+* this definition.
+*
+*******************************************************************************/
+
+ .weak NMI_Handler
+ .thumb_set NMI_Handler,Default_Handler
+
+ .weak HardFault_Handler
+ .thumb_set HardFault_Handler,Default_Handler
+
+ .weak MemManage_Handler
+ .thumb_set MemManage_Handler,Default_Handler
+
+ .weak BusFault_Handler
+ .thumb_set BusFault_Handler,Default_Handler
+
+ .weak UsageFault_Handler
+ .thumb_set UsageFault_Handler,Default_Handler
+
+ .weak SVC_Handler
+ .thumb_set SVC_Handler,Default_Handler
+
+ .weak DebugMon_Handler
+ .thumb_set DebugMon_Handler,Default_Handler
+
+ .weak PendSV_Handler
+ .thumb_set PendSV_Handler,Default_Handler
+
+ .weak SysTick_Handler
+ .thumb_set SysTick_Handler,Default_Handler
+
+ .weak WWDG_IRQHandler
+ .thumb_set WWDG_IRQHandler,Default_Handler
+
+ .weak PVD_IRQHandler
+ .thumb_set PVD_IRQHandler,Default_Handler
+
+ .weak TAMPER_STAMP_IRQHandler
+ .thumb_set TAMPER_STAMP_IRQHandler,Default_Handler
+
+ .weak RTC_WKUP_IRQHandler
+ .thumb_set RTC_WKUP_IRQHandler,Default_Handler
+
+ .weak FLASH_IRQHandler
+ .thumb_set FLASH_IRQHandler,Default_Handler
+
+ .weak RCC_IRQHandler
+ .thumb_set RCC_IRQHandler,Default_Handler
+
+ .weak EXTI0_IRQHandler
+ .thumb_set EXTI0_IRQHandler,Default_Handler
+
+ .weak EXTI1_IRQHandler
+ .thumb_set EXTI1_IRQHandler,Default_Handler
+
+ .weak EXTI2_IRQHandler
+ .thumb_set EXTI2_IRQHandler,Default_Handler
+
+ .weak EXTI3_IRQHandler
+ .thumb_set EXTI3_IRQHandler,Default_Handler
+
+ .weak EXTI4_IRQHandler
+ .thumb_set EXTI4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel1_IRQHandler
+ .thumb_set DMA1_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel2_IRQHandler
+ .thumb_set DMA1_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel3_IRQHandler
+ .thumb_set DMA1_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel4_IRQHandler
+ .thumb_set DMA1_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel5_IRQHandler
+ .thumb_set DMA1_Channel5_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel6_IRQHandler
+ .thumb_set DMA1_Channel6_IRQHandler,Default_Handler
+
+ .weak DMA1_Channel7_IRQHandler
+ .thumb_set DMA1_Channel7_IRQHandler,Default_Handler
+
+ .weak ADC1_IRQHandler
+ .thumb_set ADC1_IRQHandler,Default_Handler
+
+ .weak USB_HP_IRQHandler
+ .thumb_set USB_HP_IRQHandler,Default_Handler
+
+ .weak USB_LP_IRQHandler
+ .thumb_set USB_LP_IRQHandler,Default_Handler
+
+ .weak DAC_IRQHandler
+ .thumb_set DAC_IRQHandler,Default_Handler
+
+ .weak COMP_IRQHandler
+ .thumb_set COMP_IRQHandler,Default_Handler
+
+ .weak EXTI9_5_IRQHandler
+ .thumb_set EXTI9_5_IRQHandler,Default_Handler
+
+ .weak LCD_IRQHandler
+ .thumb_set LCD_IRQHandler,Default_Handler
+
+ .weak TIM9_IRQHandler
+ .thumb_set TIM9_IRQHandler,Default_Handler
+
+ .weak TIM10_IRQHandler
+ .thumb_set TIM10_IRQHandler,Default_Handler
+
+ .weak TIM11_IRQHandler
+ .thumb_set TIM11_IRQHandler,Default_Handler
+
+ .weak TIM2_IRQHandler
+ .thumb_set TIM2_IRQHandler,Default_Handler
+
+ .weak TIM3_IRQHandler
+ .thumb_set TIM3_IRQHandler,Default_Handler
+
+ .weak TIM4_IRQHandler
+ .thumb_set TIM4_IRQHandler,Default_Handler
+
+ .weak I2C1_EV_IRQHandler
+ .thumb_set I2C1_EV_IRQHandler,Default_Handler
+
+ .weak I2C1_ER_IRQHandler
+ .thumb_set I2C1_ER_IRQHandler,Default_Handler
+
+ .weak I2C2_EV_IRQHandler
+ .thumb_set I2C2_EV_IRQHandler,Default_Handler
+
+ .weak I2C2_ER_IRQHandler
+ .thumb_set I2C2_ER_IRQHandler,Default_Handler
+
+ .weak SPI1_IRQHandler
+ .thumb_set SPI1_IRQHandler,Default_Handler
+
+ .weak SPI2_IRQHandler
+ .thumb_set SPI2_IRQHandler,Default_Handler
+
+ .weak USART1_IRQHandler
+ .thumb_set USART1_IRQHandler,Default_Handler
+
+ .weak USART2_IRQHandler
+ .thumb_set USART2_IRQHandler,Default_Handler
+
+ .weak USART3_IRQHandler
+ .thumb_set USART3_IRQHandler,Default_Handler
+
+ .weak EXTI15_10_IRQHandler
+ .thumb_set EXTI15_10_IRQHandler,Default_Handler
+
+ .weak RTC_Alarm_IRQHandler
+ .thumb_set RTC_Alarm_IRQHandler,Default_Handler
+
+ .weak USB_FS_WKUP_IRQHandler
+ .thumb_set USB_FS_WKUP_IRQHandler,Default_Handler
+
+ .weak TIM6_IRQHandler
+ .thumb_set TIM6_IRQHandler,Default_Handler
+
+ .weak TIM7_IRQHandler
+ .thumb_set TIM7_IRQHandler,Default_Handler
+
+ .weak TIM5_IRQHandler
+ .thumb_set TIM5_IRQHandler,Default_Handler
+
+ .weak SPI3_IRQHandler
+ .thumb_set SPI3_IRQHandler,Default_Handler
+
+ .weak UART4_IRQHandler
+ .thumb_set UART4_IRQHandler,Default_Handler
+
+ .weak UART5_IRQHandler
+ .thumb_set UART5_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel1_IRQHandler
+ .thumb_set DMA2_Channel1_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel2_IRQHandler
+ .thumb_set DMA2_Channel2_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel3_IRQHandler
+ .thumb_set DMA2_Channel3_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel4_IRQHandler
+ .thumb_set DMA2_Channel4_IRQHandler,Default_Handler
+
+ .weak DMA2_Channel5_IRQHandler
+ .thumb_set DMA2_Channel5_IRQHandler,Default_Handler
+
+ .weak COMP_ACQ_IRQHandler
+ .thumb_set COMP_ACQ_IRQHandler,Default_Handler
+
+
+
diff --git a/DS_STM32_MARQUET/DS_STM32_MARQUET Debug.launch b/DS_STM32_MARQUET/DS_STM32_MARQUET Debug.launch
new file mode 100644
index 0000000..c0caa4e
--- /dev/null
+++ b/DS_STM32_MARQUET/DS_STM32_MARQUET Debug.launch
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DS_STM32_MARQUET/DS_STM32_MARQUET.ioc b/DS_STM32_MARQUET/DS_STM32_MARQUET.ioc
new file mode 100644
index 0000000..cde3775
--- /dev/null
+++ b/DS_STM32_MARQUET/DS_STM32_MARQUET.ioc
@@ -0,0 +1,190 @@
+#MicroXplorer Configuration settings - do not modify
+ADC.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_0
+ADC.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag
+ADC.NbrOfConversionFlag=1
+ADC.Rank-0\#ChannelRegularConversion=1
+ADC.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_4CYCLES
+CAD.formats=
+CAD.pinconfig=
+CAD.provider=
+File.Version=6
+GPIO.groupedBy=Group By Peripherals
+KeepUserPlacement=false
+Mcu.CPN=STM32L152RET6
+Mcu.Family=STM32L1
+Mcu.IP0=ADC
+Mcu.IP1=NVIC
+Mcu.IP2=RCC
+Mcu.IP3=SPI1
+Mcu.IP4=SYS
+Mcu.IP5=TIM3
+Mcu.IP6=TIM6
+Mcu.IPNb=7
+Mcu.Name=STM32L152RETx
+Mcu.Package=LQFP64
+Mcu.Pin0=PC0
+Mcu.Pin1=PC1
+Mcu.Pin10=PB13
+Mcu.Pin11=PC9
+Mcu.Pin12=PA11
+Mcu.Pin13=PA12
+Mcu.Pin14=PD2
+Mcu.Pin15=PB8
+Mcu.Pin16=VP_SYS_VS_Systick
+Mcu.Pin17=VP_TIM3_VS_ClockSourceINT
+Mcu.Pin18=VP_TIM6_VS_ClockSourceINT
+Mcu.Pin2=PC2
+Mcu.Pin3=PC3
+Mcu.Pin4=PA0-WKUP1
+Mcu.Pin5=PA5
+Mcu.Pin6=PA6
+Mcu.Pin7=PA7
+Mcu.Pin8=PB1
+Mcu.Pin9=PB12
+Mcu.PinsNb=19
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32L152RETx
+MxCube.Version=6.14.1
+MxDb.Version=DB.6.0.141
+NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.EXTI9_5_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
+NVIC.ForceEnableDMAVector=true
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+NVIC.SVC_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:true
+NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true\:false
+NVIC.TIM6_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
+NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
+PA0-WKUP1.Locked=true
+PA0-WKUP1.Mode=IN0
+PA0-WKUP1.Signal=ADC_IN0
+PA11.Locked=true
+PA11.Signal=GPIO_Input
+PA12.Locked=true
+PA12.Signal=GPIO_Input
+PA5.Locked=true
+PA5.Mode=Full_Duplex_Master
+PA5.Signal=SPI1_SCK
+PA6.Locked=true
+PA6.Mode=Full_Duplex_Master
+PA6.Signal=SPI1_MISO
+PA7.Locked=true
+PA7.Mode=Full_Duplex_Master
+PA7.Signal=SPI1_MOSI
+PB1.Locked=true
+PB1.Signal=S_TIM3_CH4
+PB12.Locked=true
+PB12.Signal=GPIO_Output
+PB13.Locked=true
+PB13.Signal=GPIO_Output
+PB8.Locked=true
+PB8.Signal=I2C1_SCL
+PC0.Locked=true
+PC0.Signal=GPIO_Output
+PC1.GPIOParameters=PinState
+PC1.Locked=true
+PC1.PinState=GPIO_PIN_SET
+PC1.Signal=GPIO_Output
+PC2.GPIOParameters=PinState
+PC2.Locked=true
+PC2.PinState=GPIO_PIN_SET
+PC2.Signal=GPIO_Output
+PC3.GPIOParameters=PinState
+PC3.Locked=true
+PC3.PinState=GPIO_PIN_SET
+PC3.Signal=GPIO_Output
+PC9.Locked=true
+PC9.Signal=GPXTI9
+PD2.GPIOParameters=PinState
+PD2.Locked=true
+PD2.PinState=GPIO_PIN_SET
+PD2.Signal=GPIO_Output
+PinOutPanel.RotationAngle=0
+ProjectManager.AskForMigrate=true
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerLinker=GCC
+ProjectManager.CompilerOptimize=6
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=false
+ProjectManager.CustomerFirmwarePackage=
+ProjectManager.DefaultFWLocation=true
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32L152RETx
+ProjectManager.FirmwarePackage=STM32Cube FW_L1 V1.10.5
+ProjectManager.FreePins=false
+ProjectManager.HalAssertFull=false
+ProjectManager.HeapSize=0x200
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=1
+ProjectManager.MainLocation=Core/Src
+ProjectManager.NoMain=false
+ProjectManager.PreviousToolchain=
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=DS_STM32_MARQUET.ioc
+ProjectManager.ProjectName=DS_STM32_MARQUET
+ProjectManager.ProjectStructure=
+ProjectManager.RegisterCallBack=
+ProjectManager.StackSize=0x400
+ProjectManager.TargetToolchain=STM32CubeIDE
+ProjectManager.ToolChainLocation=
+ProjectManager.UAScriptAfterPath=
+ProjectManager.UAScriptBeforePath=
+ProjectManager.UnderRoot=true
+ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_SPI1_Init-SPI1-false-HAL-true,4-MX_TIM3_Init-TIM3-false-HAL-true,5-MX_TIM6_Init-TIM6-false-HAL-true
+RCC.AHBFreq_Value=16000000
+RCC.APB1Freq_Value=16000000
+RCC.APB1TimFreq_Value=16000000
+RCC.APB2Freq_Value=16000000
+RCC.APB2TimFreq_Value=16000000
+RCC.FCLKCortexFreq_Value=16000000
+RCC.FamilyName=M
+RCC.HCLKFreq_Value=16000000
+RCC.HSE_VALUE=24000000
+RCC.HSI_VALUE=16000000
+RCC.IPParameters=AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI_VALUE,LSE_VALUE,LSI_VALUE,MCOPinFreq_Value,MSI_VALUE,PLLCLKFreq_Value,PWRFreq_Value,RTCFreq_Value,RTCHSEDivFreq_Value,SYSCLKFreq_VALUE,SYSCLKSource,TIMFreq_Value,TimerFreq_Value,VCOOutputFreq_Value
+RCC.LSE_VALUE=32768
+RCC.LSI_VALUE=37000
+RCC.MCOPinFreq_Value=16000000
+RCC.MSI_VALUE=2097000
+RCC.PLLCLKFreq_Value=24000000
+RCC.PWRFreq_Value=16000000
+RCC.RTCFreq_Value=37000
+RCC.RTCHSEDivFreq_Value=12000000
+RCC.SYSCLKFreq_VALUE=16000000
+RCC.SYSCLKSource=RCC_SYSCLKSOURCE_HSI
+RCC.TIMFreq_Value=16000000
+RCC.TimerFreq_Value=16000000
+RCC.VCOOutputFreq_Value=48000000
+SH.GPXTI9.0=GPIO_EXTI9
+SH.GPXTI9.ConfNb=1
+SH.S_TIM3_CH4.0=TIM3_CH4,PWM Generation4 CH4
+SH.S_TIM3_CH4.ConfNb=1
+SPI1.CalculateBaudRate=8.0 MBits/s
+SPI1.Direction=SPI_DIRECTION_2LINES
+SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate
+SPI1.Mode=SPI_MODE_MASTER
+SPI1.VirtualType=VM_MASTER
+TIM3.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
+TIM3.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
+TIM3.IPParameters=Channel-PWM Generation4 CH4,Prescaler,Period,AutoReloadPreload,Pulse-PWM Generation4 CH4
+TIM3.Period=16000-1
+TIM3.Prescaler=20-1
+TIM3.Pulse-PWM\ Generation4\ CH4=16000
+TIM6.AutoReloadPreload=TIM_AUTORELOAD_PRELOAD_ENABLE
+TIM6.IPParameters=AutoReloadPreload,Period,Prescaler
+TIM6.Period=16000-1
+TIM6.Prescaler=100-1
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+VP_TIM3_VS_ClockSourceINT.Mode=Internal
+VP_TIM3_VS_ClockSourceINT.Signal=TIM3_VS_ClockSourceINT
+VP_TIM6_VS_ClockSourceINT.Mode=Enable_Timer
+VP_TIM6_VS_ClockSourceINT.Signal=TIM6_VS_ClockSourceINT
+board=custom
+isbadioc=false
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/main.cyclo b/DS_STM32_MARQUET/Debug/Core/Src/main.cyclo
new file mode 100644
index 0000000..2371098
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/main.cyclo
@@ -0,0 +1,9 @@
+../Core/Src/main.c:87:5:main 1
+../Core/Src/main.c:182:6:SystemClock_Config 3
+../Core/Src/main.c:223:13:MX_ADC_Init 3
+../Core/Src/main.c:278:13:MX_SPI1_Init 2
+../Core/Src/main.c:316:13:MX_TIM3_Init 6
+../Core/Src/main.c:375:13:MX_TIM6_Init 3
+../Core/Src/main.c:413:13:MX_GPIO_Init 1
+../Core/Src/main.c:501:6:HAL_TIM_PeriodElapsedCallback 3
+../Core/Src/main.c:522:6:Error_Handler 1
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/main.d b/DS_STM32_MARQUET/Debug/Core/Src/main.d
new file mode 100644
index 0000000..3e86bd2
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/main.d
@@ -0,0 +1,63 @@
+Core/Src/main.o: ../Core/Src/main.c ../Core/Inc/main.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h \
+ ../Core/Inc/stm32l1xx_hal_conf.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h \
+ ../Drivers/CMSIS/Include/core_cm3.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h \
+ ../Drivers/7Seg_MAX7219/max7219.h ../Drivers/TFT_ST7735/fonc_tft.h
+../Core/Inc/main.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h:
+../Core/Inc/stm32l1xx_hal_conf.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h:
+../Drivers/CMSIS/Include/core_cm3.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h:
+../Drivers/7Seg_MAX7219/max7219.h:
+../Drivers/TFT_ST7735/fonc_tft.h:
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/main.o b/DS_STM32_MARQUET/Debug/Core/Src/main.o
new file mode 100644
index 0000000..2a9462e
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Src/main.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/main.su b/DS_STM32_MARQUET/Debug/Core/Src/main.su
new file mode 100644
index 0000000..1271e6e
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/main.su
@@ -0,0 +1,9 @@
+../Core/Src/main.c:87:5:main 8 static
+../Core/Src/main.c:182:6:SystemClock_Config 80 static
+../Core/Src/main.c:223:13:MX_ADC_Init 24 static
+../Core/Src/main.c:278:13:MX_SPI1_Init 8 static
+../Core/Src/main.c:316:13:MX_TIM3_Init 48 static
+../Core/Src/main.c:375:13:MX_TIM6_Init 16 static
+../Core/Src/main.c:413:13:MX_GPIO_Init 48 static
+../Core/Src/main.c:501:6:HAL_TIM_PeriodElapsedCallback 32 static
+../Core/Src/main.c:522:6:Error_Handler 4 static,ignoring_inline_asm
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.cyclo b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.cyclo
new file mode 100644
index 0000000..a7d9469
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.cyclo
@@ -0,0 +1,8 @@
+../Core/Src/stm32l1xx_hal_msp.c:65:6:HAL_MspInit 1
+../Core/Src/stm32l1xx_hal_msp.c:89:6:HAL_ADC_MspInit 2
+../Core/Src/stm32l1xx_hal_msp.c:123:6:HAL_ADC_MspDeInit 2
+../Core/Src/stm32l1xx_hal_msp.c:151:6:HAL_SPI_MspInit 2
+../Core/Src/stm32l1xx_hal_msp.c:189:6:HAL_SPI_MspDeInit 2
+../Core/Src/stm32l1xx_hal_msp.c:219:6:HAL_TIM_Base_MspInit 3
+../Core/Src/stm32l1xx_hal_msp.c:249:6:HAL_TIM_MspPostInit 2
+../Core/Src/stm32l1xx_hal_msp.c:281:6:HAL_TIM_Base_MspDeInit 3
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.d b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.d
new file mode 100644
index 0000000..67b3ada
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.d
@@ -0,0 +1,60 @@
+Core/Src/stm32l1xx_hal_msp.o: ../Core/Src/stm32l1xx_hal_msp.c \
+ ../Core/Inc/main.h ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h \
+ ../Core/Inc/stm32l1xx_hal_conf.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h \
+ ../Drivers/CMSIS/Include/core_cm3.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h
+../Core/Inc/main.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h:
+../Core/Inc/stm32l1xx_hal_conf.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h:
+../Drivers/CMSIS/Include/core_cm3.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h:
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.o b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.o
new file mode 100644
index 0000000..816ac5e
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.su b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.su
new file mode 100644
index 0000000..f82bd5e
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_hal_msp.su
@@ -0,0 +1,8 @@
+../Core/Src/stm32l1xx_hal_msp.c:65:6:HAL_MspInit 24 static
+../Core/Src/stm32l1xx_hal_msp.c:89:6:HAL_ADC_MspInit 48 static
+../Core/Src/stm32l1xx_hal_msp.c:123:6:HAL_ADC_MspDeInit 16 static
+../Core/Src/stm32l1xx_hal_msp.c:151:6:HAL_SPI_MspInit 48 static
+../Core/Src/stm32l1xx_hal_msp.c:189:6:HAL_SPI_MspDeInit 16 static
+../Core/Src/stm32l1xx_hal_msp.c:219:6:HAL_TIM_Base_MspInit 24 static
+../Core/Src/stm32l1xx_hal_msp.c:249:6:HAL_TIM_MspPostInit 40 static
+../Core/Src/stm32l1xx_hal_msp.c:281:6:HAL_TIM_Base_MspDeInit 16 static
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.cyclo b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.cyclo
new file mode 100644
index 0000000..057d96e
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.cyclo
@@ -0,0 +1,11 @@
+../Core/Src/stm32l1xx_it.c:69:6:NMI_Handler 1
+../Core/Src/stm32l1xx_it.c:84:6:HardFault_Handler 1
+../Core/Src/stm32l1xx_it.c:99:6:MemManage_Handler 1
+../Core/Src/stm32l1xx_it.c:114:6:BusFault_Handler 1
+../Core/Src/stm32l1xx_it.c:129:6:UsageFault_Handler 1
+../Core/Src/stm32l1xx_it.c:144:6:SVC_Handler 1
+../Core/Src/stm32l1xx_it.c:157:6:DebugMon_Handler 1
+../Core/Src/stm32l1xx_it.c:170:6:PendSV_Handler 1
+../Core/Src/stm32l1xx_it.c:183:6:SysTick_Handler 1
+../Core/Src/stm32l1xx_it.c:204:6:EXTI9_5_IRQHandler 1
+../Core/Src/stm32l1xx_it.c:218:6:TIM6_IRQHandler 1
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.d b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.d
new file mode 100644
index 0000000..e680f66
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.d
@@ -0,0 +1,62 @@
+Core/Src/stm32l1xx_it.o: ../Core/Src/stm32l1xx_it.c ../Core/Inc/main.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h \
+ ../Core/Inc/stm32l1xx_hal_conf.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h \
+ ../Drivers/CMSIS/Include/core_cm3.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h \
+ ../Core/Inc/stm32l1xx_it.h
+../Core/Inc/main.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h:
+../Core/Inc/stm32l1xx_hal_conf.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h:
+../Drivers/CMSIS/Include/core_cm3.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h:
+../Core/Inc/stm32l1xx_it.h:
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.o b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.o
new file mode 100644
index 0000000..f8ed549
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.su b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.su
new file mode 100644
index 0000000..171dff9
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/stm32l1xx_it.su
@@ -0,0 +1,11 @@
+../Core/Src/stm32l1xx_it.c:69:6:NMI_Handler 4 static
+../Core/Src/stm32l1xx_it.c:84:6:HardFault_Handler 4 static
+../Core/Src/stm32l1xx_it.c:99:6:MemManage_Handler 4 static
+../Core/Src/stm32l1xx_it.c:114:6:BusFault_Handler 4 static
+../Core/Src/stm32l1xx_it.c:129:6:UsageFault_Handler 4 static
+../Core/Src/stm32l1xx_it.c:144:6:SVC_Handler 4 static
+../Core/Src/stm32l1xx_it.c:157:6:DebugMon_Handler 4 static
+../Core/Src/stm32l1xx_it.c:170:6:PendSV_Handler 4 static
+../Core/Src/stm32l1xx_it.c:183:6:SysTick_Handler 8 static
+../Core/Src/stm32l1xx_it.c:204:6:EXTI9_5_IRQHandler 8 static
+../Core/Src/stm32l1xx_it.c:218:6:TIM6_IRQHandler 8 static
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/subdir.mk b/DS_STM32_MARQUET/Debug/Core/Src/subdir.mk
new file mode 100644
index 0000000..9a450e8
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/subdir.mk
@@ -0,0 +1,42 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (13.3.rel1)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+C_SRCS += \
+../Core/Src/main.c \
+../Core/Src/stm32l1xx_hal_msp.c \
+../Core/Src/stm32l1xx_it.c \
+../Core/Src/syscalls.c \
+../Core/Src/sysmem.c \
+../Core/Src/system_stm32l1xx.c
+
+OBJS += \
+./Core/Src/main.o \
+./Core/Src/stm32l1xx_hal_msp.o \
+./Core/Src/stm32l1xx_it.o \
+./Core/Src/syscalls.o \
+./Core/Src/sysmem.o \
+./Core/Src/system_stm32l1xx.o
+
+C_DEPS += \
+./Core/Src/main.d \
+./Core/Src/stm32l1xx_hal_msp.d \
+./Core/Src/stm32l1xx_it.d \
+./Core/Src/syscalls.d \
+./Core/Src/sysmem.d \
+./Core/Src/system_stm32l1xx.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Core/Src/%.o Core/Src/%.su Core/Src/%.cyclo: ../Core/Src/%.c Core/Src/subdir.mk
+ arm-none-eabi-gcc "$<" -mcpu=cortex-m3 -std=gnu11 -g3 -DDEBUG -DUSE_HAL_DRIVER -DSTM32L152xE -c -I../Core/Inc -I../Drivers/STM32L1xx_HAL_Driver/Inc -I../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy -I../Drivers/CMSIS/Device/ST/STM32L1xx/Include -I../Drivers/CMSIS/Include -I../Drivers/7Seg_MAX7219 -I../Drivers/TFT_ST7735 -O0 -ffunction-sections -fdata-sections -Wall -fstack-usage -fcyclomatic-complexity -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfloat-abi=soft -mthumb -o "$@"
+
+clean: clean-Core-2f-Src
+
+clean-Core-2f-Src:
+ -$(RM) ./Core/Src/main.cyclo ./Core/Src/main.d ./Core/Src/main.o ./Core/Src/main.su ./Core/Src/stm32l1xx_hal_msp.cyclo ./Core/Src/stm32l1xx_hal_msp.d ./Core/Src/stm32l1xx_hal_msp.o ./Core/Src/stm32l1xx_hal_msp.su ./Core/Src/stm32l1xx_it.cyclo ./Core/Src/stm32l1xx_it.d ./Core/Src/stm32l1xx_it.o ./Core/Src/stm32l1xx_it.su ./Core/Src/syscalls.cyclo ./Core/Src/syscalls.d ./Core/Src/syscalls.o ./Core/Src/syscalls.su ./Core/Src/sysmem.cyclo ./Core/Src/sysmem.d ./Core/Src/sysmem.o ./Core/Src/sysmem.su ./Core/Src/system_stm32l1xx.cyclo ./Core/Src/system_stm32l1xx.d ./Core/Src/system_stm32l1xx.o ./Core/Src/system_stm32l1xx.su
+
+.PHONY: clean-Core-2f-Src
+
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/syscalls.cyclo b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.cyclo
new file mode 100644
index 0000000..6cbfdd0
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.cyclo
@@ -0,0 +1,18 @@
+../Core/Src/syscalls.c:44:6:initialise_monitor_handles 1
+../Core/Src/syscalls.c:48:5:_getpid 1
+../Core/Src/syscalls.c:53:5:_kill 1
+../Core/Src/syscalls.c:61:6:_exit 1
+../Core/Src/syscalls.c:67:27:_read 2
+../Core/Src/syscalls.c:80:27:_write 2
+../Core/Src/syscalls.c:92:5:_close 1
+../Core/Src/syscalls.c:99:5:_fstat 1
+../Core/Src/syscalls.c:106:5:_isatty 1
+../Core/Src/syscalls.c:112:5:_lseek 1
+../Core/Src/syscalls.c:120:5:_open 1
+../Core/Src/syscalls.c:128:5:_wait 1
+../Core/Src/syscalls.c:135:5:_unlink 1
+../Core/Src/syscalls.c:142:5:_times 1
+../Core/Src/syscalls.c:148:5:_stat 1
+../Core/Src/syscalls.c:155:5:_link 1
+../Core/Src/syscalls.c:163:5:_fork 1
+../Core/Src/syscalls.c:169:5:_execve 1
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/syscalls.d b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.d
new file mode 100644
index 0000000..8667c70
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.d
@@ -0,0 +1 @@
+Core/Src/syscalls.o: ../Core/Src/syscalls.c
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/syscalls.o b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.o
new file mode 100644
index 0000000..3309db5
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/syscalls.su b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.su
new file mode 100644
index 0000000..50b547a
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/syscalls.su
@@ -0,0 +1,18 @@
+../Core/Src/syscalls.c:44:6:initialise_monitor_handles 4 static
+../Core/Src/syscalls.c:48:5:_getpid 4 static
+../Core/Src/syscalls.c:53:5:_kill 16 static
+../Core/Src/syscalls.c:61:6:_exit 16 static
+../Core/Src/syscalls.c:67:27:_read 32 static
+../Core/Src/syscalls.c:80:27:_write 32 static
+../Core/Src/syscalls.c:92:5:_close 16 static
+../Core/Src/syscalls.c:99:5:_fstat 16 static
+../Core/Src/syscalls.c:106:5:_isatty 16 static
+../Core/Src/syscalls.c:112:5:_lseek 24 static
+../Core/Src/syscalls.c:120:5:_open 12 static
+../Core/Src/syscalls.c:128:5:_wait 16 static
+../Core/Src/syscalls.c:135:5:_unlink 16 static
+../Core/Src/syscalls.c:142:5:_times 16 static
+../Core/Src/syscalls.c:148:5:_stat 16 static
+../Core/Src/syscalls.c:155:5:_link 16 static
+../Core/Src/syscalls.c:163:5:_fork 8 static
+../Core/Src/syscalls.c:169:5:_execve 24 static
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/sysmem.cyclo b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.cyclo
new file mode 100644
index 0000000..0090c10
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.cyclo
@@ -0,0 +1 @@
+../Core/Src/sysmem.c:53:7:_sbrk 3
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/sysmem.d b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.d
new file mode 100644
index 0000000..74fecf9
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.d
@@ -0,0 +1 @@
+Core/Src/sysmem.o: ../Core/Src/sysmem.c
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/sysmem.o b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.o
new file mode 100644
index 0000000..20c0298
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/sysmem.su b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.su
new file mode 100644
index 0000000..12d5f17
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/sysmem.su
@@ -0,0 +1 @@
+../Core/Src/sysmem.c:53:7:_sbrk 32 static
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.cyclo b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.cyclo
new file mode 100644
index 0000000..4f4c23e
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.cyclo
@@ -0,0 +1,2 @@
+../Core/Src/system_stm32l1xx.c:161:6:SystemInit 1
+../Core/Src/system_stm32l1xx.c:211:6:SystemCoreClockUpdate 6
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.d b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.d
new file mode 100644
index 0000000..8ce933f
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.d
@@ -0,0 +1,59 @@
+Core/Src/system_stm32l1xx.o: ../Core/Src/system_stm32l1xx.c \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h \
+ ../Drivers/CMSIS/Include/core_cm3.h \
+ ../Drivers/CMSIS/Include/cmsis_version.h \
+ ../Drivers/CMSIS/Include/cmsis_compiler.h \
+ ../Drivers/CMSIS/Include/cmsis_gcc.h \
+ ../Drivers/CMSIS/Include/mpu_armv7.h \
+ ../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h \
+ ../Core/Inc/stm32l1xx_hal_conf.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h \
+ ../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l1xx.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/stm32l152xe.h:
+../Drivers/CMSIS/Include/core_cm3.h:
+../Drivers/CMSIS/Include/cmsis_version.h:
+../Drivers/CMSIS/Include/cmsis_compiler.h:
+../Drivers/CMSIS/Include/cmsis_gcc.h:
+../Drivers/CMSIS/Include/mpu_armv7.h:
+../Drivers/CMSIS/Device/ST/STM32L1xx/Include/system_stm32l1xx.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal.h:
+../Core/Inc/stm32l1xx_hal_conf.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_def.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_rcc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_gpio_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_dma.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_cortex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_adc_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_flash_ramfunc.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_pwr_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_spi.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_tim_ex.h:
+../Drivers/STM32L1xx_HAL_Driver/Inc/stm32l1xx_hal_exti.h:
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.o b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.o
new file mode 100644
index 0000000..819c5d9
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.su b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.su
new file mode 100644
index 0000000..7b26053
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Src/system_stm32l1xx.su
@@ -0,0 +1,2 @@
+../Core/Src/system_stm32l1xx.c:161:6:SystemInit 4 static
+../Core/Src/system_stm32l1xx.c:211:6:SystemCoreClockUpdate 32 static
diff --git a/DS_STM32_MARQUET/Debug/Core/Startup/startup_stm32l152retx.d b/DS_STM32_MARQUET/Debug/Core/Startup/startup_stm32l152retx.d
new file mode 100644
index 0000000..98bd1c7
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Startup/startup_stm32l152retx.d
@@ -0,0 +1,2 @@
+Core/Startup/startup_stm32l152retx.o: \
+ ../Core/Startup/startup_stm32l152retx.s
diff --git a/DS_STM32_MARQUET/Debug/Core/Startup/startup_stm32l152retx.o b/DS_STM32_MARQUET/Debug/Core/Startup/startup_stm32l152retx.o
new file mode 100644
index 0000000..bd40f43
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/Core/Startup/startup_stm32l152retx.o differ
diff --git a/DS_STM32_MARQUET/Debug/Core/Startup/subdir.mk b/DS_STM32_MARQUET/Debug/Core/Startup/subdir.mk
new file mode 100644
index 0000000..2bd1fed
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/Core/Startup/subdir.mk
@@ -0,0 +1,27 @@
+################################################################################
+# Automatically-generated file. Do not edit!
+# Toolchain: GNU Tools for STM32 (13.3.rel1)
+################################################################################
+
+# Add inputs and outputs from these tool invocations to the build variables
+S_SRCS += \
+../Core/Startup/startup_stm32l152retx.s
+
+OBJS += \
+./Core/Startup/startup_stm32l152retx.o
+
+S_DEPS += \
+./Core/Startup/startup_stm32l152retx.d
+
+
+# Each subdirectory must supply rules for building sources it contributes
+Core/Startup/%.o: ../Core/Startup/%.s Core/Startup/subdir.mk
+ arm-none-eabi-gcc -mcpu=cortex-m3 -g3 -DDEBUG -c -x assembler-with-cpp -MMD -MP -MF"$(@:%.o=%.d)" -MT"$@" --specs=nano.specs -mfloat-abi=soft -mthumb -o "$@" "$<"
+
+clean: clean-Core-2f-Startup
+
+clean-Core-2f-Startup:
+ -$(RM) ./Core/Startup/startup_stm32l152retx.d ./Core/Startup/startup_stm32l152retx.o
+
+.PHONY: clean-Core-2f-Startup
+
diff --git a/DS_STM32_MARQUET/Debug/DS_STM32_MARQUET.elf b/DS_STM32_MARQUET/Debug/DS_STM32_MARQUET.elf
new file mode 100755
index 0000000..2efd17b
Binary files /dev/null and b/DS_STM32_MARQUET/Debug/DS_STM32_MARQUET.elf differ
diff --git a/DS_STM32_MARQUET/Debug/DS_STM32_MARQUET.list b/DS_STM32_MARQUET/Debug/DS_STM32_MARQUET.list
new file mode 100644
index 0000000..ef55885
--- /dev/null
+++ b/DS_STM32_MARQUET/Debug/DS_STM32_MARQUET.list
@@ -0,0 +1,10078 @@
+
+DS_STM32_MARQUET.elf: file format elf32-littlearm
+
+Sections:
+Idx Name Size VMA LMA File off Algn
+ 0 .isr_vector 0000013c 08000000 08000000 00001000 2**0
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 1 .text 00003ca0 0800013c 0800013c 0000113c 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, CODE
+ 2 .rodata 0000001c 08003ddc 08003ddc 00004ddc 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 3 .ARM.extab 00000000 08003df8 08003df8 0000500c 2**0
+ CONTENTS, READONLY
+ 4 .ARM 00000008 08003df8 08003df8 00004df8 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 5 .preinit_array 00000000 08003e00 08003e00 0000500c 2**0
+ CONTENTS, ALLOC, LOAD, DATA
+ 6 .init_array 00000004 08003e00 08003e00 00004e00 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 7 .fini_array 00000004 08003e04 08003e04 00004e04 2**2
+ CONTENTS, ALLOC, LOAD, READONLY, DATA
+ 8 .data 0000000c 20000000 08003e08 00005000 2**2
+ CONTENTS, ALLOC, LOAD, DATA
+ 9 .bss 0000014c 2000000c 08003e14 0000500c 2**2
+ ALLOC
+ 10 ._user_heap_stack 00000600 20000158 08003e14 00005158 2**0
+ ALLOC
+ 11 .ARM.attributes 00000029 00000000 00000000 0000500c 2**0
+ CONTENTS, READONLY
+ 12 .debug_info 0000a611 00000000 00000000 00005035 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 13 .debug_abbrev 00001a9f 00000000 00000000 0000f646 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 14 .debug_aranges 00000b20 00000000 00000000 000110e8 2**3
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 15 .debug_rnglists 0000087e 00000000 00000000 00011c08 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 16 .debug_macro 00015f3e 00000000 00000000 00012486 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 17 .debug_line 0000b504 00000000 00000000 000283c4 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 18 .debug_str 0008ef86 00000000 00000000 000338c8 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 19 .comment 00000043 00000000 00000000 000c284e 2**0
+ CONTENTS, READONLY
+ 20 .debug_frame 00002fa8 00000000 00000000 000c2894 2**2
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+ 21 .debug_line_str 00000076 00000000 00000000 000c583c 2**0
+ CONTENTS, READONLY, DEBUGGING, OCTETS
+
+Disassembly of section .text:
+
+0800013c <__do_global_dtors_aux>:
+ 800013c: b510 push {r4, lr}
+ 800013e: 4c05 ldr r4, [pc, #20] @ (8000154 <__do_global_dtors_aux+0x18>)
+ 8000140: 7823 ldrb r3, [r4, #0]
+ 8000142: b933 cbnz r3, 8000152 <__do_global_dtors_aux+0x16>
+ 8000144: 4b04 ldr r3, [pc, #16] @ (8000158 <__do_global_dtors_aux+0x1c>)
+ 8000146: b113 cbz r3, 800014e <__do_global_dtors_aux+0x12>
+ 8000148: 4804 ldr r0, [pc, #16] @ (800015c <__do_global_dtors_aux+0x20>)
+ 800014a: f3af 8000 nop.w
+ 800014e: 2301 movs r3, #1
+ 8000150: 7023 strb r3, [r4, #0]
+ 8000152: bd10 pop {r4, pc}
+ 8000154: 2000000c .word 0x2000000c
+ 8000158: 00000000 .word 0x00000000
+ 800015c: 08003dc4 .word 0x08003dc4
+
+08000160 :
+ 8000160: b508 push {r3, lr}
+ 8000162: 4b03 ldr r3, [pc, #12] @ (8000170 )
+ 8000164: b11b cbz r3, 800016e
+ 8000166: 4903 ldr r1, [pc, #12] @ (8000174 )
+ 8000168: 4803 ldr r0, [pc, #12] @ (8000178 )
+ 800016a: f3af 8000 nop.w
+ 800016e: bd08 pop {r3, pc}
+ 8000170: 00000000 .word 0x00000000
+ 8000174: 20000010 .word 0x20000010
+ 8000178: 08003dc4 .word 0x08003dc4
+
+0800017c <__aeabi_drsub>:
+ 800017c: f081 4100 eor.w r1, r1, #2147483648 @ 0x80000000
+ 8000180: e002 b.n 8000188 <__adddf3>
+ 8000182: bf00 nop
+
+08000184 <__aeabi_dsub>:
+ 8000184: f083 4300 eor.w r3, r3, #2147483648 @ 0x80000000
+
+08000188 <__adddf3>:
+ 8000188: b530 push {r4, r5, lr}
+ 800018a: ea4f 0441 mov.w r4, r1, lsl #1
+ 800018e: ea4f 0543 mov.w r5, r3, lsl #1
+ 8000192: ea94 0f05 teq r4, r5
+ 8000196: bf08 it eq
+ 8000198: ea90 0f02 teqeq r0, r2
+ 800019c: bf1f itttt ne
+ 800019e: ea54 0c00 orrsne.w ip, r4, r0
+ 80001a2: ea55 0c02 orrsne.w ip, r5, r2
+ 80001a6: ea7f 5c64 mvnsne.w ip, r4, asr #21
+ 80001aa: ea7f 5c65 mvnsne.w ip, r5, asr #21
+ 80001ae: f000 80e2 beq.w 8000376 <__adddf3+0x1ee>
+ 80001b2: ea4f 5454 mov.w r4, r4, lsr #21
+ 80001b6: ebd4 5555 rsbs r5, r4, r5, lsr #21
+ 80001ba: bfb8 it lt
+ 80001bc: 426d neglt r5, r5
+ 80001be: dd0c ble.n 80001da <__adddf3+0x52>
+ 80001c0: 442c add r4, r5
+ 80001c2: ea80 0202 eor.w r2, r0, r2
+ 80001c6: ea81 0303 eor.w r3, r1, r3
+ 80001ca: ea82 0000 eor.w r0, r2, r0
+ 80001ce: ea83 0101 eor.w r1, r3, r1
+ 80001d2: ea80 0202 eor.w r2, r0, r2
+ 80001d6: ea81 0303 eor.w r3, r1, r3
+ 80001da: 2d36 cmp r5, #54 @ 0x36
+ 80001dc: bf88 it hi
+ 80001de: bd30 pophi {r4, r5, pc}
+ 80001e0: f011 4f00 tst.w r1, #2147483648 @ 0x80000000
+ 80001e4: ea4f 3101 mov.w r1, r1, lsl #12
+ 80001e8: f44f 1c80 mov.w ip, #1048576 @ 0x100000
+ 80001ec: ea4c 3111 orr.w r1, ip, r1, lsr #12
+ 80001f0: d002 beq.n 80001f8 <__adddf3+0x70>
+ 80001f2: 4240 negs r0, r0
+ 80001f4: eb61 0141 sbc.w r1, r1, r1, lsl #1
+ 80001f8: f013 4f00 tst.w r3, #2147483648 @ 0x80000000
+ 80001fc: ea4f 3303 mov.w r3, r3, lsl #12
+ 8000200: ea4c 3313 orr.w r3, ip, r3, lsr #12
+ 8000204: d002 beq.n 800020c <__adddf3+0x84>
+ 8000206: 4252 negs r2, r2
+ 8000208: eb63 0343 sbc.w r3, r3, r3, lsl #1
+ 800020c: ea94 0f05 teq r4, r5
+ 8000210: f000 80a7 beq.w 8000362 <__adddf3+0x1da>
+ 8000214: f1a4 0401 sub.w r4, r4, #1
+ 8000218: f1d5 0e20 rsbs lr, r5, #32
+ 800021c: db0d blt.n 800023a <__adddf3+0xb2>
+ 800021e: fa02 fc0e lsl.w ip, r2, lr
+ 8000222: fa22 f205 lsr.w r2, r2, r5
+ 8000226: 1880 adds r0, r0, r2
+ 8000228: f141 0100 adc.w r1, r1, #0
+ 800022c: fa03 f20e lsl.w r2, r3, lr
+ 8000230: 1880 adds r0, r0, r2
+ 8000232: fa43 f305 asr.w r3, r3, r5
+ 8000236: 4159 adcs r1, r3
+ 8000238: e00e b.n 8000258 <__adddf3+0xd0>
+ 800023a: f1a5 0520 sub.w r5, r5, #32
+ 800023e: f10e 0e20 add.w lr, lr, #32
+ 8000242: 2a01 cmp r2, #1
+ 8000244: fa03 fc0e lsl.w ip, r3, lr
+ 8000248: bf28 it cs
+ 800024a: f04c 0c02 orrcs.w ip, ip, #2
+ 800024e: fa43 f305 asr.w r3, r3, r5
+ 8000252: 18c0 adds r0, r0, r3
+ 8000254: eb51 71e3 adcs.w r1, r1, r3, asr #31
+ 8000258: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000
+ 800025c: d507 bpl.n 800026e <__adddf3+0xe6>
+ 800025e: f04f 0e00 mov.w lr, #0
+ 8000262: f1dc 0c00 rsbs ip, ip, #0
+ 8000266: eb7e 0000 sbcs.w r0, lr, r0
+ 800026a: eb6e 0101 sbc.w r1, lr, r1
+ 800026e: f5b1 1f80 cmp.w r1, #1048576 @ 0x100000
+ 8000272: d31b bcc.n 80002ac <__adddf3+0x124>
+ 8000274: f5b1 1f00 cmp.w r1, #2097152 @ 0x200000
+ 8000278: d30c bcc.n 8000294 <__adddf3+0x10c>
+ 800027a: 0849 lsrs r1, r1, #1
+ 800027c: ea5f 0030 movs.w r0, r0, rrx
+ 8000280: ea4f 0c3c mov.w ip, ip, rrx
+ 8000284: f104 0401 add.w r4, r4, #1
+ 8000288: ea4f 5244 mov.w r2, r4, lsl #21
+ 800028c: f512 0f80 cmn.w r2, #4194304 @ 0x400000
+ 8000290: f080 809a bcs.w 80003c8 <__adddf3+0x240>
+ 8000294: f1bc 4f00 cmp.w ip, #2147483648 @ 0x80000000
+ 8000298: bf08 it eq
+ 800029a: ea5f 0c50 movseq.w ip, r0, lsr #1
+ 800029e: f150 0000 adcs.w r0, r0, #0
+ 80002a2: eb41 5104 adc.w r1, r1, r4, lsl #20
+ 80002a6: ea41 0105 orr.w r1, r1, r5
+ 80002aa: bd30 pop {r4, r5, pc}
+ 80002ac: ea5f 0c4c movs.w ip, ip, lsl #1
+ 80002b0: 4140 adcs r0, r0
+ 80002b2: eb41 0101 adc.w r1, r1, r1
+ 80002b6: 3c01 subs r4, #1
+ 80002b8: bf28 it cs
+ 80002ba: f5b1 1f80 cmpcs.w r1, #1048576 @ 0x100000
+ 80002be: d2e9 bcs.n 8000294 <__adddf3+0x10c>
+ 80002c0: f091 0f00 teq r1, #0
+ 80002c4: bf04 itt eq
+ 80002c6: 4601 moveq r1, r0
+ 80002c8: 2000 moveq r0, #0
+ 80002ca: fab1 f381 clz r3, r1
+ 80002ce: bf08 it eq
+ 80002d0: 3320 addeq r3, #32
+ 80002d2: f1a3 030b sub.w r3, r3, #11
+ 80002d6: f1b3 0220 subs.w r2, r3, #32
+ 80002da: da0c bge.n 80002f6 <__adddf3+0x16e>
+ 80002dc: 320c adds r2, #12
+ 80002de: dd08 ble.n 80002f2 <__adddf3+0x16a>
+ 80002e0: f102 0c14 add.w ip, r2, #20
+ 80002e4: f1c2 020c rsb r2, r2, #12
+ 80002e8: fa01 f00c lsl.w r0, r1, ip
+ 80002ec: fa21 f102 lsr.w r1, r1, r2
+ 80002f0: e00c b.n 800030c <__adddf3+0x184>
+ 80002f2: f102 0214 add.w r2, r2, #20
+ 80002f6: bfd8 it le
+ 80002f8: f1c2 0c20 rsble ip, r2, #32
+ 80002fc: fa01 f102 lsl.w r1, r1, r2
+ 8000300: fa20 fc0c lsr.w ip, r0, ip
+ 8000304: bfdc itt le
+ 8000306: ea41 010c orrle.w r1, r1, ip
+ 800030a: 4090 lslle r0, r2
+ 800030c: 1ae4 subs r4, r4, r3
+ 800030e: bfa2 ittt ge
+ 8000310: eb01 5104 addge.w r1, r1, r4, lsl #20
+ 8000314: 4329 orrge r1, r5
+ 8000316: bd30 popge {r4, r5, pc}
+ 8000318: ea6f 0404 mvn.w r4, r4
+ 800031c: 3c1f subs r4, #31
+ 800031e: da1c bge.n 800035a <__adddf3+0x1d2>
+ 8000320: 340c adds r4, #12
+ 8000322: dc0e bgt.n 8000342 <__adddf3+0x1ba>
+ 8000324: f104 0414 add.w r4, r4, #20
+ 8000328: f1c4 0220 rsb r2, r4, #32
+ 800032c: fa20 f004 lsr.w r0, r0, r4
+ 8000330: fa01 f302 lsl.w r3, r1, r2
+ 8000334: ea40 0003 orr.w r0, r0, r3
+ 8000338: fa21 f304 lsr.w r3, r1, r4
+ 800033c: ea45 0103 orr.w r1, r5, r3
+ 8000340: bd30 pop {r4, r5, pc}
+ 8000342: f1c4 040c rsb r4, r4, #12
+ 8000346: f1c4 0220 rsb r2, r4, #32
+ 800034a: fa20 f002 lsr.w r0, r0, r2
+ 800034e: fa01 f304 lsl.w r3, r1, r4
+ 8000352: ea40 0003 orr.w r0, r0, r3
+ 8000356: 4629 mov r1, r5
+ 8000358: bd30 pop {r4, r5, pc}
+ 800035a: fa21 f004 lsr.w r0, r1, r4
+ 800035e: 4629 mov r1, r5
+ 8000360: bd30 pop {r4, r5, pc}
+ 8000362: f094 0f00 teq r4, #0
+ 8000366: f483 1380 eor.w r3, r3, #1048576 @ 0x100000
+ 800036a: bf06 itte eq
+ 800036c: f481 1180 eoreq.w r1, r1, #1048576 @ 0x100000
+ 8000370: 3401 addeq r4, #1
+ 8000372: 3d01 subne r5, #1
+ 8000374: e74e b.n 8000214 <__adddf3+0x8c>
+ 8000376: ea7f 5c64 mvns.w ip, r4, asr #21
+ 800037a: bf18 it ne
+ 800037c: ea7f 5c65 mvnsne.w ip, r5, asr #21
+ 8000380: d029 beq.n 80003d6 <__adddf3+0x24e>
+ 8000382: ea94 0f05 teq r4, r5
+ 8000386: bf08 it eq
+ 8000388: ea90 0f02 teqeq r0, r2
+ 800038c: d005 beq.n 800039a <__adddf3+0x212>
+ 800038e: ea54 0c00 orrs.w ip, r4, r0
+ 8000392: bf04 itt eq
+ 8000394: 4619 moveq r1, r3
+ 8000396: 4610 moveq r0, r2
+ 8000398: bd30 pop {r4, r5, pc}
+ 800039a: ea91 0f03 teq r1, r3
+ 800039e: bf1e ittt ne
+ 80003a0: 2100 movne r1, #0
+ 80003a2: 2000 movne r0, #0
+ 80003a4: bd30 popne {r4, r5, pc}
+ 80003a6: ea5f 5c54 movs.w ip, r4, lsr #21
+ 80003aa: d105 bne.n 80003b8 <__adddf3+0x230>
+ 80003ac: 0040 lsls r0, r0, #1
+ 80003ae: 4149 adcs r1, r1
+ 80003b0: bf28 it cs
+ 80003b2: f041 4100 orrcs.w r1, r1, #2147483648 @ 0x80000000
+ 80003b6: bd30 pop {r4, r5, pc}
+ 80003b8: f514 0480 adds.w r4, r4, #4194304 @ 0x400000
+ 80003bc: bf3c itt cc
+ 80003be: f501 1180 addcc.w r1, r1, #1048576 @ 0x100000
+ 80003c2: bd30 popcc {r4, r5, pc}
+ 80003c4: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000
+ 80003c8: f045 41fe orr.w r1, r5, #2130706432 @ 0x7f000000
+ 80003cc: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000
+ 80003d0: f04f 0000 mov.w r0, #0
+ 80003d4: bd30 pop {r4, r5, pc}
+ 80003d6: ea7f 5c64 mvns.w ip, r4, asr #21
+ 80003da: bf1a itte ne
+ 80003dc: 4619 movne r1, r3
+ 80003de: 4610 movne r0, r2
+ 80003e0: ea7f 5c65 mvnseq.w ip, r5, asr #21
+ 80003e4: bf1c itt ne
+ 80003e6: 460b movne r3, r1
+ 80003e8: 4602 movne r2, r0
+ 80003ea: ea50 3401 orrs.w r4, r0, r1, lsl #12
+ 80003ee: bf06 itte eq
+ 80003f0: ea52 3503 orrseq.w r5, r2, r3, lsl #12
+ 80003f4: ea91 0f03 teqeq r1, r3
+ 80003f8: f441 2100 orrne.w r1, r1, #524288 @ 0x80000
+ 80003fc: bd30 pop {r4, r5, pc}
+ 80003fe: bf00 nop
+
+08000400 <__aeabi_ui2d>:
+ 8000400: f090 0f00 teq r0, #0
+ 8000404: bf04 itt eq
+ 8000406: 2100 moveq r1, #0
+ 8000408: 4770 bxeq lr
+ 800040a: b530 push {r4, r5, lr}
+ 800040c: f44f 6480 mov.w r4, #1024 @ 0x400
+ 8000410: f104 0432 add.w r4, r4, #50 @ 0x32
+ 8000414: f04f 0500 mov.w r5, #0
+ 8000418: f04f 0100 mov.w r1, #0
+ 800041c: e750 b.n 80002c0 <__adddf3+0x138>
+ 800041e: bf00 nop
+
+08000420 <__aeabi_i2d>:
+ 8000420: f090 0f00 teq r0, #0
+ 8000424: bf04 itt eq
+ 8000426: 2100 moveq r1, #0
+ 8000428: 4770 bxeq lr
+ 800042a: b530 push {r4, r5, lr}
+ 800042c: f44f 6480 mov.w r4, #1024 @ 0x400
+ 8000430: f104 0432 add.w r4, r4, #50 @ 0x32
+ 8000434: f010 4500 ands.w r5, r0, #2147483648 @ 0x80000000
+ 8000438: bf48 it mi
+ 800043a: 4240 negmi r0, r0
+ 800043c: f04f 0100 mov.w r1, #0
+ 8000440: e73e b.n 80002c0 <__adddf3+0x138>
+ 8000442: bf00 nop
+
+08000444 <__aeabi_f2d>:
+ 8000444: 0042 lsls r2, r0, #1
+ 8000446: ea4f 01e2 mov.w r1, r2, asr #3
+ 800044a: ea4f 0131 mov.w r1, r1, rrx
+ 800044e: ea4f 7002 mov.w r0, r2, lsl #28
+ 8000452: bf1f itttt ne
+ 8000454: f012 437f andsne.w r3, r2, #4278190080 @ 0xff000000
+ 8000458: f093 4f7f teqne r3, #4278190080 @ 0xff000000
+ 800045c: f081 5160 eorne.w r1, r1, #939524096 @ 0x38000000
+ 8000460: 4770 bxne lr
+ 8000462: f032 427f bics.w r2, r2, #4278190080 @ 0xff000000
+ 8000466: bf08 it eq
+ 8000468: 4770 bxeq lr
+ 800046a: f093 4f7f teq r3, #4278190080 @ 0xff000000
+ 800046e: bf04 itt eq
+ 8000470: f441 2100 orreq.w r1, r1, #524288 @ 0x80000
+ 8000474: 4770 bxeq lr
+ 8000476: b530 push {r4, r5, lr}
+ 8000478: f44f 7460 mov.w r4, #896 @ 0x380
+ 800047c: f001 4500 and.w r5, r1, #2147483648 @ 0x80000000
+ 8000480: f021 4100 bic.w r1, r1, #2147483648 @ 0x80000000
+ 8000484: e71c b.n 80002c0 <__adddf3+0x138>
+ 8000486: bf00 nop
+
+08000488 <__aeabi_ul2d>:
+ 8000488: ea50 0201 orrs.w r2, r0, r1
+ 800048c: bf08 it eq
+ 800048e: 4770 bxeq lr
+ 8000490: b530 push {r4, r5, lr}
+ 8000492: f04f 0500 mov.w r5, #0
+ 8000496: e00a b.n 80004ae <__aeabi_l2d+0x16>
+
+08000498 <__aeabi_l2d>:
+ 8000498: ea50 0201 orrs.w r2, r0, r1
+ 800049c: bf08 it eq
+ 800049e: 4770 bxeq lr
+ 80004a0: b530 push {r4, r5, lr}
+ 80004a2: f011 4500 ands.w r5, r1, #2147483648 @ 0x80000000
+ 80004a6: d502 bpl.n 80004ae <__aeabi_l2d+0x16>
+ 80004a8: 4240 negs r0, r0
+ 80004aa: eb61 0141 sbc.w r1, r1, r1, lsl #1
+ 80004ae: f44f 6480 mov.w r4, #1024 @ 0x400
+ 80004b2: f104 0432 add.w r4, r4, #50 @ 0x32
+ 80004b6: ea5f 5c91 movs.w ip, r1, lsr #22
+ 80004ba: f43f aed8 beq.w 800026e <__adddf3+0xe6>
+ 80004be: f04f 0203 mov.w r2, #3
+ 80004c2: ea5f 0cdc movs.w ip, ip, lsr #3
+ 80004c6: bf18 it ne
+ 80004c8: 3203 addne r2, #3
+ 80004ca: ea5f 0cdc movs.w ip, ip, lsr #3
+ 80004ce: bf18 it ne
+ 80004d0: 3203 addne r2, #3
+ 80004d2: eb02 02dc add.w r2, r2, ip, lsr #3
+ 80004d6: f1c2 0320 rsb r3, r2, #32
+ 80004da: fa00 fc03 lsl.w ip, r0, r3
+ 80004de: fa20 f002 lsr.w r0, r0, r2
+ 80004e2: fa01 fe03 lsl.w lr, r1, r3
+ 80004e6: ea40 000e orr.w r0, r0, lr
+ 80004ea: fa21 f102 lsr.w r1, r1, r2
+ 80004ee: 4414 add r4, r2
+ 80004f0: e6bd b.n 800026e <__adddf3+0xe6>
+ 80004f2: bf00 nop
+
+080004f4 <__aeabi_dmul>:
+ 80004f4: b570 push {r4, r5, r6, lr}
+ 80004f6: f04f 0cff mov.w ip, #255 @ 0xff
+ 80004fa: f44c 6ce0 orr.w ip, ip, #1792 @ 0x700
+ 80004fe: ea1c 5411 ands.w r4, ip, r1, lsr #20
+ 8000502: bf1d ittte ne
+ 8000504: ea1c 5513 andsne.w r5, ip, r3, lsr #20
+ 8000508: ea94 0f0c teqne r4, ip
+ 800050c: ea95 0f0c teqne r5, ip
+ 8000510: f000 f8de bleq 80006d0 <__aeabi_dmul+0x1dc>
+ 8000514: 442c add r4, r5
+ 8000516: ea81 0603 eor.w r6, r1, r3
+ 800051a: ea21 514c bic.w r1, r1, ip, lsl #21
+ 800051e: ea23 534c bic.w r3, r3, ip, lsl #21
+ 8000522: ea50 3501 orrs.w r5, r0, r1, lsl #12
+ 8000526: bf18 it ne
+ 8000528: ea52 3503 orrsne.w r5, r2, r3, lsl #12
+ 800052c: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
+ 8000530: f443 1380 orr.w r3, r3, #1048576 @ 0x100000
+ 8000534: d038 beq.n 80005a8 <__aeabi_dmul+0xb4>
+ 8000536: fba0 ce02 umull ip, lr, r0, r2
+ 800053a: f04f 0500 mov.w r5, #0
+ 800053e: fbe1 e502 umlal lr, r5, r1, r2
+ 8000542: f006 4200 and.w r2, r6, #2147483648 @ 0x80000000
+ 8000546: fbe0 e503 umlal lr, r5, r0, r3
+ 800054a: f04f 0600 mov.w r6, #0
+ 800054e: fbe1 5603 umlal r5, r6, r1, r3
+ 8000552: f09c 0f00 teq ip, #0
+ 8000556: bf18 it ne
+ 8000558: f04e 0e01 orrne.w lr, lr, #1
+ 800055c: f1a4 04ff sub.w r4, r4, #255 @ 0xff
+ 8000560: f5b6 7f00 cmp.w r6, #512 @ 0x200
+ 8000564: f564 7440 sbc.w r4, r4, #768 @ 0x300
+ 8000568: d204 bcs.n 8000574 <__aeabi_dmul+0x80>
+ 800056a: ea5f 0e4e movs.w lr, lr, lsl #1
+ 800056e: 416d adcs r5, r5
+ 8000570: eb46 0606 adc.w r6, r6, r6
+ 8000574: ea42 21c6 orr.w r1, r2, r6, lsl #11
+ 8000578: ea41 5155 orr.w r1, r1, r5, lsr #21
+ 800057c: ea4f 20c5 mov.w r0, r5, lsl #11
+ 8000580: ea40 505e orr.w r0, r0, lr, lsr #21
+ 8000584: ea4f 2ece mov.w lr, lr, lsl #11
+ 8000588: f1b4 0cfd subs.w ip, r4, #253 @ 0xfd
+ 800058c: bf88 it hi
+ 800058e: f5bc 6fe0 cmphi.w ip, #1792 @ 0x700
+ 8000592: d81e bhi.n 80005d2 <__aeabi_dmul+0xde>
+ 8000594: f1be 4f00 cmp.w lr, #2147483648 @ 0x80000000
+ 8000598: bf08 it eq
+ 800059a: ea5f 0e50 movseq.w lr, r0, lsr #1
+ 800059e: f150 0000 adcs.w r0, r0, #0
+ 80005a2: eb41 5104 adc.w r1, r1, r4, lsl #20
+ 80005a6: bd70 pop {r4, r5, r6, pc}
+ 80005a8: f006 4600 and.w r6, r6, #2147483648 @ 0x80000000
+ 80005ac: ea46 0101 orr.w r1, r6, r1
+ 80005b0: ea40 0002 orr.w r0, r0, r2
+ 80005b4: ea81 0103 eor.w r1, r1, r3
+ 80005b8: ebb4 045c subs.w r4, r4, ip, lsr #1
+ 80005bc: bfc2 ittt gt
+ 80005be: ebd4 050c rsbsgt r5, r4, ip
+ 80005c2: ea41 5104 orrgt.w r1, r1, r4, lsl #20
+ 80005c6: bd70 popgt {r4, r5, r6, pc}
+ 80005c8: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
+ 80005cc: f04f 0e00 mov.w lr, #0
+ 80005d0: 3c01 subs r4, #1
+ 80005d2: f300 80ab bgt.w 800072c <__aeabi_dmul+0x238>
+ 80005d6: f114 0f36 cmn.w r4, #54 @ 0x36
+ 80005da: bfde ittt le
+ 80005dc: 2000 movle r0, #0
+ 80005de: f001 4100 andle.w r1, r1, #2147483648 @ 0x80000000
+ 80005e2: bd70 pople {r4, r5, r6, pc}
+ 80005e4: f1c4 0400 rsb r4, r4, #0
+ 80005e8: 3c20 subs r4, #32
+ 80005ea: da35 bge.n 8000658 <__aeabi_dmul+0x164>
+ 80005ec: 340c adds r4, #12
+ 80005ee: dc1b bgt.n 8000628 <__aeabi_dmul+0x134>
+ 80005f0: f104 0414 add.w r4, r4, #20
+ 80005f4: f1c4 0520 rsb r5, r4, #32
+ 80005f8: fa00 f305 lsl.w r3, r0, r5
+ 80005fc: fa20 f004 lsr.w r0, r0, r4
+ 8000600: fa01 f205 lsl.w r2, r1, r5
+ 8000604: ea40 0002 orr.w r0, r0, r2
+ 8000608: f001 4200 and.w r2, r1, #2147483648 @ 0x80000000
+ 800060c: f021 4100 bic.w r1, r1, #2147483648 @ 0x80000000
+ 8000610: eb10 70d3 adds.w r0, r0, r3, lsr #31
+ 8000614: fa21 f604 lsr.w r6, r1, r4
+ 8000618: eb42 0106 adc.w r1, r2, r6
+ 800061c: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
+ 8000620: bf08 it eq
+ 8000622: ea20 70d3 biceq.w r0, r0, r3, lsr #31
+ 8000626: bd70 pop {r4, r5, r6, pc}
+ 8000628: f1c4 040c rsb r4, r4, #12
+ 800062c: f1c4 0520 rsb r5, r4, #32
+ 8000630: fa00 f304 lsl.w r3, r0, r4
+ 8000634: fa20 f005 lsr.w r0, r0, r5
+ 8000638: fa01 f204 lsl.w r2, r1, r4
+ 800063c: ea40 0002 orr.w r0, r0, r2
+ 8000640: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
+ 8000644: eb10 70d3 adds.w r0, r0, r3, lsr #31
+ 8000648: f141 0100 adc.w r1, r1, #0
+ 800064c: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
+ 8000650: bf08 it eq
+ 8000652: ea20 70d3 biceq.w r0, r0, r3, lsr #31
+ 8000656: bd70 pop {r4, r5, r6, pc}
+ 8000658: f1c4 0520 rsb r5, r4, #32
+ 800065c: fa00 f205 lsl.w r2, r0, r5
+ 8000660: ea4e 0e02 orr.w lr, lr, r2
+ 8000664: fa20 f304 lsr.w r3, r0, r4
+ 8000668: fa01 f205 lsl.w r2, r1, r5
+ 800066c: ea43 0302 orr.w r3, r3, r2
+ 8000670: fa21 f004 lsr.w r0, r1, r4
+ 8000674: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
+ 8000678: fa21 f204 lsr.w r2, r1, r4
+ 800067c: ea20 0002 bic.w r0, r0, r2
+ 8000680: eb00 70d3 add.w r0, r0, r3, lsr #31
+ 8000684: ea5e 0e43 orrs.w lr, lr, r3, lsl #1
+ 8000688: bf08 it eq
+ 800068a: ea20 70d3 biceq.w r0, r0, r3, lsr #31
+ 800068e: bd70 pop {r4, r5, r6, pc}
+ 8000690: f094 0f00 teq r4, #0
+ 8000694: d10f bne.n 80006b6 <__aeabi_dmul+0x1c2>
+ 8000696: f001 4600 and.w r6, r1, #2147483648 @ 0x80000000
+ 800069a: 0040 lsls r0, r0, #1
+ 800069c: eb41 0101 adc.w r1, r1, r1
+ 80006a0: f411 1f80 tst.w r1, #1048576 @ 0x100000
+ 80006a4: bf08 it eq
+ 80006a6: 3c01 subeq r4, #1
+ 80006a8: d0f7 beq.n 800069a <__aeabi_dmul+0x1a6>
+ 80006aa: ea41 0106 orr.w r1, r1, r6
+ 80006ae: f095 0f00 teq r5, #0
+ 80006b2: bf18 it ne
+ 80006b4: 4770 bxne lr
+ 80006b6: f003 4600 and.w r6, r3, #2147483648 @ 0x80000000
+ 80006ba: 0052 lsls r2, r2, #1
+ 80006bc: eb43 0303 adc.w r3, r3, r3
+ 80006c0: f413 1f80 tst.w r3, #1048576 @ 0x100000
+ 80006c4: bf08 it eq
+ 80006c6: 3d01 subeq r5, #1
+ 80006c8: d0f7 beq.n 80006ba <__aeabi_dmul+0x1c6>
+ 80006ca: ea43 0306 orr.w r3, r3, r6
+ 80006ce: 4770 bx lr
+ 80006d0: ea94 0f0c teq r4, ip
+ 80006d4: ea0c 5513 and.w r5, ip, r3, lsr #20
+ 80006d8: bf18 it ne
+ 80006da: ea95 0f0c teqne r5, ip
+ 80006de: d00c beq.n 80006fa <__aeabi_dmul+0x206>
+ 80006e0: ea50 0641 orrs.w r6, r0, r1, lsl #1
+ 80006e4: bf18 it ne
+ 80006e6: ea52 0643 orrsne.w r6, r2, r3, lsl #1
+ 80006ea: d1d1 bne.n 8000690 <__aeabi_dmul+0x19c>
+ 80006ec: ea81 0103 eor.w r1, r1, r3
+ 80006f0: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
+ 80006f4: f04f 0000 mov.w r0, #0
+ 80006f8: bd70 pop {r4, r5, r6, pc}
+ 80006fa: ea50 0641 orrs.w r6, r0, r1, lsl #1
+ 80006fe: bf06 itte eq
+ 8000700: 4610 moveq r0, r2
+ 8000702: 4619 moveq r1, r3
+ 8000704: ea52 0643 orrsne.w r6, r2, r3, lsl #1
+ 8000708: d019 beq.n 800073e <__aeabi_dmul+0x24a>
+ 800070a: ea94 0f0c teq r4, ip
+ 800070e: d102 bne.n 8000716 <__aeabi_dmul+0x222>
+ 8000710: ea50 3601 orrs.w r6, r0, r1, lsl #12
+ 8000714: d113 bne.n 800073e <__aeabi_dmul+0x24a>
+ 8000716: ea95 0f0c teq r5, ip
+ 800071a: d105 bne.n 8000728 <__aeabi_dmul+0x234>
+ 800071c: ea52 3603 orrs.w r6, r2, r3, lsl #12
+ 8000720: bf1c itt ne
+ 8000722: 4610 movne r0, r2
+ 8000724: 4619 movne r1, r3
+ 8000726: d10a bne.n 800073e <__aeabi_dmul+0x24a>
+ 8000728: ea81 0103 eor.w r1, r1, r3
+ 800072c: f001 4100 and.w r1, r1, #2147483648 @ 0x80000000
+ 8000730: f041 41fe orr.w r1, r1, #2130706432 @ 0x7f000000
+ 8000734: f441 0170 orr.w r1, r1, #15728640 @ 0xf00000
+ 8000738: f04f 0000 mov.w r0, #0
+ 800073c: bd70 pop {r4, r5, r6, pc}
+ 800073e: f041 41fe orr.w r1, r1, #2130706432 @ 0x7f000000
+ 8000742: f441 0178 orr.w r1, r1, #16252928 @ 0xf80000
+ 8000746: bd70 pop {r4, r5, r6, pc}
+
+08000748 <__aeabi_ddiv>:
+ 8000748: b570 push {r4, r5, r6, lr}
+ 800074a: f04f 0cff mov.w ip, #255 @ 0xff
+ 800074e: f44c 6ce0 orr.w ip, ip, #1792 @ 0x700
+ 8000752: ea1c 5411 ands.w r4, ip, r1, lsr #20
+ 8000756: bf1d ittte ne
+ 8000758: ea1c 5513 andsne.w r5, ip, r3, lsr #20
+ 800075c: ea94 0f0c teqne r4, ip
+ 8000760: ea95 0f0c teqne r5, ip
+ 8000764: f000 f8a7 bleq 80008b6 <__aeabi_ddiv+0x16e>
+ 8000768: eba4 0405 sub.w r4, r4, r5
+ 800076c: ea81 0e03 eor.w lr, r1, r3
+ 8000770: ea52 3503 orrs.w r5, r2, r3, lsl #12
+ 8000774: ea4f 3101 mov.w r1, r1, lsl #12
+ 8000778: f000 8088 beq.w 800088c <__aeabi_ddiv+0x144>
+ 800077c: ea4f 3303 mov.w r3, r3, lsl #12
+ 8000780: f04f 5580 mov.w r5, #268435456 @ 0x10000000
+ 8000784: ea45 1313 orr.w r3, r5, r3, lsr #4
+ 8000788: ea43 6312 orr.w r3, r3, r2, lsr #24
+ 800078c: ea4f 2202 mov.w r2, r2, lsl #8
+ 8000790: ea45 1511 orr.w r5, r5, r1, lsr #4
+ 8000794: ea45 6510 orr.w r5, r5, r0, lsr #24
+ 8000798: ea4f 2600 mov.w r6, r0, lsl #8
+ 800079c: f00e 4100 and.w r1, lr, #2147483648 @ 0x80000000
+ 80007a0: 429d cmp r5, r3
+ 80007a2: bf08 it eq
+ 80007a4: 4296 cmpeq r6, r2
+ 80007a6: f144 04fd adc.w r4, r4, #253 @ 0xfd
+ 80007aa: f504 7440 add.w r4, r4, #768 @ 0x300
+ 80007ae: d202 bcs.n 80007b6 <__aeabi_ddiv+0x6e>
+ 80007b0: 085b lsrs r3, r3, #1
+ 80007b2: ea4f 0232 mov.w r2, r2, rrx
+ 80007b6: 1ab6 subs r6, r6, r2
+ 80007b8: eb65 0503 sbc.w r5, r5, r3
+ 80007bc: 085b lsrs r3, r3, #1
+ 80007be: ea4f 0232 mov.w r2, r2, rrx
+ 80007c2: f44f 1080 mov.w r0, #1048576 @ 0x100000
+ 80007c6: f44f 2c00 mov.w ip, #524288 @ 0x80000
+ 80007ca: ebb6 0e02 subs.w lr, r6, r2
+ 80007ce: eb75 0e03 sbcs.w lr, r5, r3
+ 80007d2: bf22 ittt cs
+ 80007d4: 1ab6 subcs r6, r6, r2
+ 80007d6: 4675 movcs r5, lr
+ 80007d8: ea40 000c orrcs.w r0, r0, ip
+ 80007dc: 085b lsrs r3, r3, #1
+ 80007de: ea4f 0232 mov.w r2, r2, rrx
+ 80007e2: ebb6 0e02 subs.w lr, r6, r2
+ 80007e6: eb75 0e03 sbcs.w lr, r5, r3
+ 80007ea: bf22 ittt cs
+ 80007ec: 1ab6 subcs r6, r6, r2
+ 80007ee: 4675 movcs r5, lr
+ 80007f0: ea40 005c orrcs.w r0, r0, ip, lsr #1
+ 80007f4: 085b lsrs r3, r3, #1
+ 80007f6: ea4f 0232 mov.w r2, r2, rrx
+ 80007fa: ebb6 0e02 subs.w lr, r6, r2
+ 80007fe: eb75 0e03 sbcs.w lr, r5, r3
+ 8000802: bf22 ittt cs
+ 8000804: 1ab6 subcs r6, r6, r2
+ 8000806: 4675 movcs r5, lr
+ 8000808: ea40 009c orrcs.w r0, r0, ip, lsr #2
+ 800080c: 085b lsrs r3, r3, #1
+ 800080e: ea4f 0232 mov.w r2, r2, rrx
+ 8000812: ebb6 0e02 subs.w lr, r6, r2
+ 8000816: eb75 0e03 sbcs.w lr, r5, r3
+ 800081a: bf22 ittt cs
+ 800081c: 1ab6 subcs r6, r6, r2
+ 800081e: 4675 movcs r5, lr
+ 8000820: ea40 00dc orrcs.w r0, r0, ip, lsr #3
+ 8000824: ea55 0e06 orrs.w lr, r5, r6
+ 8000828: d018 beq.n 800085c <__aeabi_ddiv+0x114>
+ 800082a: ea4f 1505 mov.w r5, r5, lsl #4
+ 800082e: ea45 7516 orr.w r5, r5, r6, lsr #28
+ 8000832: ea4f 1606 mov.w r6, r6, lsl #4
+ 8000836: ea4f 03c3 mov.w r3, r3, lsl #3
+ 800083a: ea43 7352 orr.w r3, r3, r2, lsr #29
+ 800083e: ea4f 02c2 mov.w r2, r2, lsl #3
+ 8000842: ea5f 1c1c movs.w ip, ip, lsr #4
+ 8000846: d1c0 bne.n 80007ca <__aeabi_ddiv+0x82>
+ 8000848: f411 1f80 tst.w r1, #1048576 @ 0x100000
+ 800084c: d10b bne.n 8000866 <__aeabi_ddiv+0x11e>
+ 800084e: ea41 0100 orr.w r1, r1, r0
+ 8000852: f04f 0000 mov.w r0, #0
+ 8000856: f04f 4c00 mov.w ip, #2147483648 @ 0x80000000
+ 800085a: e7b6 b.n 80007ca <__aeabi_ddiv+0x82>
+ 800085c: f411 1f80 tst.w r1, #1048576 @ 0x100000
+ 8000860: bf04 itt eq
+ 8000862: 4301 orreq r1, r0
+ 8000864: 2000 moveq r0, #0
+ 8000866: f1b4 0cfd subs.w ip, r4, #253 @ 0xfd
+ 800086a: bf88 it hi
+ 800086c: f5bc 6fe0 cmphi.w ip, #1792 @ 0x700
+ 8000870: f63f aeaf bhi.w 80005d2 <__aeabi_dmul+0xde>
+ 8000874: ebb5 0c03 subs.w ip, r5, r3
+ 8000878: bf04 itt eq
+ 800087a: ebb6 0c02 subseq.w ip, r6, r2
+ 800087e: ea5f 0c50 movseq.w ip, r0, lsr #1
+ 8000882: f150 0000 adcs.w r0, r0, #0
+ 8000886: eb41 5104 adc.w r1, r1, r4, lsl #20
+ 800088a: bd70 pop {r4, r5, r6, pc}
+ 800088c: f00e 4e00 and.w lr, lr, #2147483648 @ 0x80000000
+ 8000890: ea4e 3111 orr.w r1, lr, r1, lsr #12
+ 8000894: eb14 045c adds.w r4, r4, ip, lsr #1
+ 8000898: bfc2 ittt gt
+ 800089a: ebd4 050c rsbsgt r5, r4, ip
+ 800089e: ea41 5104 orrgt.w r1, r1, r4, lsl #20
+ 80008a2: bd70 popgt {r4, r5, r6, pc}
+ 80008a4: f441 1180 orr.w r1, r1, #1048576 @ 0x100000
+ 80008a8: f04f 0e00 mov.w lr, #0
+ 80008ac: 3c01 subs r4, #1
+ 80008ae: e690 b.n 80005d2 <__aeabi_dmul+0xde>
+ 80008b0: ea45 0e06 orr.w lr, r5, r6
+ 80008b4: e68d b.n 80005d2 <__aeabi_dmul+0xde>
+ 80008b6: ea0c 5513 and.w r5, ip, r3, lsr #20
+ 80008ba: ea94 0f0c teq r4, ip
+ 80008be: bf08 it eq
+ 80008c0: ea95 0f0c teqeq r5, ip
+ 80008c4: f43f af3b beq.w 800073e <__aeabi_dmul+0x24a>
+ 80008c8: ea94 0f0c teq r4, ip
+ 80008cc: d10a bne.n 80008e4 <__aeabi_ddiv+0x19c>
+ 80008ce: ea50 3401 orrs.w r4, r0, r1, lsl #12
+ 80008d2: f47f af34 bne.w 800073e <__aeabi_dmul+0x24a>
+ 80008d6: ea95 0f0c teq r5, ip
+ 80008da: f47f af25 bne.w 8000728 <__aeabi_dmul+0x234>
+ 80008de: 4610 mov r0, r2
+ 80008e0: 4619 mov r1, r3
+ 80008e2: e72c b.n 800073e <__aeabi_dmul+0x24a>
+ 80008e4: ea95 0f0c teq r5, ip
+ 80008e8: d106 bne.n 80008f8 <__aeabi_ddiv+0x1b0>
+ 80008ea: ea52 3503 orrs.w r5, r2, r3, lsl #12
+ 80008ee: f43f aefd beq.w 80006ec <__aeabi_dmul+0x1f8>
+ 80008f2: 4610 mov r0, r2
+ 80008f4: 4619 mov r1, r3
+ 80008f6: e722 b.n 800073e <__aeabi_dmul+0x24a>
+ 80008f8: ea50 0641 orrs.w r6, r0, r1, lsl #1
+ 80008fc: bf18 it ne
+ 80008fe: ea52 0643 orrsne.w r6, r2, r3, lsl #1
+ 8000902: f47f aec5 bne.w 8000690 <__aeabi_dmul+0x19c>
+ 8000906: ea50 0441 orrs.w r4, r0, r1, lsl #1
+ 800090a: f47f af0d bne.w 8000728 <__aeabi_dmul+0x234>
+ 800090e: ea52 0543 orrs.w r5, r2, r3, lsl #1
+ 8000912: f47f aeeb bne.w 80006ec <__aeabi_dmul+0x1f8>
+ 8000916: e712 b.n 800073e <__aeabi_dmul+0x24a>
+
+08000918 <__aeabi_d2uiz>:
+ 8000918: 004a lsls r2, r1, #1
+ 800091a: d211 bcs.n 8000940 <__aeabi_d2uiz+0x28>
+ 800091c: f512 1200 adds.w r2, r2, #2097152 @ 0x200000
+ 8000920: d211 bcs.n 8000946 <__aeabi_d2uiz+0x2e>
+ 8000922: d50d bpl.n 8000940 <__aeabi_d2uiz+0x28>
+ 8000924: f46f 7378 mvn.w r3, #992 @ 0x3e0
+ 8000928: ebb3 5262 subs.w r2, r3, r2, asr #21
+ 800092c: d40e bmi.n 800094c <__aeabi_d2uiz+0x34>
+ 800092e: ea4f 23c1 mov.w r3, r1, lsl #11
+ 8000932: f043 4300 orr.w r3, r3, #2147483648 @ 0x80000000
+ 8000936: ea43 5350 orr.w r3, r3, r0, lsr #21
+ 800093a: fa23 f002 lsr.w r0, r3, r2
+ 800093e: 4770 bx lr
+ 8000940: f04f 0000 mov.w r0, #0
+ 8000944: 4770 bx lr
+ 8000946: ea50 3001 orrs.w r0, r0, r1, lsl #12
+ 800094a: d102 bne.n 8000952 <__aeabi_d2uiz+0x3a>
+ 800094c: f04f 30ff mov.w r0, #4294967295 @ 0xffffffff
+ 8000950: 4770 bx lr
+ 8000952: f04f 0000 mov.w r0, #0
+ 8000956: 4770 bx lr
+
+08000958 <__aeabi_uldivmod>:
+ 8000958: b953 cbnz r3, 8000970 <__aeabi_uldivmod+0x18>
+ 800095a: b94a cbnz r2, 8000970 <__aeabi_uldivmod+0x18>
+ 800095c: 2900 cmp r1, #0
+ 800095e: bf08 it eq
+ 8000960: 2800 cmpeq r0, #0
+ 8000962: bf1c itt ne
+ 8000964: f04f 31ff movne.w r1, #4294967295 @ 0xffffffff
+ 8000968: f04f 30ff movne.w r0, #4294967295 @ 0xffffffff
+ 800096c: f000 b98c b.w 8000c88 <__aeabi_idiv0>
+ 8000970: f1ad 0c08 sub.w ip, sp, #8
+ 8000974: e96d ce04 strd ip, lr, [sp, #-16]!
+ 8000978: f000 f806 bl 8000988 <__udivmoddi4>
+ 800097c: f8dd e004 ldr.w lr, [sp, #4]
+ 8000980: e9dd 2302 ldrd r2, r3, [sp, #8]
+ 8000984: b004 add sp, #16
+ 8000986: 4770 bx lr
+
+08000988 <__udivmoddi4>:
+ 8000988: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
+ 800098c: 9d08 ldr r5, [sp, #32]
+ 800098e: 468e mov lr, r1
+ 8000990: 4604 mov r4, r0
+ 8000992: 4688 mov r8, r1
+ 8000994: 2b00 cmp r3, #0
+ 8000996: d14a bne.n 8000a2e <__udivmoddi4+0xa6>
+ 8000998: 428a cmp r2, r1
+ 800099a: 4617 mov r7, r2
+ 800099c: d962 bls.n 8000a64 <__udivmoddi4+0xdc>
+ 800099e: fab2 f682 clz r6, r2
+ 80009a2: b14e cbz r6, 80009b8 <__udivmoddi4+0x30>
+ 80009a4: f1c6 0320 rsb r3, r6, #32
+ 80009a8: fa01 f806 lsl.w r8, r1, r6
+ 80009ac: fa20 f303 lsr.w r3, r0, r3
+ 80009b0: 40b7 lsls r7, r6
+ 80009b2: ea43 0808 orr.w r8, r3, r8
+ 80009b6: 40b4 lsls r4, r6
+ 80009b8: ea4f 4e17 mov.w lr, r7, lsr #16
+ 80009bc: fbb8 f1fe udiv r1, r8, lr
+ 80009c0: fa1f fc87 uxth.w ip, r7
+ 80009c4: fb0e 8811 mls r8, lr, r1, r8
+ 80009c8: fb01 f20c mul.w r2, r1, ip
+ 80009cc: 0c23 lsrs r3, r4, #16
+ 80009ce: ea43 4308 orr.w r3, r3, r8, lsl #16
+ 80009d2: 429a cmp r2, r3
+ 80009d4: d909 bls.n 80009ea <__udivmoddi4+0x62>
+ 80009d6: 18fb adds r3, r7, r3
+ 80009d8: f101 30ff add.w r0, r1, #4294967295 @ 0xffffffff
+ 80009dc: f080 80eb bcs.w 8000bb6 <__udivmoddi4+0x22e>
+ 80009e0: 429a cmp r2, r3
+ 80009e2: f240 80e8 bls.w 8000bb6 <__udivmoddi4+0x22e>
+ 80009e6: 3902 subs r1, #2
+ 80009e8: 443b add r3, r7
+ 80009ea: 1a9a subs r2, r3, r2
+ 80009ec: fbb2 f0fe udiv r0, r2, lr
+ 80009f0: fb0e 2210 mls r2, lr, r0, r2
+ 80009f4: fb00 fc0c mul.w ip, r0, ip
+ 80009f8: b2a3 uxth r3, r4
+ 80009fa: ea43 4302 orr.w r3, r3, r2, lsl #16
+ 80009fe: 459c cmp ip, r3
+ 8000a00: d909 bls.n 8000a16 <__udivmoddi4+0x8e>
+ 8000a02: 18fb adds r3, r7, r3
+ 8000a04: f100 32ff add.w r2, r0, #4294967295 @ 0xffffffff
+ 8000a08: f080 80d7 bcs.w 8000bba <__udivmoddi4+0x232>
+ 8000a0c: 459c cmp ip, r3
+ 8000a0e: f240 80d4 bls.w 8000bba <__udivmoddi4+0x232>
+ 8000a12: 443b add r3, r7
+ 8000a14: 3802 subs r0, #2
+ 8000a16: ea40 4001 orr.w r0, r0, r1, lsl #16
+ 8000a1a: 2100 movs r1, #0
+ 8000a1c: eba3 030c sub.w r3, r3, ip
+ 8000a20: b11d cbz r5, 8000a2a <__udivmoddi4+0xa2>
+ 8000a22: 2200 movs r2, #0
+ 8000a24: 40f3 lsrs r3, r6
+ 8000a26: e9c5 3200 strd r3, r2, [r5]
+ 8000a2a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
+ 8000a2e: 428b cmp r3, r1
+ 8000a30: d905 bls.n 8000a3e <__udivmoddi4+0xb6>
+ 8000a32: b10d cbz r5, 8000a38 <__udivmoddi4+0xb0>
+ 8000a34: e9c5 0100 strd r0, r1, [r5]
+ 8000a38: 2100 movs r1, #0
+ 8000a3a: 4608 mov r0, r1
+ 8000a3c: e7f5 b.n 8000a2a <__udivmoddi4+0xa2>
+ 8000a3e: fab3 f183 clz r1, r3
+ 8000a42: 2900 cmp r1, #0
+ 8000a44: d146 bne.n 8000ad4 <__udivmoddi4+0x14c>
+ 8000a46: 4573 cmp r3, lr
+ 8000a48: d302 bcc.n 8000a50 <__udivmoddi4+0xc8>
+ 8000a4a: 4282 cmp r2, r0
+ 8000a4c: f200 8108 bhi.w 8000c60 <__udivmoddi4+0x2d8>
+ 8000a50: 1a84 subs r4, r0, r2
+ 8000a52: eb6e 0203 sbc.w r2, lr, r3
+ 8000a56: 2001 movs r0, #1
+ 8000a58: 4690 mov r8, r2
+ 8000a5a: 2d00 cmp r5, #0
+ 8000a5c: d0e5 beq.n 8000a2a <__udivmoddi4+0xa2>
+ 8000a5e: e9c5 4800 strd r4, r8, [r5]
+ 8000a62: e7e2 b.n 8000a2a <__udivmoddi4+0xa2>
+ 8000a64: 2a00 cmp r2, #0
+ 8000a66: f000 8091 beq.w 8000b8c <__udivmoddi4+0x204>
+ 8000a6a: fab2 f682 clz r6, r2
+ 8000a6e: 2e00 cmp r6, #0
+ 8000a70: f040 80a5 bne.w 8000bbe <__udivmoddi4+0x236>
+ 8000a74: 1a8a subs r2, r1, r2
+ 8000a76: 2101 movs r1, #1
+ 8000a78: 0c03 lsrs r3, r0, #16
+ 8000a7a: ea4f 4e17 mov.w lr, r7, lsr #16
+ 8000a7e: b280 uxth r0, r0
+ 8000a80: b2bc uxth r4, r7
+ 8000a82: fbb2 fcfe udiv ip, r2, lr
+ 8000a86: fb0e 221c mls r2, lr, ip, r2
+ 8000a8a: ea43 4302 orr.w r3, r3, r2, lsl #16
+ 8000a8e: fb04 f20c mul.w r2, r4, ip
+ 8000a92: 429a cmp r2, r3
+ 8000a94: d907 bls.n 8000aa6 <__udivmoddi4+0x11e>
+ 8000a96: 18fb adds r3, r7, r3
+ 8000a98: f10c 38ff add.w r8, ip, #4294967295 @ 0xffffffff
+ 8000a9c: d202 bcs.n 8000aa4 <__udivmoddi4+0x11c>
+ 8000a9e: 429a cmp r2, r3
+ 8000aa0: f200 80e3 bhi.w 8000c6a <__udivmoddi4+0x2e2>
+ 8000aa4: 46c4 mov ip, r8
+ 8000aa6: 1a9b subs r3, r3, r2
+ 8000aa8: fbb3 f2fe udiv r2, r3, lr
+ 8000aac: fb0e 3312 mls r3, lr, r2, r3
+ 8000ab0: fb02 f404 mul.w r4, r2, r4
+ 8000ab4: ea40 4303 orr.w r3, r0, r3, lsl #16
+ 8000ab8: 429c cmp r4, r3
+ 8000aba: d907 bls.n 8000acc <__udivmoddi4+0x144>
+ 8000abc: 18fb adds r3, r7, r3
+ 8000abe: f102 30ff add.w r0, r2, #4294967295 @ 0xffffffff
+ 8000ac2: d202 bcs.n 8000aca <__udivmoddi4+0x142>
+ 8000ac4: 429c cmp r4, r3
+ 8000ac6: f200 80cd bhi.w 8000c64 <__udivmoddi4+0x2dc>
+ 8000aca: 4602 mov r2, r0
+ 8000acc: 1b1b subs r3, r3, r4
+ 8000ace: ea42 400c orr.w r0, r2, ip, lsl #16
+ 8000ad2: e7a5 b.n 8000a20 <__udivmoddi4+0x98>
+ 8000ad4: f1c1 0620 rsb r6, r1, #32
+ 8000ad8: 408b lsls r3, r1
+ 8000ada: fa22 f706 lsr.w r7, r2, r6
+ 8000ade: 431f orrs r7, r3
+ 8000ae0: fa2e fa06 lsr.w sl, lr, r6
+ 8000ae4: ea4f 4917 mov.w r9, r7, lsr #16
+ 8000ae8: fbba f8f9 udiv r8, sl, r9
+ 8000aec: fa0e fe01 lsl.w lr, lr, r1
+ 8000af0: fa20 f306 lsr.w r3, r0, r6
+ 8000af4: fb09 aa18 mls sl, r9, r8, sl
+ 8000af8: fa1f fc87 uxth.w ip, r7
+ 8000afc: ea43 030e orr.w r3, r3, lr
+ 8000b00: fa00 fe01 lsl.w lr, r0, r1
+ 8000b04: fb08 f00c mul.w r0, r8, ip
+ 8000b08: 0c1c lsrs r4, r3, #16
+ 8000b0a: ea44 440a orr.w r4, r4, sl, lsl #16
+ 8000b0e: 42a0 cmp r0, r4
+ 8000b10: fa02 f201 lsl.w r2, r2, r1
+ 8000b14: d90a bls.n 8000b2c <__udivmoddi4+0x1a4>
+ 8000b16: 193c adds r4, r7, r4
+ 8000b18: f108 3aff add.w sl, r8, #4294967295 @ 0xffffffff
+ 8000b1c: f080 809e bcs.w 8000c5c <__udivmoddi4+0x2d4>
+ 8000b20: 42a0 cmp r0, r4
+ 8000b22: f240 809b bls.w 8000c5c <__udivmoddi4+0x2d4>
+ 8000b26: f1a8 0802 sub.w r8, r8, #2
+ 8000b2a: 443c add r4, r7
+ 8000b2c: 1a24 subs r4, r4, r0
+ 8000b2e: b298 uxth r0, r3
+ 8000b30: fbb4 f3f9 udiv r3, r4, r9
+ 8000b34: fb09 4413 mls r4, r9, r3, r4
+ 8000b38: fb03 fc0c mul.w ip, r3, ip
+ 8000b3c: ea40 4404 orr.w r4, r0, r4, lsl #16
+ 8000b40: 45a4 cmp ip, r4
+ 8000b42: d909 bls.n 8000b58 <__udivmoddi4+0x1d0>
+ 8000b44: 193c adds r4, r7, r4
+ 8000b46: f103 30ff add.w r0, r3, #4294967295 @ 0xffffffff
+ 8000b4a: f080 8085 bcs.w 8000c58 <__udivmoddi4+0x2d0>
+ 8000b4e: 45a4 cmp ip, r4
+ 8000b50: f240 8082 bls.w 8000c58 <__udivmoddi4+0x2d0>
+ 8000b54: 3b02 subs r3, #2
+ 8000b56: 443c add r4, r7
+ 8000b58: ea43 4008 orr.w r0, r3, r8, lsl #16
+ 8000b5c: eba4 040c sub.w r4, r4, ip
+ 8000b60: fba0 8c02 umull r8, ip, r0, r2
+ 8000b64: 4564 cmp r4, ip
+ 8000b66: 4643 mov r3, r8
+ 8000b68: 46e1 mov r9, ip
+ 8000b6a: d364 bcc.n 8000c36 <__udivmoddi4+0x2ae>
+ 8000b6c: d061 beq.n 8000c32 <__udivmoddi4+0x2aa>
+ 8000b6e: b15d cbz r5, 8000b88 <__udivmoddi4+0x200>
+ 8000b70: ebbe 0203 subs.w r2, lr, r3
+ 8000b74: eb64 0409 sbc.w r4, r4, r9
+ 8000b78: fa04 f606 lsl.w r6, r4, r6
+ 8000b7c: fa22 f301 lsr.w r3, r2, r1
+ 8000b80: 431e orrs r6, r3
+ 8000b82: 40cc lsrs r4, r1
+ 8000b84: e9c5 6400 strd r6, r4, [r5]
+ 8000b88: 2100 movs r1, #0
+ 8000b8a: e74e b.n 8000a2a <__udivmoddi4+0xa2>
+ 8000b8c: fbb1 fcf2 udiv ip, r1, r2
+ 8000b90: 0c01 lsrs r1, r0, #16
+ 8000b92: ea41 410e orr.w r1, r1, lr, lsl #16
+ 8000b96: b280 uxth r0, r0
+ 8000b98: ea40 4201 orr.w r2, r0, r1, lsl #16
+ 8000b9c: 463b mov r3, r7
+ 8000b9e: fbb1 f1f7 udiv r1, r1, r7
+ 8000ba2: 4638 mov r0, r7
+ 8000ba4: 463c mov r4, r7
+ 8000ba6: 46b8 mov r8, r7
+ 8000ba8: 46be mov lr, r7
+ 8000baa: 2620 movs r6, #32
+ 8000bac: eba2 0208 sub.w r2, r2, r8
+ 8000bb0: ea41 410c orr.w r1, r1, ip, lsl #16
+ 8000bb4: e765 b.n 8000a82 <__udivmoddi4+0xfa>
+ 8000bb6: 4601 mov r1, r0
+ 8000bb8: e717 b.n 80009ea <__udivmoddi4+0x62>
+ 8000bba: 4610 mov r0, r2
+ 8000bbc: e72b b.n 8000a16 <__udivmoddi4+0x8e>
+ 8000bbe: f1c6 0120 rsb r1, r6, #32
+ 8000bc2: fa2e fc01 lsr.w ip, lr, r1
+ 8000bc6: 40b7 lsls r7, r6
+ 8000bc8: fa0e fe06 lsl.w lr, lr, r6
+ 8000bcc: fa20 f101 lsr.w r1, r0, r1
+ 8000bd0: ea41 010e orr.w r1, r1, lr
+ 8000bd4: ea4f 4e17 mov.w lr, r7, lsr #16
+ 8000bd8: fbbc f8fe udiv r8, ip, lr
+ 8000bdc: b2bc uxth r4, r7
+ 8000bde: fb0e cc18 mls ip, lr, r8, ip
+ 8000be2: fb08 f904 mul.w r9, r8, r4
+ 8000be6: 0c0a lsrs r2, r1, #16
+ 8000be8: ea42 420c orr.w r2, r2, ip, lsl #16
+ 8000bec: 40b0 lsls r0, r6
+ 8000bee: 4591 cmp r9, r2
+ 8000bf0: ea4f 4310 mov.w r3, r0, lsr #16
+ 8000bf4: b280 uxth r0, r0
+ 8000bf6: d93e bls.n 8000c76 <__udivmoddi4+0x2ee>
+ 8000bf8: 18ba adds r2, r7, r2
+ 8000bfa: f108 3cff add.w ip, r8, #4294967295 @ 0xffffffff
+ 8000bfe: d201 bcs.n 8000c04 <__udivmoddi4+0x27c>
+ 8000c00: 4591 cmp r9, r2
+ 8000c02: d81f bhi.n 8000c44 <__udivmoddi4+0x2bc>
+ 8000c04: eba2 0209 sub.w r2, r2, r9
+ 8000c08: fbb2 f9fe udiv r9, r2, lr
+ 8000c0c: fb09 f804 mul.w r8, r9, r4
+ 8000c10: fb0e 2a19 mls sl, lr, r9, r2
+ 8000c14: b28a uxth r2, r1
+ 8000c16: ea42 420a orr.w r2, r2, sl, lsl #16
+ 8000c1a: 4542 cmp r2, r8
+ 8000c1c: d229 bcs.n 8000c72 <__udivmoddi4+0x2ea>
+ 8000c1e: 18ba adds r2, r7, r2
+ 8000c20: f109 31ff add.w r1, r9, #4294967295 @ 0xffffffff
+ 8000c24: d2c2 bcs.n 8000bac <__udivmoddi4+0x224>
+ 8000c26: 4542 cmp r2, r8
+ 8000c28: d2c0 bcs.n 8000bac <__udivmoddi4+0x224>
+ 8000c2a: f1a9 0102 sub.w r1, r9, #2
+ 8000c2e: 443a add r2, r7
+ 8000c30: e7bc b.n 8000bac <__udivmoddi4+0x224>
+ 8000c32: 45c6 cmp lr, r8
+ 8000c34: d29b bcs.n 8000b6e <__udivmoddi4+0x1e6>
+ 8000c36: ebb8 0302 subs.w r3, r8, r2
+ 8000c3a: eb6c 0c07 sbc.w ip, ip, r7
+ 8000c3e: 3801 subs r0, #1
+ 8000c40: 46e1 mov r9, ip
+ 8000c42: e794 b.n 8000b6e <__udivmoddi4+0x1e6>
+ 8000c44: eba7 0909 sub.w r9, r7, r9
+ 8000c48: 444a add r2, r9
+ 8000c4a: fbb2 f9fe udiv r9, r2, lr
+ 8000c4e: f1a8 0c02 sub.w ip, r8, #2
+ 8000c52: fb09 f804 mul.w r8, r9, r4
+ 8000c56: e7db b.n 8000c10 <__udivmoddi4+0x288>
+ 8000c58: 4603 mov r3, r0
+ 8000c5a: e77d b.n 8000b58 <__udivmoddi4+0x1d0>
+ 8000c5c: 46d0 mov r8, sl
+ 8000c5e: e765 b.n 8000b2c <__udivmoddi4+0x1a4>
+ 8000c60: 4608 mov r0, r1
+ 8000c62: e6fa b.n 8000a5a <__udivmoddi4+0xd2>
+ 8000c64: 443b add r3, r7
+ 8000c66: 3a02 subs r2, #2
+ 8000c68: e730 b.n 8000acc <__udivmoddi4+0x144>
+ 8000c6a: f1ac 0c02 sub.w ip, ip, #2
+ 8000c6e: 443b add r3, r7
+ 8000c70: e719 b.n 8000aa6 <__udivmoddi4+0x11e>
+ 8000c72: 4649 mov r1, r9
+ 8000c74: e79a b.n 8000bac <__udivmoddi4+0x224>
+ 8000c76: eba2 0209 sub.w r2, r2, r9
+ 8000c7a: fbb2 f9fe udiv r9, r2, lr
+ 8000c7e: 46c4 mov ip, r8
+ 8000c80: fb09 f804 mul.w r8, r9, r4
+ 8000c84: e7c4 b.n 8000c10 <__udivmoddi4+0x288>
+ 8000c86: bf00 nop
+
+08000c88 <__aeabi_idiv0>:
+ 8000c88: 4770 bx lr
+ 8000c8a: bf00 nop
+
+08000c8c :
+/**
+ * @brief The application entry point.
+ * @retval int
+ */
+int main(void)
+{
+ 8000c8c: b580 push {r7, lr}
+ 8000c8e: af00 add r7, sp, #0
+ /* USER CODE END 1 */
+
+ /* MCU Configuration--------------------------------------------------------*/
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+ 8000c90: f000 fc35 bl 80014fe
+ /* USER CODE BEGIN Init */
+
+ /* USER CODE END Init */
+
+ /* Configure the system clock */
+ SystemClock_Config();
+ 8000c94: f000 f818 bl 8000cc8
+ /* USER CODE BEGIN SysInit */
+
+ /* USER CODE END SysInit */
+
+ /* Initialize all configured peripherals */
+ MX_GPIO_Init();
+ 8000c98: f000 f994 bl 8000fc4
+ MX_SPI1_Init();
+ 8000c9c: f000 f8b2 bl 8000e04
+ MX_TIM3_Init();
+ 8000ca0: f000 f8e6 bl 8000e70
+ MX_TIM6_Init();
+ 8000ca4: f000 f958 bl 8000f58
+ MX_ADC_Init();
+ 8000ca8: f000 f854 bl 8000d54
+#ifdef Section5
+ HAL_TIM_Base_Start_IT(&htim6);
+ HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);
+#endif
+#ifdef Section6
+ HAL_TIM_Base_Start_IT(&htim6);
+ 8000cac: 4804 ldr r0, [pc, #16] @ (8000cc0 )
+ 8000cae: f002 fa2f bl 8003110
+ HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);
+ 8000cb2: 210c movs r1, #12
+ 8000cb4: 4803 ldr r0, [pc, #12] @ (8000cc4 )
+ 8000cb6: f002 fac5 bl 8003244
+#endif
+ while (1)
+ 8000cba: bf00 nop
+ 8000cbc: e7fd b.n 8000cba
+ 8000cbe: bf00 nop
+ 8000cc0: 20000114 .word 0x20000114
+ 8000cc4: 200000d4 .word 0x200000d4
+
+08000cc8 :
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+ 8000cc8: b580 push {r7, lr}
+ 8000cca: b092 sub sp, #72 @ 0x48
+ 8000ccc: af00 add r7, sp, #0
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ 8000cce: f107 0314 add.w r3, r7, #20
+ 8000cd2: 2234 movs r2, #52 @ 0x34
+ 8000cd4: 2100 movs r1, #0
+ 8000cd6: 4618 mov r0, r3
+ 8000cd8: f003 f848 bl 8003d6c
+ RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
+ 8000cdc: 463b mov r3, r7
+ 8000cde: 2200 movs r2, #0
+ 8000ce0: 601a str r2, [r3, #0]
+ 8000ce2: 605a str r2, [r3, #4]
+ 8000ce4: 609a str r2, [r3, #8]
+ 8000ce6: 60da str r2, [r3, #12]
+ 8000ce8: 611a str r2, [r3, #16]
+
+ /** Configure the main internal regulator output voltage
+ */
+ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
+ 8000cea: 4b19 ldr r3, [pc, #100] @ (8000d50 )
+ 8000cec: 681b ldr r3, [r3, #0]
+ 8000cee: f423 53c0 bic.w r3, r3, #6144 @ 0x1800
+ 8000cf2: 4a17 ldr r2, [pc, #92] @ (8000d50 )
+ 8000cf4: f443 6300 orr.w r3, r3, #2048 @ 0x800
+ 8000cf8: 6013 str r3, [r2, #0]
+
+ /** Initializes the RCC Oscillators according to the specified parameters
+ * in the RCC_OscInitTypeDef structure.
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
+ 8000cfa: 2302 movs r3, #2
+ 8000cfc: 617b str r3, [r7, #20]
+ RCC_OscInitStruct.HSIState = RCC_HSI_ON;
+ 8000cfe: 2301 movs r3, #1
+ 8000d00: 623b str r3, [r7, #32]
+ RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
+ 8000d02: 2310 movs r3, #16
+ 8000d04: 627b str r3, [r7, #36] @ 0x24
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ 8000d06: 2300 movs r3, #0
+ 8000d08: 63bb str r3, [r7, #56] @ 0x38
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ 8000d0a: f107 0314 add.w r3, r7, #20
+ 8000d0e: 4618 mov r0, r3
+ 8000d10: f001 fbb4 bl 800247c
+ 8000d14: 4603 mov r3, r0
+ 8000d16: 2b00 cmp r3, #0
+ 8000d18: d001 beq.n 8000d1e
+ {
+ Error_Handler();
+ 8000d1a: f000 fa5d bl 80011d8
+ }
+
+ /** Initializes the CPU, AHB and APB buses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ 8000d1e: 230f movs r3, #15
+ 8000d20: 603b str r3, [r7, #0]
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
+ 8000d22: 2301 movs r3, #1
+ 8000d24: 607b str r3, [r7, #4]
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ 8000d26: 2300 movs r3, #0
+ 8000d28: 60bb str r3, [r7, #8]
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ 8000d2a: 2300 movs r3, #0
+ 8000d2c: 60fb str r3, [r7, #12]
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+ 8000d2e: 2300 movs r3, #0
+ 8000d30: 613b str r3, [r7, #16]
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
+ 8000d32: 463b mov r3, r7
+ 8000d34: 2100 movs r1, #0
+ 8000d36: 4618 mov r0, r3
+ 8000d38: f001 fed0 bl 8002adc
+ 8000d3c: 4603 mov r3, r0
+ 8000d3e: 2b00 cmp r3, #0
+ 8000d40: d001 beq.n 8000d46
+ {
+ Error_Handler();
+ 8000d42: f000 fa49 bl 80011d8
+ }
+}
+ 8000d46: bf00 nop
+ 8000d48: 3748 adds r7, #72 @ 0x48
+ 8000d4a: 46bd mov sp, r7
+ 8000d4c: bd80 pop {r7, pc}
+ 8000d4e: bf00 nop
+ 8000d50: 40007000 .word 0x40007000
+
+08000d54 :
+ * @brief ADC Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_ADC_Init(void)
+{
+ 8000d54: b580 push {r7, lr}
+ 8000d56: b084 sub sp, #16
+ 8000d58: af00 add r7, sp, #0
+
+ /* USER CODE BEGIN ADC_Init 0 */
+
+ /* USER CODE END ADC_Init 0 */
+
+ ADC_ChannelConfTypeDef sConfig = {0};
+ 8000d5a: 1d3b adds r3, r7, #4
+ 8000d5c: 2200 movs r2, #0
+ 8000d5e: 601a str r2, [r3, #0]
+ 8000d60: 605a str r2, [r3, #4]
+ 8000d62: 609a str r2, [r3, #8]
+
+ /* USER CODE END ADC_Init 1 */
+
+ /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion)
+ */
+ hadc.Instance = ADC1;
+ 8000d64: 4b25 ldr r3, [pc, #148] @ (8000dfc )
+ 8000d66: 4a26 ldr r2, [pc, #152] @ (8000e00 )
+ 8000d68: 601a str r2, [r3, #0]
+ hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ 8000d6a: 4b24 ldr r3, [pc, #144] @ (8000dfc )
+ 8000d6c: 2200 movs r2, #0
+ 8000d6e: 605a str r2, [r3, #4]
+ hadc.Init.Resolution = ADC_RESOLUTION_12B;
+ 8000d70: 4b22 ldr r3, [pc, #136] @ (8000dfc )
+ 8000d72: 2200 movs r2, #0
+ 8000d74: 609a str r2, [r3, #8]
+ hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ 8000d76: 4b21 ldr r3, [pc, #132] @ (8000dfc )
+ 8000d78: 2200 movs r2, #0
+ 8000d7a: 60da str r2, [r3, #12]
+ hadc.Init.ScanConvMode = ADC_SCAN_DISABLE;
+ 8000d7c: 4b1f ldr r3, [pc, #124] @ (8000dfc )
+ 8000d7e: 2200 movs r2, #0
+ 8000d80: 611a str r2, [r3, #16]
+ hadc.Init.EOCSelection = ADC_EOC_SEQ_CONV;
+ 8000d82: 4b1e ldr r3, [pc, #120] @ (8000dfc )
+ 8000d84: 2200 movs r2, #0
+ 8000d86: 615a str r2, [r3, #20]
+ hadc.Init.LowPowerAutoWait = ADC_AUTOWAIT_DISABLE;
+ 8000d88: 4b1c ldr r3, [pc, #112] @ (8000dfc )
+ 8000d8a: 2200 movs r2, #0
+ 8000d8c: 619a str r2, [r3, #24]
+ hadc.Init.LowPowerAutoPowerOff = ADC_AUTOPOWEROFF_DISABLE;
+ 8000d8e: 4b1b ldr r3, [pc, #108] @ (8000dfc )
+ 8000d90: 2200 movs r2, #0
+ 8000d92: 61da str r2, [r3, #28]
+ hadc.Init.ChannelsBank = ADC_CHANNELS_BANK_A;
+ 8000d94: 4b19 ldr r3, [pc, #100] @ (8000dfc )
+ 8000d96: 2200 movs r2, #0
+ 8000d98: 621a str r2, [r3, #32]
+ hadc.Init.ContinuousConvMode = DISABLE;
+ 8000d9a: 4b18 ldr r3, [pc, #96] @ (8000dfc )
+ 8000d9c: 2200 movs r2, #0
+ 8000d9e: f883 2024 strb.w r2, [r3, #36] @ 0x24
+ hadc.Init.NbrOfConversion = 1;
+ 8000da2: 4b16 ldr r3, [pc, #88] @ (8000dfc )
+ 8000da4: 2201 movs r2, #1
+ 8000da6: 629a str r2, [r3, #40] @ 0x28
+ hadc.Init.DiscontinuousConvMode = DISABLE;
+ 8000da8: 4b14 ldr r3, [pc, #80] @ (8000dfc )
+ 8000daa: 2200 movs r2, #0
+ 8000dac: f883 202c strb.w r2, [r3, #44] @ 0x2c
+ hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ 8000db0: 4b12 ldr r3, [pc, #72] @ (8000dfc )
+ 8000db2: 2210 movs r2, #16
+ 8000db4: 635a str r2, [r3, #52] @ 0x34
+ hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ 8000db6: 4b11 ldr r3, [pc, #68] @ (8000dfc )
+ 8000db8: 2200 movs r2, #0
+ 8000dba: 639a str r2, [r3, #56] @ 0x38
+ hadc.Init.DMAContinuousRequests = DISABLE;
+ 8000dbc: 4b0f ldr r3, [pc, #60] @ (8000dfc )
+ 8000dbe: 2200 movs r2, #0
+ 8000dc0: f883 203c strb.w r2, [r3, #60] @ 0x3c
+ if (HAL_ADC_Init(&hadc) != HAL_OK)
+ 8000dc4: 480d ldr r0, [pc, #52] @ (8000dfc )
+ 8000dc6: f000 fc09 bl 80015dc
+ 8000dca: 4603 mov r3, r0
+ 8000dcc: 2b00 cmp r3, #0
+ 8000dce: d001 beq.n 8000dd4
+ {
+ Error_Handler();
+ 8000dd0: f000 fa02 bl 80011d8
+ }
+
+ /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time.
+ */
+ sConfig.Channel = ADC_CHANNEL_0;
+ 8000dd4: 2300 movs r3, #0
+ 8000dd6: 607b str r3, [r7, #4]
+ sConfig.Rank = ADC_REGULAR_RANK_1;
+ 8000dd8: 2301 movs r3, #1
+ 8000dda: 60bb str r3, [r7, #8]
+ sConfig.SamplingTime = ADC_SAMPLETIME_4CYCLES;
+ 8000ddc: 2300 movs r3, #0
+ 8000dde: 60fb str r3, [r7, #12]
+ if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK)
+ 8000de0: 1d3b adds r3, r7, #4
+ 8000de2: 4619 mov r1, r3
+ 8000de4: 4805 ldr r0, [pc, #20] @ (8000dfc )
+ 8000de6: f000 fe67 bl 8001ab8
+ 8000dea: 4603 mov r3, r0
+ 8000dec: 2b00 cmp r3, #0
+ 8000dee: d001 beq.n 8000df4
+ {
+ Error_Handler();
+ 8000df0: f000 f9f2 bl 80011d8
+ }
+ /* USER CODE BEGIN ADC_Init 2 */
+
+ /* USER CODE END ADC_Init 2 */
+
+}
+ 8000df4: bf00 nop
+ 8000df6: 3710 adds r7, #16
+ 8000df8: 46bd mov sp, r7
+ 8000dfa: bd80 pop {r7, pc}
+ 8000dfc: 20000028 .word 0x20000028
+ 8000e00: 40012400 .word 0x40012400
+
+08000e04 :
+ * @brief SPI1 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_SPI1_Init(void)
+{
+ 8000e04: b580 push {r7, lr}
+ 8000e06: af00 add r7, sp, #0
+
+ /* USER CODE BEGIN SPI1_Init 1 */
+
+ /* USER CODE END SPI1_Init 1 */
+ /* SPI1 parameter configuration*/
+ hspi1.Instance = SPI1;
+ 8000e08: 4b17 ldr r3, [pc, #92] @ (8000e68 )
+ 8000e0a: 4a18 ldr r2, [pc, #96] @ (8000e6c )
+ 8000e0c: 601a str r2, [r3, #0]
+ hspi1.Init.Mode = SPI_MODE_MASTER;
+ 8000e0e: 4b16 ldr r3, [pc, #88] @ (8000e68 )
+ 8000e10: f44f 7282 mov.w r2, #260 @ 0x104
+ 8000e14: 605a str r2, [r3, #4]
+ hspi1.Init.Direction = SPI_DIRECTION_2LINES;
+ 8000e16: 4b14 ldr r3, [pc, #80] @ (8000e68 )
+ 8000e18: 2200 movs r2, #0
+ 8000e1a: 609a str r2, [r3, #8]
+ hspi1.Init.DataSize = SPI_DATASIZE_8BIT;
+ 8000e1c: 4b12 ldr r3, [pc, #72] @ (8000e68 )
+ 8000e1e: 2200 movs r2, #0
+ 8000e20: 60da str r2, [r3, #12]
+ hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;
+ 8000e22: 4b11 ldr r3, [pc, #68] @ (8000e68 )
+ 8000e24: 2200 movs r2, #0
+ 8000e26: 611a str r2, [r3, #16]
+ hspi1.Init.CLKPhase = SPI_PHASE_1EDGE;
+ 8000e28: 4b0f ldr r3, [pc, #60] @ (8000e68 )
+ 8000e2a: 2200 movs r2, #0
+ 8000e2c: 615a str r2, [r3, #20]
+ hspi1.Init.NSS = SPI_NSS_SOFT;
+ 8000e2e: 4b0e ldr r3, [pc, #56] @ (8000e68 )
+ 8000e30: f44f 7200 mov.w r2, #512 @ 0x200
+ 8000e34: 619a str r2, [r3, #24]
+ hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
+ 8000e36: 4b0c ldr r3, [pc, #48] @ (8000e68 )
+ 8000e38: 2200 movs r2, #0
+ 8000e3a: 61da str r2, [r3, #28]
+ hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;
+ 8000e3c: 4b0a ldr r3, [pc, #40] @ (8000e68 )
+ 8000e3e: 2200 movs r2, #0
+ 8000e40: 621a str r2, [r3, #32]
+ hspi1.Init.TIMode = SPI_TIMODE_DISABLE;
+ 8000e42: 4b09 ldr r3, [pc, #36] @ (8000e68 )
+ 8000e44: 2200 movs r2, #0
+ 8000e46: 625a str r2, [r3, #36] @ 0x24
+ hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
+ 8000e48: 4b07 ldr r3, [pc, #28] @ (8000e68 )
+ 8000e4a: 2200 movs r2, #0
+ 8000e4c: 629a str r2, [r3, #40] @ 0x28
+ hspi1.Init.CRCPolynomial = 10;
+ 8000e4e: 4b06 ldr r3, [pc, #24] @ (8000e68 )
+ 8000e50: 220a movs r2, #10
+ 8000e52: 62da str r2, [r3, #44] @ 0x2c
+ if (HAL_SPI_Init(&hspi1) != HAL_OK)
+ 8000e54: 4804 ldr r0, [pc, #16] @ (8000e68 )
+ 8000e56: f002 f893 bl 8002f80
+ 8000e5a: 4603 mov r3, r0
+ 8000e5c: 2b00 cmp r3, #0
+ 8000e5e: d001 beq.n 8000e64
+ {
+ Error_Handler();
+ 8000e60: f000 f9ba bl 80011d8
+ }
+ /* USER CODE BEGIN SPI1_Init 2 */
+
+ /* USER CODE END SPI1_Init 2 */
+
+}
+ 8000e64: bf00 nop
+ 8000e66: bd80 pop {r7, pc}
+ 8000e68: 2000007c .word 0x2000007c
+ 8000e6c: 40013000 .word 0x40013000
+
+08000e70 :
+ * @brief TIM3 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_TIM3_Init(void)
+{
+ 8000e70: b580 push {r7, lr}
+ 8000e72: b08a sub sp, #40 @ 0x28
+ 8000e74: af00 add r7, sp, #0
+
+ /* USER CODE BEGIN TIM3_Init 0 */
+
+ /* USER CODE END TIM3_Init 0 */
+
+ TIM_ClockConfigTypeDef sClockSourceConfig = {0};
+ 8000e76: f107 0318 add.w r3, r7, #24
+ 8000e7a: 2200 movs r2, #0
+ 8000e7c: 601a str r2, [r3, #0]
+ 8000e7e: 605a str r2, [r3, #4]
+ 8000e80: 609a str r2, [r3, #8]
+ 8000e82: 60da str r2, [r3, #12]
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ 8000e84: f107 0310 add.w r3, r7, #16
+ 8000e88: 2200 movs r2, #0
+ 8000e8a: 601a str r2, [r3, #0]
+ 8000e8c: 605a str r2, [r3, #4]
+ TIM_OC_InitTypeDef sConfigOC = {0};
+ 8000e8e: 463b mov r3, r7
+ 8000e90: 2200 movs r2, #0
+ 8000e92: 601a str r2, [r3, #0]
+ 8000e94: 605a str r2, [r3, #4]
+ 8000e96: 609a str r2, [r3, #8]
+ 8000e98: 60da str r2, [r3, #12]
+
+ /* USER CODE BEGIN TIM3_Init 1 */
+
+ /* USER CODE END TIM3_Init 1 */
+ htim3.Instance = TIM3;
+ 8000e9a: 4b2d ldr r3, [pc, #180] @ (8000f50 )
+ 8000e9c: 4a2d ldr r2, [pc, #180] @ (8000f54 )
+ 8000e9e: 601a str r2, [r3, #0]
+ htim3.Init.Prescaler = 20-1;
+ 8000ea0: 4b2b ldr r3, [pc, #172] @ (8000f50 )
+ 8000ea2: 2213 movs r2, #19
+ 8000ea4: 605a str r2, [r3, #4]
+ htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
+ 8000ea6: 4b2a ldr r3, [pc, #168] @ (8000f50 )
+ 8000ea8: 2200 movs r2, #0
+ 8000eaa: 609a str r2, [r3, #8]
+ htim3.Init.Period = 16000-1;
+ 8000eac: 4b28 ldr r3, [pc, #160] @ (8000f50 )
+ 8000eae: f643 627f movw r2, #15999 @ 0x3e7f
+ 8000eb2: 60da str r2, [r3, #12]
+ htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ 8000eb4: 4b26 ldr r3, [pc, #152] @ (8000f50 )
+ 8000eb6: 2200 movs r2, #0
+ 8000eb8: 611a str r2, [r3, #16]
+ htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
+ 8000eba: 4b25 ldr r3, [pc, #148] @ (8000f50 )
+ 8000ebc: 2280 movs r2, #128 @ 0x80
+ 8000ebe: 615a str r2, [r3, #20]
+ if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
+ 8000ec0: 4823 ldr r0, [pc, #140] @ (8000f50 )
+ 8000ec2: f002 f8e6 bl 8003092
+ 8000ec6: 4603 mov r3, r0
+ 8000ec8: 2b00 cmp r3, #0
+ 8000eca: d001 beq.n 8000ed0
+ {
+ Error_Handler();
+ 8000ecc: f000 f984 bl 80011d8
+ }
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
+ 8000ed0: f44f 5380 mov.w r3, #4096 @ 0x1000
+ 8000ed4: 61bb str r3, [r7, #24]
+ if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK)
+ 8000ed6: f107 0318 add.w r3, r7, #24
+ 8000eda: 4619 mov r1, r3
+ 8000edc: 481c ldr r0, [pc, #112] @ (8000f50 )
+ 8000ede: f002 fbd5 bl 800368c
+ 8000ee2: 4603 mov r3, r0
+ 8000ee4: 2b00 cmp r3, #0
+ 8000ee6: d001 beq.n 8000eec
+ {
+ Error_Handler();
+ 8000ee8: f000 f976 bl 80011d8
+ }
+ if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
+ 8000eec: 4818 ldr r0, [pc, #96] @ (8000f50 )
+ 8000eee: f002 f961 bl 80031b4
+ 8000ef2: 4603 mov r3, r0
+ 8000ef4: 2b00 cmp r3, #0
+ 8000ef6: d001 beq.n 8000efc
+ {
+ Error_Handler();
+ 8000ef8: f000 f96e bl 80011d8
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ 8000efc: 2300 movs r3, #0
+ 8000efe: 613b str r3, [r7, #16]
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ 8000f00: 2300 movs r3, #0
+ 8000f02: 617b str r3, [r7, #20]
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
+ 8000f04: f107 0310 add.w r3, r7, #16
+ 8000f08: 4619 mov r1, r3
+ 8000f0a: 4811 ldr r0, [pc, #68] @ (8000f50 )
+ 8000f0c: f002 fed0 bl 8003cb0
+ 8000f10: 4603 mov r3, r0
+ 8000f12: 2b00 cmp r3, #0
+ 8000f14: d001 beq.n 8000f1a
+ {
+ Error_Handler();
+ 8000f16: f000 f95f bl 80011d8
+ }
+ sConfigOC.OCMode = TIM_OCMODE_PWM1;
+ 8000f1a: 2360 movs r3, #96 @ 0x60
+ 8000f1c: 603b str r3, [r7, #0]
+ sConfigOC.Pulse = 16000;
+ 8000f1e: f44f 537a mov.w r3, #16000 @ 0x3e80
+ 8000f22: 607b str r3, [r7, #4]
+ sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
+ 8000f24: 2300 movs r3, #0
+ 8000f26: 60bb str r3, [r7, #8]
+ sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
+ 8000f28: 2300 movs r3, #0
+ 8000f2a: 60fb str r3, [r7, #12]
+ if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
+ 8000f2c: 463b mov r3, r7
+ 8000f2e: 220c movs r2, #12
+ 8000f30: 4619 mov r1, r3
+ 8000f32: 4807 ldr r0, [pc, #28] @ (8000f50 )
+ 8000f34: f002 fae8 bl 8003508
+ 8000f38: 4603 mov r3, r0
+ 8000f3a: 2b00 cmp r3, #0
+ 8000f3c: d001 beq.n 8000f42
+ {
+ Error_Handler();
+ 8000f3e: f000 f94b bl 80011d8
+ }
+ /* USER CODE BEGIN TIM3_Init 2 */
+
+ /* USER CODE END TIM3_Init 2 */
+ HAL_TIM_MspPostInit(&htim3);
+ 8000f42: 4803 ldr r0, [pc, #12] @ (8000f50 )
+ 8000f44: f000 fa3a bl 80013bc
+
+}
+ 8000f48: bf00 nop
+ 8000f4a: 3728 adds r7, #40 @ 0x28
+ 8000f4c: 46bd mov sp, r7
+ 8000f4e: bd80 pop {r7, pc}
+ 8000f50: 200000d4 .word 0x200000d4
+ 8000f54: 40000400 .word 0x40000400
+
+08000f58 :
+ * @brief TIM6 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_TIM6_Init(void)
+{
+ 8000f58: b580 push {r7, lr}
+ 8000f5a: b082 sub sp, #8
+ 8000f5c: af00 add r7, sp, #0
+
+ /* USER CODE BEGIN TIM6_Init 0 */
+
+ /* USER CODE END TIM6_Init 0 */
+
+ TIM_MasterConfigTypeDef sMasterConfig = {0};
+ 8000f5e: 463b mov r3, r7
+ 8000f60: 2200 movs r2, #0
+ 8000f62: 601a str r2, [r3, #0]
+ 8000f64: 605a str r2, [r3, #4]
+
+ /* USER CODE BEGIN TIM6_Init 1 */
+
+ /* USER CODE END TIM6_Init 1 */
+ htim6.Instance = TIM6;
+ 8000f66: 4b15 ldr r3, [pc, #84] @ (8000fbc )
+ 8000f68: 4a15 ldr r2, [pc, #84] @ (8000fc0 )
+ 8000f6a: 601a str r2, [r3, #0]
+ htim6.Init.Prescaler = 100-1;
+ 8000f6c: 4b13 ldr r3, [pc, #76] @ (8000fbc )
+ 8000f6e: 2263 movs r2, #99 @ 0x63
+ 8000f70: 605a str r2, [r3, #4]
+ htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
+ 8000f72: 4b12 ldr r3, [pc, #72] @ (8000fbc )
+ 8000f74: 2200 movs r2, #0
+ 8000f76: 609a str r2, [r3, #8]
+ htim6.Init.Period = 16000-1;
+ 8000f78: 4b10 ldr r3, [pc, #64] @ (8000fbc )
+ 8000f7a: f643 627f movw r2, #15999 @ 0x3e7f
+ 8000f7e: 60da str r2, [r3, #12]
+ htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
+ 8000f80: 4b0e ldr r3, [pc, #56] @ (8000fbc )
+ 8000f82: 2280 movs r2, #128 @ 0x80
+ 8000f84: 615a str r2, [r3, #20]
+ if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
+ 8000f86: 480d ldr r0, [pc, #52] @ (8000fbc )
+ 8000f88: f002 f883 bl 8003092
+ 8000f8c: 4603 mov r3, r0
+ 8000f8e: 2b00 cmp r3, #0
+ 8000f90: d001 beq.n 8000f96
+ {
+ Error_Handler();
+ 8000f92: f000 f921 bl 80011d8
+ }
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ 8000f96: 2300 movs r3, #0
+ 8000f98: 603b str r3, [r7, #0]
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ 8000f9a: 2300 movs r3, #0
+ 8000f9c: 607b str r3, [r7, #4]
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
+ 8000f9e: 463b mov r3, r7
+ 8000fa0: 4619 mov r1, r3
+ 8000fa2: 4806 ldr r0, [pc, #24] @ (8000fbc )
+ 8000fa4: f002 fe84 bl 8003cb0
+ 8000fa8: 4603 mov r3, r0
+ 8000faa: 2b00 cmp r3, #0
+ 8000fac: d001 beq.n 8000fb2
+ {
+ Error_Handler();
+ 8000fae: f000 f913 bl 80011d8
+ }
+ /* USER CODE BEGIN TIM6_Init 2 */
+
+ /* USER CODE END TIM6_Init 2 */
+
+}
+ 8000fb2: bf00 nop
+ 8000fb4: 3708 adds r7, #8
+ 8000fb6: 46bd mov sp, r7
+ 8000fb8: bd80 pop {r7, pc}
+ 8000fba: bf00 nop
+ 8000fbc: 20000114 .word 0x20000114
+ 8000fc0: 40001000 .word 0x40001000
+
+08000fc4 :
+ * @brief GPIO Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_GPIO_Init(void)
+{
+ 8000fc4: b580 push {r7, lr}
+ 8000fc6: b08a sub sp, #40 @ 0x28
+ 8000fc8: af00 add r7, sp, #0
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 8000fca: f107 0314 add.w r3, r7, #20
+ 8000fce: 2200 movs r2, #0
+ 8000fd0: 601a str r2, [r3, #0]
+ 8000fd2: 605a str r2, [r3, #4]
+ 8000fd4: 609a str r2, [r3, #8]
+ 8000fd6: 60da str r2, [r3, #12]
+ 8000fd8: 611a str r2, [r3, #16]
+ /* USER CODE BEGIN MX_GPIO_Init_1 */
+
+ /* USER CODE END MX_GPIO_Init_1 */
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ 8000fda: 4b54 ldr r3, [pc, #336] @ (800112c )
+ 8000fdc: 69db ldr r3, [r3, #28]
+ 8000fde: 4a53 ldr r2, [pc, #332] @ (800112c )
+ 8000fe0: f043 0304 orr.w r3, r3, #4
+ 8000fe4: 61d3 str r3, [r2, #28]
+ 8000fe6: 4b51 ldr r3, [pc, #324] @ (800112c )
+ 8000fe8: 69db ldr r3, [r3, #28]
+ 8000fea: f003 0304 and.w r3, r3, #4
+ 8000fee: 613b str r3, [r7, #16]
+ 8000ff0: 693b ldr r3, [r7, #16]
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ 8000ff2: 4b4e ldr r3, [pc, #312] @ (800112c )
+ 8000ff4: 69db ldr r3, [r3, #28]
+ 8000ff6: 4a4d ldr r2, [pc, #308] @ (800112c )
+ 8000ff8: f043 0301 orr.w r3, r3, #1
+ 8000ffc: 61d3 str r3, [r2, #28]
+ 8000ffe: 4b4b ldr r3, [pc, #300] @ (800112c )
+ 8001000: 69db ldr r3, [r3, #28]
+ 8001002: f003 0301 and.w r3, r3, #1
+ 8001006: 60fb str r3, [r7, #12]
+ 8001008: 68fb ldr r3, [r7, #12]
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ 800100a: 4b48 ldr r3, [pc, #288] @ (800112c )
+ 800100c: 69db ldr r3, [r3, #28]
+ 800100e: 4a47 ldr r2, [pc, #284] @ (800112c )
+ 8001010: f043 0302 orr.w r3, r3, #2
+ 8001014: 61d3 str r3, [r2, #28]
+ 8001016: 4b45 ldr r3, [pc, #276] @ (800112c )
+ 8001018: 69db ldr r3, [r3, #28]
+ 800101a: f003 0302 and.w r3, r3, #2
+ 800101e: 60bb str r3, [r7, #8]
+ 8001020: 68bb ldr r3, [r7, #8]
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ 8001022: 4b42 ldr r3, [pc, #264] @ (800112c )
+ 8001024: 69db ldr r3, [r3, #28]
+ 8001026: 4a41 ldr r2, [pc, #260] @ (800112c )
+ 8001028: f043 0308 orr.w r3, r3, #8
+ 800102c: 61d3 str r3, [r2, #28]
+ 800102e: 4b3f ldr r3, [pc, #252] @ (800112c )
+ 8001030: 69db ldr r3, [r3, #28]
+ 8001032: f003 0308 and.w r3, r3, #8
+ 8001036: 607b str r3, [r7, #4]
+ 8001038: 687b ldr r3, [r7, #4]
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_0, GPIO_PIN_RESET);
+ 800103a: 2200 movs r2, #0
+ 800103c: 2101 movs r1, #1
+ 800103e: 483c ldr r0, [pc, #240] @ (8001130 )
+ 8001040: f001 f9e2 bl 8002408
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOC, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, GPIO_PIN_SET);
+ 8001044: 2201 movs r2, #1
+ 8001046: 210e movs r1, #14
+ 8001048: 4839 ldr r0, [pc, #228] @ (8001130 )
+ 800104a: f001 f9dd bl 8002408
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12|GPIO_PIN_13, GPIO_PIN_RESET);
+ 800104e: 2200 movs r2, #0
+ 8001050: f44f 5140 mov.w r1, #12288 @ 0x3000
+ 8001054: 4837 ldr r0, [pc, #220] @ (8001134 )
+ 8001056: f001 f9d7 bl 8002408
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOD, GPIO_PIN_2, GPIO_PIN_SET);
+ 800105a: 2201 movs r2, #1
+ 800105c: 2104 movs r1, #4
+ 800105e: 4836 ldr r0, [pc, #216] @ (8001138 )
+ 8001060: f001 f9d2 bl 8002408
+
+ /*Configure GPIO pins : PC0 PC1 PC2 PC3 */
+ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
+ 8001064: 230f movs r3, #15
+ 8001066: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 8001068: 2301 movs r3, #1
+ 800106a: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 800106c: 2300 movs r3, #0
+ 800106e: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8001070: 2300 movs r3, #0
+ 8001072: 623b str r3, [r7, #32]
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+ 8001074: f107 0314 add.w r3, r7, #20
+ 8001078: 4619 mov r1, r3
+ 800107a: 482d ldr r0, [pc, #180] @ (8001130 )
+ 800107c: f001 f834 bl 80020e8
+
+ /*Configure GPIO pins : PB12 PB13 */
+ GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13;
+ 8001080: f44f 5340 mov.w r3, #12288 @ 0x3000
+ 8001084: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 8001086: 2301 movs r3, #1
+ 8001088: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 800108a: 2300 movs r3, #0
+ 800108c: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 800108e: 2300 movs r3, #0
+ 8001090: 623b str r3, [r7, #32]
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 8001092: f107 0314 add.w r3, r7, #20
+ 8001096: 4619 mov r1, r3
+ 8001098: 4826 ldr r0, [pc, #152] @ (8001134 )
+ 800109a: f001 f825 bl 80020e8
+
+ /*Configure GPIO pin : PC9 */
+ GPIO_InitStruct.Pin = GPIO_PIN_9;
+ 800109e: f44f 7300 mov.w r3, #512 @ 0x200
+ 80010a2: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ 80010a4: f44f 1388 mov.w r3, #1114112 @ 0x110000
+ 80010a8: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80010aa: 2300 movs r3, #0
+ 80010ac: 61fb str r3, [r7, #28]
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+ 80010ae: f107 0314 add.w r3, r7, #20
+ 80010b2: 4619 mov r1, r3
+ 80010b4: 481e ldr r0, [pc, #120] @ (8001130 )
+ 80010b6: f001 f817 bl 80020e8
+
+ /*Configure GPIO pins : PA11 PA12 */
+ GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_12;
+ 80010ba: f44f 53c0 mov.w r3, #6144 @ 0x1800
+ 80010be: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ 80010c0: 2300 movs r3, #0
+ 80010c2: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80010c4: 2300 movs r3, #0
+ 80010c6: 61fb str r3, [r7, #28]
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ 80010c8: f107 0314 add.w r3, r7, #20
+ 80010cc: 4619 mov r1, r3
+ 80010ce: 481b ldr r0, [pc, #108] @ (800113c )
+ 80010d0: f001 f80a bl 80020e8
+
+ /*Configure GPIO pin : PD2 */
+ GPIO_InitStruct.Pin = GPIO_PIN_2;
+ 80010d4: 2304 movs r3, #4
+ 80010d6: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ 80010d8: 2301 movs r3, #1
+ 80010da: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80010dc: 2300 movs r3, #0
+ 80010de: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 80010e0: 2300 movs r3, #0
+ 80010e2: 623b str r3, [r7, #32]
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+ 80010e4: f107 0314 add.w r3, r7, #20
+ 80010e8: 4619 mov r1, r3
+ 80010ea: 4813 ldr r0, [pc, #76] @ (8001138 )
+ 80010ec: f000 fffc bl 80020e8
+
+ /*Configure GPIO pin : PB8 */
+ GPIO_InitStruct.Pin = GPIO_PIN_8;
+ 80010f0: f44f 7380 mov.w r3, #256 @ 0x100
+ 80010f4: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ 80010f6: 2312 movs r3, #18
+ 80010f8: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80010fa: 2300 movs r3, #0
+ 80010fc: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ 80010fe: 2303 movs r3, #3
+ 8001100: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C1;
+ 8001102: 2304 movs r3, #4
+ 8001104: 627b str r3, [r7, #36] @ 0x24
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 8001106: f107 0314 add.w r3, r7, #20
+ 800110a: 4619 mov r1, r3
+ 800110c: 4809 ldr r0, [pc, #36] @ (8001134 )
+ 800110e: f000 ffeb bl 80020e8
+
+ /* EXTI interrupt init*/
+ HAL_NVIC_SetPriority(EXTI9_5_IRQn, 0, 0);
+ 8001112: 2200 movs r2, #0
+ 8001114: 2100 movs r1, #0
+ 8001116: 2017 movs r0, #23
+ 8001118: f000 ffaf bl 800207a
+ HAL_NVIC_EnableIRQ(EXTI9_5_IRQn);
+ 800111c: 2017 movs r0, #23
+ 800111e: f000 ffc8 bl 80020b2
+
+ /* USER CODE BEGIN MX_GPIO_Init_2 */
+
+ /* USER CODE END MX_GPIO_Init_2 */
+}
+ 8001122: bf00 nop
+ 8001124: 3728 adds r7, #40 @ 0x28
+ 8001126: 46bd mov sp, r7
+ 8001128: bd80 pop {r7, pc}
+ 800112a: bf00 nop
+ 800112c: 40023800 .word 0x40023800
+ 8001130: 40020800 .word 0x40020800
+ 8001134: 40020400 .word 0x40020400
+ 8001138: 40020c00 .word 0x40020c00
+ 800113c: 40020000 .word 0x40020000
+
+08001140 :
+ }
+ }
+}
+#endif
+#ifdef Section6
+void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) {
+ 8001140: b580 push {r7, lr}
+ 8001142: b086 sub sp, #24
+ 8001144: af00 add r7, sp, #0
+ 8001146: 6078 str r0, [r7, #4]
+ if (htim->Instance == TIM6) {
+ 8001148: 687b ldr r3, [r7, #4]
+ 800114a: 681b ldr r3, [r3, #0]
+ 800114c: 4a1d ldr r2, [pc, #116] @ (80011c4 )
+ 800114e: 4293 cmp r3, r2
+ 8001150: d134 bne.n 80011bc
+ HAL_ADC_Start(&hadc);
+ 8001152: 481d ldr r0, [pc, #116] @ (80011c8 )
+ 8001154: f000 fb88 bl 8001868
+ HAL_StatusTypeDef status = HAL_ADC_PollForConversion(&hadc, 1000);
+ 8001158: f44f 717a mov.w r1, #1000 @ 0x3e8
+ 800115c: 481a ldr r0, [pc, #104] @ (80011c8 )
+ 800115e: f000 fc0f bl 8001980
+ 8001162: 4603 mov r3, r0
+ 8001164: 75fb strb r3, [r7, #23]
+ if (status == HAL_OK) {
+ 8001166: 7dfb ldrb r3, [r7, #23]
+ 8001168: 2b00 cmp r3, #0
+ 800116a: d127 bne.n 80011bc
+ uint32_t ADCvalue = HAL_ADC_GetValue(&hadc);
+ 800116c: 4816 ldr r0, [pc, #88] @ (80011c8 )
+ 800116e: f000 fc97 bl 8001aa0
+ 8001172: 6138 str r0, [r7, #16]
+ HAL_ADC_Stop(&hadc);
+ 8001174: 4814 ldr r0, [pc, #80] @ (80011c8 )
+ 8001176: f000 fbd7 bl 8001928
+ uint8_t ratio = (ADCvalue / 4096.0) * 100;
+ 800117a: 6938 ldr r0, [r7, #16]
+ 800117c: f7ff f940 bl 8000400 <__aeabi_ui2d>
+ 8001180: f04f 0200 mov.w r2, #0
+ 8001184: 4b11 ldr r3, [pc, #68] @ (80011cc )
+ 8001186: f7ff fadf bl 8000748 <__aeabi_ddiv>
+ 800118a: 4602 mov r2, r0
+ 800118c: 460b mov r3, r1
+ 800118e: 4610 mov r0, r2
+ 8001190: 4619 mov r1, r3
+ 8001192: f04f 0200 mov.w r2, #0
+ 8001196: 4b0e ldr r3, [pc, #56] @ (80011d0 )
+ 8001198: f7ff f9ac bl 80004f4 <__aeabi_dmul>
+ 800119c: 4602 mov r2, r0
+ 800119e: 460b mov r3, r1
+ 80011a0: 4610 mov r0, r2
+ 80011a2: 4619 mov r1, r3
+ 80011a4: f7ff fbb8 bl 8000918 <__aeabi_d2uiz>
+ 80011a8: 4603 mov r3, r0
+ 80011aa: 73fb strb r3, [r7, #15]
+ TIM3 -> CCR4 = ratio * 160;
+ 80011ac: 7bfa ldrb r2, [r7, #15]
+ 80011ae: 4613 mov r3, r2
+ 80011b0: 009b lsls r3, r3, #2
+ 80011b2: 4413 add r3, r2
+ 80011b4: 015b lsls r3, r3, #5
+ 80011b6: 461a mov r2, r3
+ 80011b8: 4b06 ldr r3, [pc, #24] @ (80011d4 )
+ 80011ba: 641a str r2, [r3, #64] @ 0x40
+ }
+ }
+}
+ 80011bc: bf00 nop
+ 80011be: 3718 adds r7, #24
+ 80011c0: 46bd mov sp, r7
+ 80011c2: bd80 pop {r7, pc}
+ 80011c4: 40001000 .word 0x40001000
+ 80011c8: 20000028 .word 0x20000028
+ 80011cc: 40b00000 .word 0x40b00000
+ 80011d0: 40590000 .word 0x40590000
+ 80011d4: 40000400 .word 0x40000400
+
+080011d8 :
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ 80011d8: b480 push {r7}
+ 80011da: af00 add r7, sp, #0
+ \details Disables IRQ interrupts by setting the I-bit in the CPSR.
+ Can only be executed in Privileged modes.
+ */
+__STATIC_FORCEINLINE void __disable_irq(void)
+{
+ __ASM volatile ("cpsid i" : : : "memory");
+ 80011dc: b672 cpsid i
+}
+ 80011de: bf00 nop
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ __disable_irq();
+ while (1)
+ 80011e0: bf00 nop
+ 80011e2: e7fd b.n 80011e0
+
+080011e4 :
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
+ /**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ 80011e4: b480 push {r7}
+ 80011e6: b085 sub sp, #20
+ 80011e8: af00 add r7, sp, #0
+
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_COMP_CLK_ENABLE();
+ 80011ea: 4b14 ldr r3, [pc, #80] @ (800123c )
+ 80011ec: 6a5b ldr r3, [r3, #36] @ 0x24
+ 80011ee: 4a13 ldr r2, [pc, #76] @ (800123c )
+ 80011f0: f043 4300 orr.w r3, r3, #2147483648 @ 0x80000000
+ 80011f4: 6253 str r3, [r2, #36] @ 0x24
+ 80011f6: 4b11 ldr r3, [pc, #68] @ (800123c )
+ 80011f8: 6a5b ldr r3, [r3, #36] @ 0x24
+ 80011fa: f003 4300 and.w r3, r3, #2147483648 @ 0x80000000
+ 80011fe: 60fb str r3, [r7, #12]
+ 8001200: 68fb ldr r3, [r7, #12]
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ 8001202: 4b0e ldr r3, [pc, #56] @ (800123c )
+ 8001204: 6a1b ldr r3, [r3, #32]
+ 8001206: 4a0d ldr r2, [pc, #52] @ (800123c )
+ 8001208: f043 0301 orr.w r3, r3, #1
+ 800120c: 6213 str r3, [r2, #32]
+ 800120e: 4b0b ldr r3, [pc, #44] @ (800123c )
+ 8001210: 6a1b ldr r3, [r3, #32]
+ 8001212: f003 0301 and.w r3, r3, #1
+ 8001216: 60bb str r3, [r7, #8]
+ 8001218: 68bb ldr r3, [r7, #8]
+ __HAL_RCC_PWR_CLK_ENABLE();
+ 800121a: 4b08 ldr r3, [pc, #32] @ (800123c )
+ 800121c: 6a5b ldr r3, [r3, #36] @ 0x24
+ 800121e: 4a07 ldr r2, [pc, #28] @ (800123c )
+ 8001220: f043 5380 orr.w r3, r3, #268435456 @ 0x10000000
+ 8001224: 6253 str r3, [r2, #36] @ 0x24
+ 8001226: 4b05 ldr r3, [pc, #20] @ (800123c )
+ 8001228: 6a5b ldr r3, [r3, #36] @ 0x24
+ 800122a: f003 5380 and.w r3, r3, #268435456 @ 0x10000000
+ 800122e: 607b str r3, [r7, #4]
+ 8001230: 687b ldr r3, [r7, #4]
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+ 8001232: bf00 nop
+ 8001234: 3714 adds r7, #20
+ 8001236: 46bd mov sp, r7
+ 8001238: bc80 pop {r7}
+ 800123a: 4770 bx lr
+ 800123c: 40023800 .word 0x40023800
+
+08001240 :
+ * This function configures the hardware resources used in this example
+ * @param hadc: ADC handle pointer
+ * @retval None
+ */
+void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
+{
+ 8001240: b580 push {r7, lr}
+ 8001242: b08a sub sp, #40 @ 0x28
+ 8001244: af00 add r7, sp, #0
+ 8001246: 6078 str r0, [r7, #4]
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 8001248: f107 0314 add.w r3, r7, #20
+ 800124c: 2200 movs r2, #0
+ 800124e: 601a str r2, [r3, #0]
+ 8001250: 605a str r2, [r3, #4]
+ 8001252: 609a str r2, [r3, #8]
+ 8001254: 60da str r2, [r3, #12]
+ 8001256: 611a str r2, [r3, #16]
+ if(hadc->Instance==ADC1)
+ 8001258: 687b ldr r3, [r7, #4]
+ 800125a: 681b ldr r3, [r3, #0]
+ 800125c: 4a15 ldr r2, [pc, #84] @ (80012b4 )
+ 800125e: 4293 cmp r3, r2
+ 8001260: d123 bne.n 80012aa
+ {
+ /* USER CODE BEGIN ADC1_MspInit 0 */
+
+ /* USER CODE END ADC1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_ADC1_CLK_ENABLE();
+ 8001262: 4b15 ldr r3, [pc, #84] @ (80012b8 )
+ 8001264: 6a1b ldr r3, [r3, #32]
+ 8001266: 4a14 ldr r2, [pc, #80] @ (80012b8 )
+ 8001268: f443 7300 orr.w r3, r3, #512 @ 0x200
+ 800126c: 6213 str r3, [r2, #32]
+ 800126e: 4b12 ldr r3, [pc, #72] @ (80012b8 )
+ 8001270: 6a1b ldr r3, [r3, #32]
+ 8001272: f403 7300 and.w r3, r3, #512 @ 0x200
+ 8001276: 613b str r3, [r7, #16]
+ 8001278: 693b ldr r3, [r7, #16]
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ 800127a: 4b0f ldr r3, [pc, #60] @ (80012b8 )
+ 800127c: 69db ldr r3, [r3, #28]
+ 800127e: 4a0e ldr r2, [pc, #56] @ (80012b8 )
+ 8001280: f043 0301 orr.w r3, r3, #1
+ 8001284: 61d3 str r3, [r2, #28]
+ 8001286: 4b0c ldr r3, [pc, #48] @ (80012b8 )
+ 8001288: 69db ldr r3, [r3, #28]
+ 800128a: f003 0301 and.w r3, r3, #1
+ 800128e: 60fb str r3, [r7, #12]
+ 8001290: 68fb ldr r3, [r7, #12]
+ /**ADC GPIO Configuration
+ PA0-WKUP1 ------> ADC_IN0
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_0;
+ 8001292: 2301 movs r3, #1
+ 8001294: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
+ 8001296: 2303 movs r3, #3
+ 8001298: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 800129a: 2300 movs r3, #0
+ 800129c: 61fb str r3, [r7, #28]
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ 800129e: f107 0314 add.w r3, r7, #20
+ 80012a2: 4619 mov r1, r3
+ 80012a4: 4805 ldr r0, [pc, #20] @ (80012bc )
+ 80012a6: f000 ff1f bl 80020e8
+
+ /* USER CODE END ADC1_MspInit 1 */
+
+ }
+
+}
+ 80012aa: bf00 nop
+ 80012ac: 3728 adds r7, #40 @ 0x28
+ 80012ae: 46bd mov sp, r7
+ 80012b0: bd80 pop {r7, pc}
+ 80012b2: bf00 nop
+ 80012b4: 40012400 .word 0x40012400
+ 80012b8: 40023800 .word 0x40023800
+ 80012bc: 40020000 .word 0x40020000
+
+080012c0 :
+ * This function configures the hardware resources used in this example
+ * @param hspi: SPI handle pointer
+ * @retval None
+ */
+void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
+{
+ 80012c0: b580 push {r7, lr}
+ 80012c2: b08a sub sp, #40 @ 0x28
+ 80012c4: af00 add r7, sp, #0
+ 80012c6: 6078 str r0, [r7, #4]
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 80012c8: f107 0314 add.w r3, r7, #20
+ 80012cc: 2200 movs r2, #0
+ 80012ce: 601a str r2, [r3, #0]
+ 80012d0: 605a str r2, [r3, #4]
+ 80012d2: 609a str r2, [r3, #8]
+ 80012d4: 60da str r2, [r3, #12]
+ 80012d6: 611a str r2, [r3, #16]
+ if(hspi->Instance==SPI1)
+ 80012d8: 687b ldr r3, [r7, #4]
+ 80012da: 681b ldr r3, [r3, #0]
+ 80012dc: 4a17 ldr r2, [pc, #92] @ (800133c )
+ 80012de: 4293 cmp r3, r2
+ 80012e0: d127 bne.n 8001332
+ {
+ /* USER CODE BEGIN SPI1_MspInit 0 */
+
+ /* USER CODE END SPI1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_SPI1_CLK_ENABLE();
+ 80012e2: 4b17 ldr r3, [pc, #92] @ (8001340 )
+ 80012e4: 6a1b ldr r3, [r3, #32]
+ 80012e6: 4a16 ldr r2, [pc, #88] @ (8001340 )
+ 80012e8: f443 5380 orr.w r3, r3, #4096 @ 0x1000
+ 80012ec: 6213 str r3, [r2, #32]
+ 80012ee: 4b14 ldr r3, [pc, #80] @ (8001340 )
+ 80012f0: 6a1b ldr r3, [r3, #32]
+ 80012f2: f403 5380 and.w r3, r3, #4096 @ 0x1000
+ 80012f6: 613b str r3, [r7, #16]
+ 80012f8: 693b ldr r3, [r7, #16]
+
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ 80012fa: 4b11 ldr r3, [pc, #68] @ (8001340 )
+ 80012fc: 69db ldr r3, [r3, #28]
+ 80012fe: 4a10 ldr r2, [pc, #64] @ (8001340 )
+ 8001300: f043 0301 orr.w r3, r3, #1
+ 8001304: 61d3 str r3, [r2, #28]
+ 8001306: 4b0e ldr r3, [pc, #56] @ (8001340 )
+ 8001308: 69db ldr r3, [r3, #28]
+ 800130a: f003 0301 and.w r3, r3, #1
+ 800130e: 60fb str r3, [r7, #12]
+ 8001310: 68fb ldr r3, [r7, #12]
+ /**SPI1 GPIO Configuration
+ PA5 ------> SPI1_SCK
+ PA6 ------> SPI1_MISO
+ PA7 ------> SPI1_MOSI
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6|GPIO_PIN_7;
+ 8001312: 23e0 movs r3, #224 @ 0xe0
+ 8001314: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 8001316: 2302 movs r3, #2
+ 8001318: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 800131a: 2300 movs r3, #0
+ 800131c: 61fb str r3, [r7, #28]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ 800131e: 2303 movs r3, #3
+ 8001320: 623b str r3, [r7, #32]
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ 8001322: 2305 movs r3, #5
+ 8001324: 627b str r3, [r7, #36] @ 0x24
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+ 8001326: f107 0314 add.w r3, r7, #20
+ 800132a: 4619 mov r1, r3
+ 800132c: 4805 ldr r0, [pc, #20] @ (8001344 )
+ 800132e: f000 fedb bl 80020e8
+
+ /* USER CODE END SPI1_MspInit 1 */
+
+ }
+
+}
+ 8001332: bf00 nop
+ 8001334: 3728 adds r7, #40 @ 0x28
+ 8001336: 46bd mov sp, r7
+ 8001338: bd80 pop {r7, pc}
+ 800133a: bf00 nop
+ 800133c: 40013000 .word 0x40013000
+ 8001340: 40023800 .word 0x40023800
+ 8001344: 40020000 .word 0x40020000
+
+08001348 :
+ * This function configures the hardware resources used in this example
+ * @param htim_base: TIM_Base handle pointer
+ * @retval None
+ */
+void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
+{
+ 8001348: b580 push {r7, lr}
+ 800134a: b084 sub sp, #16
+ 800134c: af00 add r7, sp, #0
+ 800134e: 6078 str r0, [r7, #4]
+ if(htim_base->Instance==TIM3)
+ 8001350: 687b ldr r3, [r7, #4]
+ 8001352: 681b ldr r3, [r3, #0]
+ 8001354: 4a16 ldr r2, [pc, #88] @ (80013b0 )
+ 8001356: 4293 cmp r3, r2
+ 8001358: d10c bne.n 8001374
+ {
+ /* USER CODE BEGIN TIM3_MspInit 0 */
+
+ /* USER CODE END TIM3_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_TIM3_CLK_ENABLE();
+ 800135a: 4b16 ldr r3, [pc, #88] @ (80013b4 )
+ 800135c: 6a5b ldr r3, [r3, #36] @ 0x24
+ 800135e: 4a15 ldr r2, [pc, #84] @ (80013b4 )
+ 8001360: f043 0302 orr.w r3, r3, #2
+ 8001364: 6253 str r3, [r2, #36] @ 0x24
+ 8001366: 4b13 ldr r3, [pc, #76] @ (80013b4 )
+ 8001368: 6a5b ldr r3, [r3, #36] @ 0x24
+ 800136a: f003 0302 and.w r3, r3, #2
+ 800136e: 60fb str r3, [r7, #12]
+ 8001370: 68fb ldr r3, [r7, #12]
+ /* USER CODE BEGIN TIM6_MspInit 1 */
+
+ /* USER CODE END TIM6_MspInit 1 */
+ }
+
+}
+ 8001372: e018 b.n 80013a6
+ else if(htim_base->Instance==TIM6)
+ 8001374: 687b ldr r3, [r7, #4]
+ 8001376: 681b ldr r3, [r3, #0]
+ 8001378: 4a0f ldr r2, [pc, #60] @ (80013b8 )
+ 800137a: 4293 cmp r3, r2
+ 800137c: d113 bne.n 80013a6
+ __HAL_RCC_TIM6_CLK_ENABLE();
+ 800137e: 4b0d ldr r3, [pc, #52] @ (80013b4 )
+ 8001380: 6a5b ldr r3, [r3, #36] @ 0x24
+ 8001382: 4a0c ldr r2, [pc, #48] @ (80013b4 )
+ 8001384: f043 0310 orr.w r3, r3, #16
+ 8001388: 6253 str r3, [r2, #36] @ 0x24
+ 800138a: 4b0a ldr r3, [pc, #40] @ (80013b4 )
+ 800138c: 6a5b ldr r3, [r3, #36] @ 0x24
+ 800138e: f003 0310 and.w r3, r3, #16
+ 8001392: 60bb str r3, [r7, #8]
+ 8001394: 68bb ldr r3, [r7, #8]
+ HAL_NVIC_SetPriority(TIM6_IRQn, 0, 0);
+ 8001396: 2200 movs r2, #0
+ 8001398: 2100 movs r1, #0
+ 800139a: 202b movs r0, #43 @ 0x2b
+ 800139c: f000 fe6d bl 800207a
+ HAL_NVIC_EnableIRQ(TIM6_IRQn);
+ 80013a0: 202b movs r0, #43 @ 0x2b
+ 80013a2: f000 fe86 bl 80020b2
+}
+ 80013a6: bf00 nop
+ 80013a8: 3710 adds r7, #16
+ 80013aa: 46bd mov sp, r7
+ 80013ac: bd80 pop {r7, pc}
+ 80013ae: bf00 nop
+ 80013b0: 40000400 .word 0x40000400
+ 80013b4: 40023800 .word 0x40023800
+ 80013b8: 40001000 .word 0x40001000
+
+080013bc :
+
+void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
+{
+ 80013bc: b580 push {r7, lr}
+ 80013be: b088 sub sp, #32
+ 80013c0: af00 add r7, sp, #0
+ 80013c2: 6078 str r0, [r7, #4]
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ 80013c4: f107 030c add.w r3, r7, #12
+ 80013c8: 2200 movs r2, #0
+ 80013ca: 601a str r2, [r3, #0]
+ 80013cc: 605a str r2, [r3, #4]
+ 80013ce: 609a str r2, [r3, #8]
+ 80013d0: 60da str r2, [r3, #12]
+ 80013d2: 611a str r2, [r3, #16]
+ if(htim->Instance==TIM3)
+ 80013d4: 687b ldr r3, [r7, #4]
+ 80013d6: 681b ldr r3, [r3, #0]
+ 80013d8: 4a11 ldr r2, [pc, #68] @ (8001420 )
+ 80013da: 4293 cmp r3, r2
+ 80013dc: d11b bne.n 8001416
+ {
+ /* USER CODE BEGIN TIM3_MspPostInit 0 */
+
+ /* USER CODE END TIM3_MspPostInit 0 */
+
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ 80013de: 4b11 ldr r3, [pc, #68] @ (8001424 )
+ 80013e0: 69db ldr r3, [r3, #28]
+ 80013e2: 4a10 ldr r2, [pc, #64] @ (8001424 )
+ 80013e4: f043 0302 orr.w r3, r3, #2
+ 80013e8: 61d3 str r3, [r2, #28]
+ 80013ea: 4b0e ldr r3, [pc, #56] @ (8001424 )
+ 80013ec: 69db ldr r3, [r3, #28]
+ 80013ee: f003 0302 and.w r3, r3, #2
+ 80013f2: 60bb str r3, [r7, #8]
+ 80013f4: 68bb ldr r3, [r7, #8]
+ /**TIM3 GPIO Configuration
+ PB1 ------> TIM3_CH4
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_1;
+ 80013f6: 2302 movs r3, #2
+ 80013f8: 60fb str r3, [r7, #12]
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ 80013fa: 2302 movs r3, #2
+ 80013fc: 613b str r3, [r7, #16]
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ 80013fe: 2300 movs r3, #0
+ 8001400: 617b str r3, [r7, #20]
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ 8001402: 2300 movs r3, #0
+ 8001404: 61bb str r3, [r7, #24]
+ GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
+ 8001406: 2302 movs r3, #2
+ 8001408: 61fb str r3, [r7, #28]
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+ 800140a: f107 030c add.w r3, r7, #12
+ 800140e: 4619 mov r1, r3
+ 8001410: 4805 ldr r0, [pc, #20] @ (8001428 )
+ 8001412: f000 fe69 bl 80020e8
+ /* USER CODE BEGIN TIM3_MspPostInit 1 */
+
+ /* USER CODE END TIM3_MspPostInit 1 */
+ }
+
+}
+ 8001416: bf00 nop
+ 8001418: 3720 adds r7, #32
+ 800141a: 46bd mov sp, r7
+ 800141c: bd80 pop {r7, pc}
+ 800141e: bf00 nop
+ 8001420: 40000400 .word 0x40000400
+ 8001424: 40023800 .word 0x40023800
+ 8001428: 40020400 .word 0x40020400
+
+0800142c :
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ 800142c: b480 push {r7}
+ 800142e: af00 add r7, sp, #0
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+ while (1)
+ 8001430: bf00 nop
+ 8001432: e7fd b.n 8001430
+
+08001434 :
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ 8001434: b480 push {r7}
+ 8001436: af00 add r7, sp, #0
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ 8001438: bf00 nop
+ 800143a: e7fd b.n 8001438
+
+0800143c :
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ 800143c: b480 push {r7}
+ 800143e: af00 add r7, sp, #0
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ 8001440: bf00 nop
+ 8001442: e7fd b.n 8001440
+
+08001444 :
+
+/**
+ * @brief This function handles Pre-fetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ 8001444: b480 push {r7}
+ 8001446: af00 add r7, sp, #0
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ 8001448: bf00 nop
+ 800144a: e7fd b.n 8001448
+
+0800144c :
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ 800144c: b480 push {r7}
+ 800144e: af00 add r7, sp, #0
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ 8001450: bf00 nop
+ 8001452: e7fd b.n 8001450
+
+08001454 :
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ 8001454: b480 push {r7}
+ 8001456: af00 add r7, sp, #0
+
+ /* USER CODE END SVC_IRQn 0 */
+ /* USER CODE BEGIN SVC_IRQn 1 */
+
+ /* USER CODE END SVC_IRQn 1 */
+}
+ 8001458: bf00 nop
+ 800145a: 46bd mov sp, r7
+ 800145c: bc80 pop {r7}
+ 800145e: 4770 bx lr
+
+08001460 :
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ 8001460: b480 push {r7}
+ 8001462: af00 add r7, sp, #0
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+ 8001464: bf00 nop
+ 8001466: 46bd mov sp, r7
+ 8001468: bc80 pop {r7}
+ 800146a: 4770 bx lr
+
+0800146c :
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+void PendSV_Handler(void)
+{
+ 800146c: b480 push {r7}
+ 800146e: af00 add r7, sp, #0
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+ 8001470: bf00 nop
+ 8001472: 46bd mov sp, r7
+ 8001474: bc80 pop {r7}
+ 8001476: 4770 bx lr
+
+08001478 :
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ 8001478: b580 push {r7, lr}
+ 800147a: af00 add r7, sp, #0
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ 800147c: f000 f892 bl 80015a4
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+ 8001480: bf00 nop
+ 8001482: bd80 pop {r7, pc}
+
+08001484 :
+
+/**
+ * @brief This function handles EXTI line[9:5] interrupts.
+ */
+void EXTI9_5_IRQHandler(void)
+{
+ 8001484: b580 push {r7, lr}
+ 8001486: af00 add r7, sp, #0
+ /* USER CODE BEGIN EXTI9_5_IRQn 0 */
+
+ /* USER CODE END EXTI9_5_IRQn 0 */
+ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_9);
+ 8001488: f44f 7000 mov.w r0, #512 @ 0x200
+ 800148c: f000 ffd4 bl 8002438
+ /* USER CODE BEGIN EXTI9_5_IRQn 1 */
+
+ /* USER CODE END EXTI9_5_IRQn 1 */
+}
+ 8001490: bf00 nop
+ 8001492: bd80 pop {r7, pc}
+
+08001494 :
+
+/**
+ * @brief This function handles TIM6 global interrupt.
+ */
+void TIM6_IRQHandler(void)
+{
+ 8001494: b580 push {r7, lr}
+ 8001496: af00 add r7, sp, #0
+ /* USER CODE BEGIN TIM6_IRQn 0 */
+
+ /* USER CODE END TIM6_IRQn 0 */
+ HAL_TIM_IRQHandler(&htim6);
+ 8001498: 4802 ldr r0, [pc, #8] @ (80014a4 )
+ 800149a: f001 ff69 bl 8003370
+ /* USER CODE BEGIN TIM6_IRQn 1 */
+
+ /* USER CODE END TIM6_IRQn 1 */
+}
+ 800149e: bf00 nop
+ 80014a0: bd80 pop {r7, pc}
+ 80014a2: bf00 nop
+ 80014a4: 20000114 .word 0x20000114
+
+080014a8 :
+ * SystemCoreClock variable.
+ * @param None
+ * @retval None
+ */
+void SystemInit (void)
+{
+ 80014a8: b480 push {r7}
+ 80014aa: af00 add r7, sp, #0
+
+ /* Configure the Vector Table location -------------------------------------*/
+#if defined(USER_VECT_TAB_ADDRESS)
+ SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
+#endif /* USER_VECT_TAB_ADDRESS */
+}
+ 80014ac: bf00 nop
+ 80014ae: 46bd mov sp, r7
+ 80014b0: bc80 pop {r7}
+ 80014b2: 4770 bx lr
+
+080014b4