ARM GAS /tmp/ccuycrlg.s page 1 1 .cpu cortex-m4 2 .eabi_attribute 27, 1 3 .eabi_attribute 28, 1 4 .eabi_attribute 23, 1 5 .eabi_attribute 24, 1 6 .eabi_attribute 25, 1 7 .eabi_attribute 26, 1 8 .eabi_attribute 30, 2 9 .eabi_attribute 34, 1 10 .eabi_attribute 18, 4 11 .file "stm32g4xx_hal_dac_ex.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.HAL_DACEx_DualStart,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .global HAL_DACEx_DualStart 19 .syntax unified 20 .thumb 21 .thumb_func 22 .fpu fpv4-sp-d16 24 HAL_DACEx_DualStart: 25 .LFB329: 26 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c" 1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ****************************************************************************** 3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @file stm32g4xx_hal_dac_ex.c 4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @author MCD Application Team 5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Extended DAC HAL module driver. 6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This file provides firmware functions to manage the extended 7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * functionalities of the DAC peripheral. 8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** @verbatim 11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================================================================== 12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ##### How to use this driver ##### 13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================================================================== 14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** [..] 15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** *** Dual mode IO operation *** 17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================== 18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** [..] 19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_DualStart() to enable both channel and start conversion 20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** for dual mode operation. 21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** If software trigger is selected, using HAL_DACEx_DualStart() will start 22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** the conversion of the value previously set by HAL_DACEx_DualSetValue(). 23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_DualStop() to disable both channel and stop conversion 24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** for dual mode operation. 25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_DualStart_DMA() to enable both channel and start conversion 26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** for dual mode operation using DMA to feed DAC converters. 27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** First issued trigger will start the conversion of the value previously 28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** set by HAL_DACEx_DualSetValue(). 29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** The same callbacks that are used in single mode are called in dual mode to notify 30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** transfer completion (half complete or complete), errors or underrun. 31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_DualStop_DMA() to disable both channel and stop conversion 32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** for dual mode operation using DMA to feed DAC converters. ARM GAS /tmp/ccuycrlg.s page 2 33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) When Dual mode is enabled (i.e. DAC Channel1 and Channel2 are used simultaneously) : 34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** Use HAL_DACEx_DualGetValue() to get digital data to be converted and use 35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_DACEx_DualSetValue() to set digital value to converted simultaneously in 36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** Channel 1 and Channel 2. 37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** *** Signal generation operation *** 39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** =================================== 40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** [..] 41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_TriangleWaveGenerate() to generate Triangle signal. 42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_NoiseWaveGenerate() to generate Noise signal. 43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_SawtoothWaveGenerate() to generate sawtooth signal. 45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_SawtoothWaveDataReset() to reset sawtooth wave. 46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Use HAL_DACEx_SawtoothWaveDataStep() to step sawtooth wave. 47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) HAL_DACEx_SelfCalibrate to calibrate one DAC channel. 49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) HAL_DACEx_SetUserTrimming to set user trimming value. 50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) HAL_DACEx_GetTrimOffset to retrieve trimming value (factory setting 51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** after reset, user setting if HAL_DACEx_SetUserTrimming have been used 52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** at least one time after reset). 53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** @endverbatim 55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ****************************************************************************** 56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @attention 57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** *

© Copyright (c) 2019 STMicroelectronics. 59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * All rights reserved.

60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This software component is licensed by ST under BSD 3-Clause license, 62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the "License"; You may not use this file except in compliance with the 63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * License. You may obtain a copy of the License at: 64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * opensource.org/licenses/BSD-3-Clause 65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ****************************************************************************** 67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Includes ------------------------------------------------------------------*/ 71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #include "stm32g4xx_hal.h" 72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** @addtogroup STM32G4xx_HAL_Driver 74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @{ 75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #ifdef HAL_DAC_MODULE_ENABLED 78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #if defined(DAC1) || defined(DAC2) || defined(DAC3) ||defined (DAC4) 80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** @defgroup DACEx DACEx 82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief DAC Extended HAL module driver 83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @{ 84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Private typedef -----------------------------------------------------------*/ 87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Private define ------------------------------------------------------------*/ 88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Private macro -------------------------------------------------------------*/ 89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Private variables ---------------------------------------------------------*/ ARM GAS /tmp/ccuycrlg.s page 3 90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Private function prototypes -----------------------------------------------*/ 91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Exported functions --------------------------------------------------------*/ 92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** @defgroup DACEx_Exported_Functions DACEx Exported Functions 94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @{ 95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** @defgroup DACEx_Exported_Functions_Group2 IO operation functions 98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Extended IO operation functions 99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** @verbatim 101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================================================================== 102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ##### Extended features functions ##### 103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================================================================== 104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** [..] This section provides functions allowing to: 105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Start conversion. 106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Stop conversion. 107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Start conversion and enable DMA transfer. 108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Stop conversion and disable DMA transfer. 109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Get result of conversion. 110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Get result of dual mode conversion. 111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** @endverbatim 113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @{ 114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Enables DAC and starts conversion of both channels. 119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_DualStart(DAC_HandleTypeDef *hdac) 124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 27 .loc 1 124 0 28 .cfi_startproc 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 .LVL0: 32 0000 38B5 push {r3, r4, r5, lr} 33 .LCFI0: 34 .cfi_def_cfa_offset 16 35 .cfi_offset 3, -16 36 .cfi_offset 4, -12 37 .cfi_offset 5, -8 38 .cfi_offset 14, -4 125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t tmp_swtrig = 0UL; 126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, DAC_CHANNEL_2)); 129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 39 .loc 1 131 0 40 0002 4379 ldrb r3, [r0, #5] @ zero_extendqisi2 41 0004 012B cmp r3, #1 ARM GAS /tmp/ccuycrlg.s page 4 42 0006 29D0 beq .L4 132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the Peripheral */ 137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_1); 43 .loc 1 137 0 discriminator 2 44 0008 0368 ldr r3, [r0] 134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 45 .loc 1 134 0 discriminator 2 46 000a 0222 movs r2, #2 47 000c 0271 strb r2, [r0, #4] 48 .loc 1 137 0 discriminator 2 49 000e 1A68 ldr r2, [r3] 50 0010 0446 mov r4, r0 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 51 .loc 1 131 0 discriminator 2 52 0012 0120 movs r0, #1 53 .LVL1: 54 .loc 1 137 0 discriminator 2 55 0014 0243 orrs r2, r2, r0 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 56 .loc 1 131 0 discriminator 2 57 0016 6071 strb r0, [r4, #5] 58 .loc 1 137 0 discriminator 2 59 0018 1A60 str r2, [r3] 138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_2); 60 .loc 1 138 0 discriminator 2 61 001a 1A68 ldr r2, [r3] 62 001c 42F48032 orr r2, r2, #65536 63 0020 1A60 str r2, [r3] 139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure minimum wait before using peripheral after enabling it */ 140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1); 64 .loc 1 140 0 discriminator 2 65 0022 FFF7FEFF bl HAL_Delay 66 .LVL2: 141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check if software trigger enabled */ 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if ((hdac->Instance->CR & (DAC_CR_TEN1 | DAC_CR_TSEL1)) == DAC_TRIGGER_SOFTWARE) 67 .loc 1 143 0 discriminator 2 68 0026 2268 ldr r2, [r4] 69 0028 1368 ldr r3, [r2] 144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp_swtrig |= DAC_SWTRIGR_SWTRIG1; 146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if ((hdac->Instance->CR & (DAC_CR_TEN2 | DAC_CR_TSEL2)) == (DAC_TRIGGER_SOFTWARE << (DAC_CHANNEL_ 70 .loc 1 147 0 discriminator 2 71 002a 1168 ldr r1, [r2] 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 72 .loc 1 143 0 discriminator 2 73 002c 03F03E03 and r3, r3, #62 74 0030 A3F10203 sub r3, #2 75 .loc 1 147 0 discriminator 2 76 0034 01F47811 and r1, r1, #4063232 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 77 .loc 1 143 0 discriminator 2 ARM GAS /tmp/ccuycrlg.s page 5 78 0038 B3FA83F3 clz r3, r3 79 .loc 1 147 0 discriminator 2 80 003c B1F5003F cmp r1, #131072 143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 81 .loc 1 143 0 discriminator 2 82 0040 4FEA5313 lsr r3, r3, #5 83 .LVL3: 148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp_swtrig |= DAC_SWTRIGR_SWTRIG2; 150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC software conversion*/ 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->SWTRIGR, tmp_swtrig); 84 .loc 1 152 0 discriminator 2 85 0044 5168 ldr r1, [r2, #4] 149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 86 .loc 1 149 0 discriminator 2 87 0046 08BF it eq 88 0048 43F00203 orreq r3, r3, #2 89 .LVL4: 90 .loc 1 152 0 discriminator 2 91 004c 0B43 orrs r3, r3, r1 92 .LVL5: 153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 93 .loc 1 155 0 discriminator 2 94 004e 0125 movs r5, #1 156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 95 .loc 1 158 0 discriminator 2 96 0050 0021 movs r1, #0 152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 97 .loc 1 152 0 discriminator 2 98 0052 5360 str r3, [r2, #4] 159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return HAL_OK; 99 .loc 1 161 0 discriminator 2 100 0054 0846 mov r0, r1 155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 101 .loc 1 155 0 discriminator 2 102 0056 2571 strb r5, [r4, #4] 158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 103 .loc 1 158 0 discriminator 2 104 0058 6171 strb r1, [r4, #5] 162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 105 .loc 1 162 0 discriminator 2 106 005a 38BD pop {r3, r4, r5, pc} 107 .LVL6: 108 .L4: 131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 109 .loc 1 131 0 110 005c 0220 movs r0, #2 111 .LVL7: 112 .loc 1 162 0 113 005e 38BD pop {r3, r4, r5, pc} ARM GAS /tmp/ccuycrlg.s page 6 114 .cfi_endproc 115 .LFE329: 117 .section .text.HAL_DACEx_DualStop,"ax",%progbits 118 .align 1 119 .p2align 2,,3 120 .global HAL_DACEx_DualStop 121 .syntax unified 122 .thumb 123 .thumb_func 124 .fpu fpv4-sp-d16 126 HAL_DACEx_DualStop: 127 .LFB330: 163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Disables DAC and stop conversion of both channels. 166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_DualStop(DAC_HandleTypeDef *hdac) 171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 128 .loc 1 171 0 129 .cfi_startproc 130 @ args = 0, pretend = 0, frame = 0 131 @ frame_needed = 0, uses_anonymous_args = 0 132 .LVL8: 133 0000 10B5 push {r4, lr} 134 .LCFI1: 135 .cfi_def_cfa_offset 8 136 .cfi_offset 4, -8 137 .cfi_offset 14, -4 138 .loc 1 171 0 139 0002 0446 mov r4, r0 172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, DAC_CHANNEL_2)); 174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the Peripheral */ 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_1); 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_2); 178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure minimum wait before enabling peripheral after disabling it */ 179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1); 140 .loc 1 179 0 141 0004 0120 movs r0, #1 142 .LVL9: 176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_2); 143 .loc 1 176 0 144 0006 2368 ldr r3, [r4] 145 0008 1A68 ldr r2, [r3] 146 000a 22F00102 bic r2, r2, #1 147 000e 1A60 str r2, [r3] 177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure minimum wait before enabling peripheral after disabling it */ 148 .loc 1 177 0 149 0010 1A68 ldr r2, [r3] 150 0012 22F48032 bic r2, r2, #65536 151 0016 1A60 str r2, [r3] 152 .loc 1 179 0 153 0018 FFF7FEFF bl HAL_Delay ARM GAS /tmp/ccuycrlg.s page 7 154 .LVL10: 180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 155 .loc 1 182 0 156 001c 0123 movs r3, #1 157 001e 2371 strb r3, [r4, #4] 183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return HAL_OK; 186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 158 .loc 1 186 0 159 0020 0020 movs r0, #0 160 0022 10BD pop {r4, pc} 161 .cfi_endproc 162 .LFE330: 164 .section .text.HAL_DACEx_DualStart_DMA,"ax",%progbits 165 .align 1 166 .p2align 2,,3 167 .global HAL_DACEx_DualStart_DMA 168 .syntax unified 169 .thumb 170 .thumb_func 171 .fpu fpv4-sp-d16 173 HAL_DACEx_DualStart_DMA: 174 .LFB331: 187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Enables DAC and starts conversion of both channel 1 and 2 of the same DAC. 190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The DAC channel that will request data from DMA. 193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected 196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param pData The destination peripheral Buffer address. 197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Length The length of data to be transferred from memory to DAC peripheral 198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Alignment Specifies the data alignment for DAC channel. 199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected 201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected 202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected 203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_DualStart_DMA(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t *pDat 206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t Alignment) 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 175 .loc 1 207 0 176 .cfi_startproc 177 @ args = 4, pretend = 0, frame = 0 178 @ frame_needed = 0, uses_anonymous_args = 0 179 .LVL11: 180 0000 F8B5 push {r3, r4, r5, r6, r7, lr} 181 .LCFI2: 182 .cfi_def_cfa_offset 24 183 .cfi_offset 3, -24 184 .cfi_offset 4, -20 ARM GAS /tmp/ccuycrlg.s page 8 185 .cfi_offset 5, -16 186 .cfi_offset 6, -12 187 .cfi_offset 7, -8 188 .cfi_offset 14, -4 208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status; 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t tmpreg = 0UL; 210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure Channel 2 exists for this particular DAC instance */ 214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, DAC_CHANNEL_2)); 215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_ALIGN(Alignment)); 216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 189 .loc 1 218 0 190 0002 4479 ldrb r4, [r0, #5] @ zero_extendqisi2 207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status; 191 .loc 1 207 0 192 0004 069F ldr r7, [sp, #24] 193 .loc 1 218 0 194 0006 012C cmp r4, #1 195 0008 69D0 beq .L20 196 000a 0446 mov r4, r0 197 000c 0E46 mov r6, r1 198 000e 2568 ldr r5, [r4] 199 0010 1146 mov r1, r2 200 .LVL12: 219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 201 .loc 1 221 0 discriminator 2 202 0012 0222 movs r2, #2 203 .LVL13: 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 204 .loc 1 218 0 discriminator 2 205 0014 0120 movs r0, #1 206 .LVL14: 207 .loc 1 221 0 discriminator 2 208 0016 2271 strb r2, [r4, #4] 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 209 .loc 1 218 0 discriminator 2 210 0018 6071 strb r0, [r4, #5] 222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the DMA transfer complete callback for channel1 */ 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->DMA_Handle1->XferCpltCallback = DAC_DMAConvCpltCh1; 227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the DMA half transfer complete callback for channel1 */ 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->DMA_Handle1->XferHalfCpltCallback = DAC_DMAHalfConvCpltCh1; 230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the DMA error callback for channel1 */ 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->DMA_Handle1->XferErrorCallback = DAC_DMAErrorCh1; 233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC channel1 DMA request */ 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->CR, DAC_CR_DMAEN1); ARM GAS /tmp/ccuycrlg.s page 9 211 .loc 1 235 0 discriminator 2 212 001a 2A68 ldr r2, [r5] 223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 213 .loc 1 223 0 discriminator 2 214 001c 26B3 cbz r6, .L47 236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the DMA transfer complete callback for channel2 */ 240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->DMA_Handle2->XferCpltCallback = DAC_DMAConvCpltCh2; 215 .loc 1 240 0 216 001e E068 ldr r0, [r4, #12] 217 0020 DFF8C0C0 ldr ip, .L50 218 0024 C0F82CC0 str ip, [r0, #44] 241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the DMA half transfer complete callback for channel2 */ 243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->DMA_Handle2->XferHalfCpltCallback = DAC_DMAHalfConvCpltCh2; 219 .loc 1 243 0 220 0028 DFF8BCE0 ldr lr, .L50+4 244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the DMA error callback for channel2 */ 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->DMA_Handle2->XferErrorCallback = DAC_DMAErrorCh2; 221 .loc 1 246 0 222 002c DFF8BCC0 ldr ip, .L50+8 247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC channel2 DMA request */ 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->CR, DAC_CR_DMAEN2); 223 .loc 1 249 0 224 0030 42F08052 orr r2, r2, #268435456 250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** switch (Alignment) 225 .loc 1 252 0 226 0034 042F cmp r7, #4 246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 227 .loc 1 246 0 228 0036 C0E90CEC strd lr, ip, [r0, #48] 249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 229 .loc 1 249 0 230 003a 2A60 str r2, [r5] 231 .loc 1 252 0 232 003c 46D0 beq .L13 233 003e 082F cmp r7, #8 234 0040 27D0 beq .L14 235 0042 002F cmp r7, #0 236 0044 48D0 beq .L15 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 237 .loc 1 209 0 238 0046 0022 movs r2, #0 239 .LVL15: 240 .L17: 253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** case DAC_ALIGN_12B_R: 255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Get DHR12R1 address */ 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmpreg = (uint32_t)&hdac->Instance->DHR12RD; 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; 258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** case DAC_ALIGN_12B_L: ARM GAS /tmp/ccuycrlg.s page 10 259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Get DHR12L1 address */ 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmpreg = (uint32_t)&hdac->Instance->DHR12LD; 261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; 262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** case DAC_ALIGN_8B_R: 263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Get DHR8R1 address */ 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmpreg = (uint32_t)&hdac->Instance->DHR8RD; 265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; 266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** default: 267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; 268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the DMA channel */ 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the DAC DMA underrun interrupt */ 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE_IT(hdac, DAC_IT_DMAUDR1); 275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the DMA channel */ 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_DMA_Start_IT(hdac->DMA_Handle1, (uint32_t)pData, tmpreg, Length); 278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the DAC DMA underrun interrupt */ 282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE_IT(hdac, DAC_IT_DMAUDR2); 241 .loc 1 282 0 242 0048 2E68 ldr r6, [r5] 243 .LVL16: 244 004a 46F00056 orr r6, r6, #536870912 245 004e 2E60 str r6, [r5] 246 .LVL17: 283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the DMA channel */ 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_DMA_Start_IT(hdac->DMA_Handle2, (uint32_t)pData, tmpreg, Length); 247 .loc 1 285 0 248 0050 FFF7FEFF bl HAL_DMA_Start_IT 249 .LVL18: 286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process Unlocked */ 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 250 .loc 1 289 0 251 0054 0023 movs r3, #0 285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 252 .loc 1 285 0 253 0056 0546 mov r5, r0 254 .LVL19: 255 .loc 1 289 0 256 0058 6371 strb r3, [r4, #5] 290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (status == HAL_OK) 257 .loc 1 291 0 258 005a 4DB3 cbz r5, .L48 259 .L19: 292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the Peripheral */ 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_1); 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_2); ARM GAS /tmp/ccuycrlg.s page 11 296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure minimum wait before using peripheral after enabling it */ 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1); 298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->ErrorCode |= HAL_DAC_ERROR_DMA; 260 .loc 1 301 0 261 005c 2369 ldr r3, [r4, #16] 262 005e 43F00403 orr r3, r3, #4 263 0062 2361 str r3, [r4, #16] 302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return status; 306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 264 .loc 1 306 0 265 0064 2846 mov r0, r5 266 0066 F8BD pop {r3, r4, r5, r6, r7, pc} 267 .LVL20: 268 .L47: 226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 269 .loc 1 226 0 270 0068 A068 ldr r0, [r4, #8] 271 006a DFF884C0 ldr ip, .L50+12 272 006e C0F82CC0 str ip, [r0, #44] 229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 273 .loc 1 229 0 274 0072 DFF880E0 ldr lr, .L50+16 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 275 .loc 1 232 0 276 0076 DFF880C0 ldr ip, .L50+20 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 277 .loc 1 235 0 278 007a 42F48052 orr r2, r2, #4096 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 279 .loc 1 252 0 280 007e 042F cmp r7, #4 232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 281 .loc 1 232 0 282 0080 C0E90CEC strd lr, ip, [r0, #48] 235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 283 .loc 1 235 0 284 0084 2A60 str r2, [r5] 252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 285 .loc 1 252 0 286 0086 21D0 beq .L13 287 0088 082F cmp r7, #8 288 008a 02D0 beq .L14 289 008c 27B3 cbz r7, .L15 209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 290 .loc 1 209 0 291 008e 3246 mov r2, r6 292 0090 03E0 b .L12 293 .L14: 264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; 294 .loc 1 264 0 295 0092 05F12802 add r2, r5, #40 ARM GAS /tmp/ccuycrlg.s page 12 296 .LVL21: 297 .L16: 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 298 .loc 1 271 0 299 0096 EEB9 cbnz r6, .L45 300 .L49: 301 0098 A068 ldr r0, [r4, #8] 302 .LVL22: 303 .L12: 274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 304 .loc 1 274 0 305 009a 2E68 ldr r6, [r5] 306 .LVL23: 307 009c 46F40056 orr r6, r6, #8192 308 00a0 2E60 str r6, [r5] 309 .LVL24: 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 310 .loc 1 277 0 311 00a2 FFF7FEFF bl HAL_DMA_Start_IT 312 .LVL25: 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 313 .loc 1 289 0 314 00a6 0023 movs r3, #0 277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 315 .loc 1 277 0 316 00a8 0546 mov r5, r0 317 .LVL26: 289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 318 .loc 1 289 0 319 00aa 6371 strb r3, [r4, #5] 291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 320 .loc 1 291 0 321 00ac 002D cmp r5, #0 322 00ae D5D1 bne .L19 323 .L48: 294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_ENABLE(hdac, DAC_CHANNEL_2); 324 .loc 1 294 0 325 00b0 2368 ldr r3, [r4] 326 00b2 1A68 ldr r2, [r3] 327 00b4 42F00102 orr r2, r2, #1 328 00b8 1A60 str r2, [r3] 295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure minimum wait before using peripheral after enabling it */ 329 .loc 1 295 0 330 00ba 1A68 ldr r2, [r3] 331 00bc 42F48032 orr r2, r2, #65536 332 00c0 1A60 str r2, [r3] 297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 333 .loc 1 297 0 334 00c2 0120 movs r0, #1 335 00c4 FFF7FEFF bl HAL_Delay 336 .LVL27: 337 .loc 1 306 0 338 00c8 2846 mov r0, r5 339 00ca F8BD pop {r3, r4, r5, r6, r7, pc} 340 .LVL28: 341 .L13: 260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; ARM GAS /tmp/ccuycrlg.s page 13 342 .loc 1 260 0 343 00cc 05F12402 add r2, r5, #36 344 .LVL29: 271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 345 .loc 1 271 0 346 00d0 002E cmp r6, #0 347 00d2 E1D0 beq .L49 348 .L45: 349 00d4 E068 ldr r0, [r4, #12] 350 00d6 B7E7 b .L17 351 .LVL30: 352 .L15: 256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** break; 353 .loc 1 256 0 354 00d8 05F12002 add r2, r5, #32 355 .LVL31: 257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** case DAC_ALIGN_12B_L: 356 .loc 1 257 0 357 00dc DBE7 b .L16 358 .LVL32: 359 .L20: 218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 360 .loc 1 218 0 361 00de 0225 movs r5, #2 362 .loc 1 306 0 363 00e0 2846 mov r0, r5 364 .LVL33: 365 00e2 F8BD pop {r3, r4, r5, r6, r7, pc} 366 .LVL34: 367 .L51: 368 .align 2 369 .L50: 370 00e4 00000000 .word DAC_DMAConvCpltCh2 371 00e8 00000000 .word DAC_DMAHalfConvCpltCh2 372 00ec 00000000 .word DAC_DMAErrorCh2 373 00f0 00000000 .word DAC_DMAConvCpltCh1 374 00f4 00000000 .word DAC_DMAHalfConvCpltCh1 375 00f8 00000000 .word DAC_DMAErrorCh1 376 .cfi_endproc 377 .LFE331: 379 .section .text.HAL_DACEx_DualStop_DMA,"ax",%progbits 380 .align 1 381 .p2align 2,,3 382 .global HAL_DACEx_DualStop_DMA 383 .syntax unified 384 .thumb 385 .thumb_func 386 .fpu fpv4-sp-d16 388 HAL_DACEx_DualStop_DMA: 389 .LFB332: 307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Disables DAC and stop conversion both channel. 310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The DAC channel that requests data from DMA. 313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: ARM GAS /tmp/ccuycrlg.s page 14 314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected 316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_DualStop_DMA(DAC_HandleTypeDef *hdac, uint32_t Channel) 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 390 .loc 1 319 0 391 .cfi_startproc 392 @ args = 0, pretend = 0, frame = 0 393 @ frame_needed = 0, uses_anonymous_args = 0 394 .LVL35: 395 0000 38B5 push {r3, r4, r5, lr} 396 .LCFI3: 397 .cfi_def_cfa_offset 16 398 .cfi_offset 3, -16 399 .cfi_offset 4, -12 400 .cfi_offset 5, -8 401 .cfi_offset 14, -4 320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status; 321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure Channel 2 exists for this particular DAC instance */ 323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, DAC_CHANNEL_2)); 324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the selected DAC channel DMA request */ 326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** CLEAR_BIT(hdac->Instance->CR, DAC_CR_DMAEN2 | DAC_CR_DMAEN1); 402 .loc 1 326 0 403 0002 0368 ldr r3, [r0] 404 0004 1A68 ldr r2, [r3] 405 0006 22F01022 bic r2, r2, #268439552 406 000a 1A60 str r2, [r3] 327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the Peripheral */ 329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_1); 407 .loc 1 329 0 408 000c 1A68 ldr r2, [r3] 409 000e 22F00102 bic r2, r2, #1 410 0012 1A60 str r2, [r3] 330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE(hdac, DAC_CHANNEL_2); 411 .loc 1 330 0 412 0014 1A68 ldr r2, [r3] 413 0016 22F48032 bic r2, r2, #65536 319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status; 414 .loc 1 319 0 415 001a 0446 mov r4, r0 416 001c 0D46 mov r5, r1 417 .loc 1 330 0 418 001e 1A60 str r2, [r3] 331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Ensure minimum wait before enabling peripheral after disabling it */ 332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1); 419 .loc 1 332 0 420 0020 0120 movs r0, #1 421 .LVL36: 422 0022 FFF7FEFF bl HAL_Delay 423 .LVL37: 333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the DMA channel */ 335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ARM GAS /tmp/ccuycrlg.s page 15 336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Channel1 is used */ 337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 424 .loc 1 337 0 425 0026 5DB9 cbnz r5, .L53 338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the DMA channel */ 340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_DMA_Abort(hdac->DMA_Handle1); 426 .loc 1 340 0 427 0028 A068 ldr r0, [r4, #8] 428 002a FFF7FEFF bl HAL_DMA_Abort 429 .LVL38: 341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the DAC DMA underrun interrupt */ 343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE_IT(hdac, DAC_IT_DMAUDR1); 430 .loc 1 343 0 431 002e 2268 ldr r2, [r4] 432 0030 1368 ldr r3, [r2] 433 0032 23F40053 bic r3, r3, #8192 434 0036 1360 str r3, [r2] 344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the DMA channel */ 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_DMA_Abort(hdac->DMA_Handle2); 349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the DAC DMA underrun interrupt */ 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_DAC_DISABLE_IT(hdac, DAC_IT_DMAUDR2); 352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check if DMA Channel effectively disabled */ 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (status != HAL_OK) 435 .loc 1 355 0 436 0038 60B9 cbnz r0, .L58 437 .L55: 356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Update DAC state machine to error */ 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_ERROR; 359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 438 .loc 1 363 0 439 003a 0123 movs r3, #1 440 003c 2371 strb r3, [r4, #4] 364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return status; 368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 441 .loc 1 368 0 442 003e 38BD pop {r3, r4, r5, pc} 443 .LVL39: 444 .L53: 348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 445 .loc 1 348 0 446 0040 E068 ldr r0, [r4, #12] ARM GAS /tmp/ccuycrlg.s page 16 447 0042 FFF7FEFF bl HAL_DMA_Abort 448 .LVL40: 351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 449 .loc 1 351 0 450 0046 2268 ldr r2, [r4] 451 0048 1368 ldr r3, [r2] 452 004a 23F00053 bic r3, r3, #536870912 453 004e 1360 str r3, [r2] 355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 454 .loc 1 355 0 455 0050 0028 cmp r0, #0 456 0052 F2D0 beq .L55 457 .L58: 358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 458 .loc 1 358 0 459 0054 0423 movs r3, #4 460 0056 2371 strb r3, [r4, #4] 461 .loc 1 368 0 462 0058 38BD pop {r3, r4, r5, pc} 463 .cfi_endproc 464 .LFE332: 466 005a 00BF .section .text.HAL_DACEx_TriangleWaveGenerate,"ax",%progbits 467 .align 1 468 .p2align 2,,3 469 .global HAL_DACEx_TriangleWaveGenerate 470 .syntax unified 471 .thumb 472 .thumb_func 473 .fpu fpv4-sp-d16 475 HAL_DACEx_TriangleWaveGenerate: 476 .LFB333: 369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Enable or disable the selected DAC channel wave generation. 373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Amplitude Select max triangle amplitude. 383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_1: Select max triangle amplitude of 1 385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_3: Select max triangle amplitude of 3 386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_7: Select max triangle amplitude of 7 387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_15: Select max triangle amplitude of 15 388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_31: Select max triangle amplitude of 31 389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_63: Select max triangle amplitude of 63 390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_127: Select max triangle amplitude of 127 391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_255: Select max triangle amplitude of 255 392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_511: Select max triangle amplitude of 511 393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_1023: Select max triangle amplitude of 1023 394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_2047: Select max triangle amplitude of 2047 ARM GAS /tmp/ccuycrlg.s page 17 395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_TRIANGLEAMPLITUDE_4095: Select max triangle amplitude of 4095 396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_ 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 477 .loc 1 399 0 478 .cfi_startproc 479 @ args = 0, pretend = 0, frame = 0 480 @ frame_needed = 0, uses_anonymous_args = 0 481 @ link register save eliminated. 482 .LVL41: 483 0000 0346 mov r3, r0 400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude)); 403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 484 .loc 1 405 0 485 0002 4079 ldrb r0, [r0, #5] @ zero_extendqisi2 486 .LVL42: 487 0004 0128 cmp r0, #1 488 0006 17D0 beq .L61 399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 489 .loc 1 399 0 discriminator 2 490 0008 30B4 push {r4, r5} 491 .LCFI4: 492 .cfi_def_cfa_offset 8 493 .cfi_offset 4, -8 494 .cfi_offset 5, -4 406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 495 .loc 1 408 0 discriminator 2 496 000a 0220 movs r0, #2 409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the triangle wave generation for the selected DAC channel */ 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1) | (DAC_CR_MAMP1)) << (Channel & 0x10UL), 497 .loc 1 411 0 discriminator 2 498 000c 1D68 ldr r5, [r3] 408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 499 .loc 1 408 0 discriminator 2 500 000e 1871 strb r0, [r3, #4] 501 .loc 1 411 0 discriminator 2 502 0010 4FF47C64 mov r4, #4032 503 0014 01F01000 and r0, r1, #16 504 0018 2968 ldr r1, [r5] 505 .LVL43: 506 001a 8440 lsls r4, r4, r0 507 001c 42F08002 orr r2, r2, #128 508 .LVL44: 509 0020 21EA0401 bic r1, r1, r4 510 0024 8240 lsls r2, r2, r0 511 0026 0A43 orrs r2, r2, r1 412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (DAC_CR_WAVE1_1 | Amplitude) << (Channel & 0x10UL)); 413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ ARM GAS /tmp/ccuycrlg.s page 18 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 512 .loc 1 415 0 discriminator 2 513 0028 0124 movs r4, #1 416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 514 .loc 1 418 0 discriminator 2 515 002a 0021 movs r1, #0 411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (DAC_CR_WAVE1_1 | Amplitude) << (Channel & 0x10UL)); 516 .loc 1 411 0 discriminator 2 517 002c 2A60 str r2, [r5] 419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return HAL_OK; 518 .loc 1 421 0 discriminator 2 519 002e 0846 mov r0, r1 415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 520 .loc 1 415 0 discriminator 2 521 0030 1C71 strb r4, [r3, #4] 418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 522 .loc 1 418 0 discriminator 2 523 0032 5971 strb r1, [r3, #5] 422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 524 .loc 1 422 0 discriminator 2 525 0034 30BC pop {r4, r5} 526 .LCFI5: 527 .cfi_restore 5 528 .cfi_restore 4 529 .cfi_def_cfa_offset 0 530 0036 7047 bx lr 531 .LVL45: 532 .L61: 405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 533 .loc 1 405 0 534 0038 0220 movs r0, #2 535 .loc 1 422 0 536 003a 7047 bx lr 537 .cfi_endproc 538 .LFE333: 540 .section .text.HAL_DACEx_NoiseWaveGenerate,"ax",%progbits 541 .align 1 542 .p2align 2,,3 543 .global HAL_DACEx_NoiseWaveGenerate 544 .syntax unified 545 .thumb 546 .thumb_func 547 .fpu fpv4-sp-d16 549 HAL_DACEx_NoiseWaveGenerate: 550 .LFB334: 423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Enable or disable the selected DAC channel wave generation. 426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected ARM GAS /tmp/ccuycrlg.s page 19 431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Amplitude Unmask DAC channel LFSR for noise wave generation. 436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BIT0: Unmask DAC channel LFSR bit0 for noise wave generation 438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS1_0: Unmask DAC channel LFSR bit[1:0] for noise wave generat 439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS2_0: Unmask DAC channel LFSR bit[2:0] for noise wave generat 440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS3_0: Unmask DAC channel LFSR bit[3:0] for noise wave generat 441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS4_0: Unmask DAC channel LFSR bit[4:0] for noise wave generat 442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS5_0: Unmask DAC channel LFSR bit[5:0] for noise wave generat 443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS6_0: Unmask DAC channel LFSR bit[6:0] for noise wave generat 444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS7_0: Unmask DAC channel LFSR bit[7:0] for noise wave generat 445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS8_0: Unmask DAC channel LFSR bit[8:0] for noise wave generat 446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS9_0: Unmask DAC channel LFSR bit[9:0] for noise wave generat 447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS10_0: Unmask DAC channel LFSR bit[10:0] for noise wave gener 448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_LFSRUNMASK_BITS11_0: Unmask DAC channel LFSR bit[11:0] for noise wave gener 449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t A 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 551 .loc 1 452 0 552 .cfi_startproc 553 @ args = 0, pretend = 0, frame = 0 554 @ frame_needed = 0, uses_anonymous_args = 0 555 @ link register save eliminated. 556 .LVL46: 557 0000 0346 mov r3, r0 453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(Amplitude)); 456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 558 .loc 1 458 0 559 0002 4079 ldrb r0, [r0, #5] @ zero_extendqisi2 560 .LVL47: 561 0004 0128 cmp r0, #1 562 0006 17D0 beq .L68 452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 563 .loc 1 452 0 discriminator 2 564 0008 30B4 push {r4, r5} 565 .LCFI6: 566 .cfi_def_cfa_offset 8 567 .cfi_offset 4, -8 568 .cfi_offset 5, -4 459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 569 .loc 1 461 0 discriminator 2 570 000a 0220 movs r0, #2 462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the noise wave generation for the selected DAC channel */ 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CR, ((DAC_CR_WAVE1) | (DAC_CR_MAMP1)) << (Channel & 0x10UL), 571 .loc 1 464 0 discriminator 2 572 000c 1D68 ldr r5, [r3] ARM GAS /tmp/ccuycrlg.s page 20 461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 573 .loc 1 461 0 discriminator 2 574 000e 1871 strb r0, [r3, #4] 575 .loc 1 464 0 discriminator 2 576 0010 4FF47C64 mov r4, #4032 577 0014 01F01000 and r0, r1, #16 578 0018 2968 ldr r1, [r5] 579 .LVL48: 580 001a 8440 lsls r4, r4, r0 581 001c 42F04002 orr r2, r2, #64 582 .LVL49: 583 0020 21EA0401 bic r1, r1, r4 584 0024 8240 lsls r2, r2, r0 585 0026 0A43 orrs r2, r2, r1 465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (DAC_CR_WAVE1_0 | Amplitude) << (Channel & 0x10UL)); 466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 586 .loc 1 468 0 discriminator 2 587 0028 0124 movs r4, #1 469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 588 .loc 1 471 0 discriminator 2 589 002a 0021 movs r1, #0 464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (DAC_CR_WAVE1_0 | Amplitude) << (Channel & 0x10UL)); 590 .loc 1 464 0 discriminator 2 591 002c 2A60 str r2, [r5] 472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return HAL_OK; 592 .loc 1 474 0 discriminator 2 593 002e 0846 mov r0, r1 468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 594 .loc 1 468 0 discriminator 2 595 0030 1C71 strb r4, [r3, #4] 471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 596 .loc 1 471 0 discriminator 2 597 0032 5971 strb r1, [r3, #5] 475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 598 .loc 1 475 0 discriminator 2 599 0034 30BC pop {r4, r5} 600 .LCFI7: 601 .cfi_restore 5 602 .cfi_restore 4 603 .cfi_def_cfa_offset 0 604 0036 7047 bx lr 605 .LVL50: 606 .L68: 458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 607 .loc 1 458 0 608 0038 0220 movs r0, #2 609 .loc 1 475 0 610 003a 7047 bx lr 611 .cfi_endproc 612 .LFE334: 614 .section .text.HAL_DACEx_SawtoothWaveGenerate,"ax",%progbits ARM GAS /tmp/ccuycrlg.s page 21 615 .align 1 616 .p2align 2,,3 617 .global HAL_DACEx_SawtoothWaveGenerate 618 .syntax unified 619 .thumb 620 .thumb_func 621 .fpu fpv4-sp-d16 623 HAL_DACEx_SawtoothWaveGenerate: 624 .LFB335: 476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Enable or disable the selected DAC channel sawtooth wave generation. 479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Polarity polarity to be used for wave generation. 489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_SAWTOOTH_POLARITY_DECREMENT 491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_SAWTOOTH_POLARITY_INCREMENT 492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param ResetData Sawtooth wave reset value. 493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Range is from 0 to DAC full range 4095 (0xFFF) 494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param StepData Sawtooth wave step value. 495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 12.4 bit format, unsigned: 12 bits exponent / 4 bits mantissa 496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Step value step is 1/16 = 0.0625 497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Step value range is 0.0000 to 4095.9375 (0xFFF.F) 498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @note Sawtooth reset and step triggers are configured by calling @ref HAL_DAC_ConfigChannel 499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_SawtoothWaveGenerate(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_ 502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t ResetData, uint32_t StepData) 503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 625 .loc 1 503 0 626 .cfi_startproc 627 @ args = 4, pretend = 0, frame = 0 628 @ frame_needed = 0, uses_anonymous_args = 0 629 @ link register save eliminated. 630 .LVL51: 631 0000 30B4 push {r4, r5} 632 .LCFI8: 633 .cfi_def_cfa_offset 8 634 .cfi_offset 4, -8 635 .cfi_offset 5, -4 504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_SAWTOOTH_POLARITY(Polarity)); 507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_RESET_DATA(ResetData)); 508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_STEP_DATA(StepData)); 509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 636 .loc 1 511 0 ARM GAS /tmp/ccuycrlg.s page 22 637 0002 4479 ldrb r4, [r0, #5] @ zero_extendqisi2 638 0004 012C cmp r4, #1 639 0006 23D0 beq .L77 640 0008 029D ldr r5, [sp, #8] 641 000a 1A43 orrs r2, r2, r3 642 .LVL52: 643 .loc 1 511 0 is_stmt 0 discriminator 2 644 000c 0124 movs r4, #1 512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 645 .loc 1 514 0 is_stmt 1 discriminator 2 646 000e 0223 movs r3, #2 647 .LVL53: 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 648 .loc 1 511 0 discriminator 2 649 0010 4471 strb r4, [r0, #5] 650 0012 42EA0542 orr r2, r2, r5, lsl #16 651 .loc 1 514 0 discriminator 2 652 0016 0371 strb r3, [r0, #4] 653 0018 0468 ldr r4, [r0] 515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 654 .loc 1 516 0 discriminator 2 655 001a 99B1 cbz r1, .L79 517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Configure the sawtooth wave generation data parameters */ 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->STR1, 520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** DAC_STR1_STINCDATA1 | DAC_STR1_STDIR1 | DAC_STR1_STRSTDATA1, 521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (StepData << DAC_STR1_STINCDATA1_Pos) 522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** | Polarity 523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** | (ResetData << DAC_STR1_STRSTDATA1_Pos)); 524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Configure the sawtooth wave generation data parameters */ 528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->STR2, 656 .loc 1 528 0 657 001c E36D ldr r3, [r4, #92] 658 001e 03F46043 and r3, r3, #57344 659 0022 1A43 orrs r2, r2, r3 660 0024 E265 str r2, [r4, #92] 661 .L76: 529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** DAC_STR2_STINCDATA2 | DAC_STR2_STDIR2 | DAC_STR2_STRSTDATA2, 530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (StepData << DAC_STR2_STINCDATA2_Pos) 531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** | Polarity 532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** | (ResetData << DAC_STR2_STRSTDATA2_Pos)); 533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the sawtooth wave generation for the selected DAC channel */ 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CR, (DAC_CR_WAVE1) << (Channel & 0x10UL), (uint32_t)(DAC_CR_WAVE1_1 | 662 .loc 1 536 0 663 0026 2268 ldr r2, [r4] 664 0028 01F01003 and r3, r1, #16 665 002c C021 movs r1, #192 666 .LVL54: 667 002e 9940 lsls r1, r1, r3 ARM GAS /tmp/ccuycrlg.s page 23 537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 668 .loc 1 542 0 669 0030 0023 movs r3, #0 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 670 .loc 1 536 0 671 0032 1143 orrs r1, r1, r2 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 672 .loc 1 539 0 673 0034 0125 movs r5, #1 543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return HAL_OK; 674 .loc 1 545 0 675 0036 1A46 mov r2, r3 536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 676 .loc 1 536 0 677 0038 2160 str r1, [r4] 539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 678 .loc 1 539 0 679 003a 0571 strb r5, [r0, #4] 542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 680 .loc 1 542 0 681 003c 4371 strb r3, [r0, #5] 546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 682 .loc 1 546 0 683 003e 30BC pop {r4, r5} 684 .LCFI9: 685 .cfi_remember_state 686 .cfi_restore 5 687 .cfi_restore 4 688 .cfi_def_cfa_offset 0 689 .LVL55: 690 0040 1046 mov r0, r2 691 .LVL56: 692 0042 7047 bx lr 693 .LVL57: 694 .L79: 695 .LCFI10: 696 .cfi_restore_state 519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** DAC_STR1_STINCDATA1 | DAC_STR1_STDIR1 | DAC_STR1_STRSTDATA1, 697 .loc 1 519 0 698 0044 A36D ldr r3, [r4, #88] 699 0046 03F46043 and r3, r3, #57344 700 004a 1A43 orrs r2, r2, r3 701 004c A265 str r2, [r4, #88] 702 004e EAE7 b .L76 703 .LVL58: 704 .L77: 511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 705 .loc 1 511 0 706 0050 0222 movs r2, #2 707 .LVL59: ARM GAS /tmp/ccuycrlg.s page 24 708 .loc 1 546 0 709 0052 1046 mov r0, r2 710 .LVL60: 711 0054 30BC pop {r4, r5} 712 .LCFI11: 713 .cfi_restore 5 714 .cfi_restore 4 715 .cfi_def_cfa_offset 0 716 .LVL61: 717 0056 7047 bx lr 718 .cfi_endproc 719 .LFE335: 721 .section .text.HAL_DACEx_SawtoothWaveDataReset,"ax",%progbits 722 .align 1 723 .p2align 2,,3 724 .global HAL_DACEx_SawtoothWaveDataReset 725 .syntax unified 726 .thumb 727 .thumb_func 728 .fpu fpv4-sp-d16 730 HAL_DACEx_SawtoothWaveDataReset: 731 .LFB336: 547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Trig sawtooth wave reset 550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @note This function allows to reset sawtooth wave in case of SW trigger 551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * has been configured for this usage. 552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_SawtoothWaveDataReset(DAC_HandleTypeDef *hdac, uint32_t Channel) 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 732 .loc 1 564 0 733 .cfi_startproc 734 @ args = 0, pretend = 0, frame = 0 735 @ frame_needed = 0, uses_anonymous_args = 0 736 @ link register save eliminated. 737 .LVL62: 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 738 .loc 1 571 0 739 0000 4279 ldrb r2, [r0, #5] @ zero_extendqisi2 740 0002 012A cmp r2, #1 741 0004 1DD0 beq .L85 ARM GAS /tmp/ccuycrlg.s page 25 564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 742 .loc 1 564 0 discriminator 2 743 0006 10B4 push {r4} 744 .LCFI12: 745 .cfi_def_cfa_offset 4 746 .cfi_offset 4, -4 572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (((hdac->Instance->STMODR >> (Channel & 0x10UL)) & DAC_STMODR_STRSTTRIGSEL1) == 0UL /* SW TRIG 747 .loc 1 573 0 discriminator 2 748 0008 0468 ldr r4, [r0] 749 000a 226E ldr r2, [r4, #96] 750 000c 0346 mov r3, r0 751 000e 01F01000 and r0, r1, #16 752 .LVL63: 753 0012 C240 lsrs r2, r2, r0 754 0014 1207 lsls r2, r2, #28 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 755 .loc 1 571 0 discriminator 2 756 0016 4FF00100 mov r0, #1 757 001a 5871 strb r0, [r3, #5] 758 .loc 1 573 0 discriminator 2 759 001c 08D1 bne .L82 574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 760 .loc 1 576 0 761 001e 0222 movs r2, #2 762 0020 1A71 strb r2, [r3, #4] 577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC software conversion */ 581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIG1); 763 .loc 1 581 0 764 0022 6268 ldr r2, [r4, #4] 578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 765 .loc 1 578 0 766 0024 49B9 cbnz r1, .L83 767 .loc 1 581 0 768 0026 0243 orrs r2, r2, r0 769 0028 6260 str r2, [r4, #4] 770 .L84: 582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC software conversion */ 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIG2); 587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 771 .loc 1 590 0 772 002a 0122 movs r2, #1 773 002c 1A71 strb r2, [r3, #4] 565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 774 .loc 1 565 0 775 002e 0020 movs r0, #0 ARM GAS /tmp/ccuycrlg.s page 26 776 .L82: 777 .LVL64: 591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_ERROR; 595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 778 .loc 1 598 0 779 0030 0022 movs r2, #0 780 0032 5A71 strb r2, [r3, #5] 599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return status; 602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 781 .loc 1 602 0 782 0034 5DF8044B ldr r4, [sp], #4 783 .LCFI13: 784 .cfi_remember_state 785 .cfi_restore 4 786 .cfi_def_cfa_offset 0 787 0038 7047 bx lr 788 .LVL65: 789 .L83: 790 .LCFI14: 791 .cfi_restore_state 586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 792 .loc 1 586 0 793 003a 42F00202 orr r2, r2, #2 794 003e 6260 str r2, [r4, #4] 795 0040 F3E7 b .L84 796 .LVL66: 797 .L85: 798 .LCFI15: 799 .cfi_def_cfa_offset 0 800 .cfi_restore 4 571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 801 .loc 1 571 0 802 0042 0220 movs r0, #2 803 .LVL67: 804 .loc 1 602 0 805 0044 7047 bx lr 806 .cfi_endproc 807 .LFE336: 809 0046 00BF .section .text.HAL_DACEx_SawtoothWaveDataStep,"ax",%progbits 810 .align 1 811 .p2align 2,,3 812 .global HAL_DACEx_SawtoothWaveDataStep 813 .syntax unified 814 .thumb 815 .thumb_func 816 .fpu fpv4-sp-d16 818 HAL_DACEx_SawtoothWaveDataStep: 819 .LFB337: 603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ARM GAS /tmp/ccuycrlg.s page 27 604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Trig sawtooth wave step 606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @note This function allows to generate step in sawtooth wave in case of 607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * SW trigger has been configured for this usage. 608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_SawtoothWaveDataStep(DAC_HandleTypeDef *hdac, uint32_t Channel) 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 820 .loc 1 620 0 821 .cfi_startproc 822 @ args = 0, pretend = 0, frame = 0 823 @ frame_needed = 0, uses_anonymous_args = 0 824 @ link register save eliminated. 825 .LVL68: 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 826 .loc 1 627 0 827 0000 4279 ldrb r2, [r0, #5] @ zero_extendqisi2 828 0002 012A cmp r2, #1 829 0004 1FD0 beq .L96 620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 830 .loc 1 620 0 discriminator 2 831 0006 10B4 push {r4} 832 .LCFI16: 833 .cfi_def_cfa_offset 4 834 .cfi_offset 4, -4 628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (((hdac->Instance->STMODR >> (Channel & 0x10UL)) & DAC_STMODR_STINCTRIGSEL1) == 0UL /* SW TRIG 835 .loc 1 629 0 discriminator 2 836 0008 0468 ldr r4, [r0] 837 000a 226E ldr r2, [r4, #96] 838 000c 0346 mov r3, r0 839 000e 01F01000 and r0, r1, #16 840 .LVL69: 841 0012 C240 lsrs r2, r2, r0 842 0014 12F4706F tst r2, #3840 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 843 .loc 1 627 0 discriminator 2 844 0018 4FF00100 mov r0, #1 845 001c 5871 strb r0, [r3, #5] 846 .loc 1 629 0 discriminator 2 847 001e 09D1 bne .L93 630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { ARM GAS /tmp/ccuycrlg.s page 28 631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_BUSY; 848 .loc 1 632 0 849 0020 0222 movs r2, #2 850 0022 1A71 strb r2, [r3, #4] 633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC software conversion */ 637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIGB1); 851 .loc 1 637 0 852 0024 6268 ldr r2, [r4, #4] 634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 853 .loc 1 634 0 854 0026 51B9 cbnz r1, .L94 855 .loc 1 637 0 856 0028 42F48032 orr r2, r2, #65536 857 002c 6260 str r2, [r4, #4] 858 .L95: 638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC software conversion */ 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIGB2); 643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Change DAC state */ 646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 859 .loc 1 646 0 860 002e 0122 movs r2, #1 861 0030 1A71 strb r2, [r3, #4] 621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 862 .loc 1 621 0 863 0032 0020 movs r0, #0 864 .L93: 865 .LVL70: 647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_ERROR; 651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 866 .loc 1 654 0 867 0034 0022 movs r2, #0 868 0036 5A71 strb r2, [r3, #5] 655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return status; 658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 869 .loc 1 658 0 870 0038 5DF8044B ldr r4, [sp], #4 871 .LCFI17: 872 .cfi_remember_state 873 .cfi_restore 4 874 .cfi_def_cfa_offset 0 ARM GAS /tmp/ccuycrlg.s page 29 875 003c 7047 bx lr 876 .LVL71: 877 .L94: 878 .LCFI18: 879 .cfi_restore_state 642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 880 .loc 1 642 0 881 003e 42F40032 orr r2, r2, #131072 882 0042 6260 str r2, [r4, #4] 883 0044 F3E7 b .L95 884 .LVL72: 885 .L96: 886 .LCFI19: 887 .cfi_def_cfa_offset 0 888 .cfi_restore 4 627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 889 .loc 1 627 0 890 0046 0220 movs r0, #2 891 .LVL73: 892 .loc 1 658 0 893 0048 7047 bx lr 894 .cfi_endproc 895 .LFE337: 897 004a 00BF .section .text.HAL_DACEx_DualSetValue,"ax",%progbits 898 .align 1 899 .p2align 2,,3 900 .global HAL_DACEx_DualSetValue 901 .syntax unified 902 .thumb 903 .thumb_func 904 .fpu fpv4-sp-d16 906 HAL_DACEx_DualSetValue: 907 .LFB338: 659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Set the specified data holding register value for dual DAC channel. 663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Alignment Specifies the data alignment for dual channel DAC. 666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * DAC_ALIGN_8B_R: 8bit right data alignment selected 668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * DAC_ALIGN_12B_L: 12bit left data alignment selected 669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * DAC_ALIGN_12B_R: 12bit right data alignment selected 670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Data1 Data for DAC Channel1 to be loaded in the selected data holding register. 671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Data2 Data for DAC Channel2 to be loaded in the selected data holding register. 672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @note In dual mode, a unique register access is required to write in both 673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * DAC channels at the same time. 674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef *hdac, uint32_t Alignment, uint32_t Data 677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 908 .loc 1 677 0 909 .cfi_startproc 910 @ args = 0, pretend = 0, frame = 0 911 @ frame_needed = 0, uses_anonymous_args = 0 912 @ link register save eliminated. ARM GAS /tmp/ccuycrlg.s page 30 913 .LVL74: 914 0000 10B4 push {r4} 915 .LCFI20: 916 .cfi_def_cfa_offset 4 917 .cfi_offset 4, -4 918 0002 0468 ldr r4, [r0] 678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t data; 679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t tmp; 680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_ALIGN(Alignment)); 683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_DATA(Data1)); 684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_DATA(Data2)); 685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Calculate and set dual DAC data holding register value */ 687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Alignment == DAC_ALIGN_8B_R) 919 .loc 1 687 0 920 0004 0829 cmp r1, #8 921 0006 04F12004 add r4, r4, #32 688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** data = ((uint32_t)Data2 << 8U) | Data1; 922 .loc 1 689 0 923 000a 0CBF ite eq 924 000c 42EA0323 orreq r3, r2, r3, lsl #8 925 .LVL75: 690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** data = ((uint32_t)Data2 << 16U) | Data1; 926 .loc 1 693 0 927 0010 42EA0343 orrne r3, r2, r3, lsl #16 928 .LVL76: 694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp = (uint32_t)hdac->Instance; 697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp += DAC_DHR12RD_ALIGNMENT(Alignment); 698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set the dual DAC selected data holding register */ 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** *(__IO uint32_t *)tmp = data; 701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Return function status */ 703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return HAL_OK; 704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 929 .loc 1 704 0 930 0014 0020 movs r0, #0 931 .LVL77: 700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 932 .loc 1 700 0 933 0016 0B51 str r3, [r1, r4] 934 .loc 1 704 0 935 0018 5DF8044B ldr r4, [sp], #4 936 .LCFI21: 937 .cfi_restore 4 938 .cfi_def_cfa_offset 0 939 .LVL78: 940 001c 7047 bx lr 941 .cfi_endproc ARM GAS /tmp/ccuycrlg.s page 31 942 .LFE338: 944 001e 00BF .section .text.HAL_DACEx_ConvCpltCallbackCh2,"ax",%progbits 945 .align 1 946 .p2align 2,,3 947 .weak HAL_DACEx_ConvCpltCallbackCh2 948 .syntax unified 949 .thumb 950 .thumb_func 951 .fpu fpv4-sp-d16 953 HAL_DACEx_ConvCpltCallbackCh2: 954 .LFB339: 705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Conversion complete callback in non-blocking mode for Channel2. 708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __weak void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef *hdac) 713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 955 .loc 1 713 0 956 .cfi_startproc 957 @ args = 0, pretend = 0, frame = 0 958 @ frame_needed = 0, uses_anonymous_args = 0 959 @ link register save eliminated. 960 .LVL79: 714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Prevent unused argument(s) compilation warning */ 715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** UNUSED(hdac); 716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** the HAL_DACEx_ConvCpltCallbackCh2 could be implemented in the user file 719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 961 .loc 1 720 0 962 0000 7047 bx lr 963 .cfi_endproc 964 .LFE339: 966 0002 00BF .section .text.DAC_DMAConvCpltCh2,"ax",%progbits 967 .align 1 968 .p2align 2,,3 969 .global DAC_DMAConvCpltCh2 970 .syntax unified 971 .thumb 972 .thumb_func 973 .fpu fpv4-sp-d16 975 DAC_DMAConvCpltCh2: 976 .LFB347: 721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Conversion half DMA transfer callback in non-blocking mode for Channel2. 724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __weak void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef *hdac) 729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Prevent unused argument(s) compilation warning */ ARM GAS /tmp/ccuycrlg.s page 32 731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** UNUSED(hdac); 732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** the HAL_DACEx_ConvHalfCpltCallbackCh2 could be implemented in the user file 735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Error DAC callback for Channel2. 740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __weak void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef *hdac) 745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Prevent unused argument(s) compilation warning */ 747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** UNUSED(hdac); 748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** the HAL_DACEx_ErrorCallbackCh2 could be implemented in the user file 751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief DMA underrun DAC callback for Channel2. 756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __weak void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef *hdac) 761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Prevent unused argument(s) compilation warning */ 763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** UNUSED(hdac); 764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* NOTE : This function should not be modified, when the callback is needed, 766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** the HAL_DACEx_DMAUnderrunCallbackCh2 could be implemented in the user file 767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Run the self calibration of one DAC channel. 773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param sConfig DAC channel configuration structure. 776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval Updates DAC_TrimmingValue. , DAC_UserTrimming set to DAC_UserTrimming 784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @note Calibration runs about 7 ms. 786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_SelfCalibrate(DAC_HandleTypeDef *hdac, DAC_ChannelConfTypeDef *sConfig, ARM GAS /tmp/ccuycrlg.s page 33 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __IO uint32_t tmp; 792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t trimmingvalue; 793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t delta; 794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* store/restore channel configuration structure purpose */ 796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t oldmodeconfiguration; 797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the DAC handle allocation */ 802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check if DAC running */ 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (hdac == NULL) 804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_ERROR; 806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else if (hdac->State == HAL_DAC_STATE_BUSY) 808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_ERROR; 810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Store configuration */ 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** oldmodeconfiguration = (hdac->Instance->MCR & (DAC_MCR_MODE1 << (Channel & 0x10UL))); 818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the selected DAC channel */ 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** CLEAR_BIT((hdac->Instance->CR), (DAC_CR_EN1 << (Channel & 0x10UL))); 821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Wait for ready bit to be de-asserted */ 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1); 823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set mode in MCR for calibration */ 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->MCR, (DAC_MCR_MODE1 << (Channel & 0x10UL)), 0U); 826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set DAC Channel1 DHR register to the middle value */ 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp = (uint32_t)hdac->Instance; 829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (Channel == DAC_CHANNEL_1) 831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp += DAC_DHR12R1_ALIGNMENT(DAC_ALIGN_12B_R); 833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp += DAC_DHR12R2_ALIGNMENT(DAC_ALIGN_12B_R); 837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** *(__IO uint32_t *) tmp = 0x0800UL; 840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Enable the selected DAC channel calibration */ 842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* i.e. set DAC_CR_CENx bit */ 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** SET_BIT((hdac->Instance->CR), (DAC_CR_CEN1 << (Channel & 0x10UL))); 844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ARM GAS /tmp/ccuycrlg.s page 34 845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Init trimming counter */ 846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Medium value */ 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** trimmingvalue = 16UL; 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** delta = 8UL; 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** while (delta != 0UL) 850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set candidate trimming */ 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1 << (Channel & 0x10UL)), (trimmingvalue << (Ch 853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* tOFFTRIMmax delay x ms as per datasheet (electrical characteristics */ 855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* i.e. minimum time needed between two calibration steps */ 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1); 857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if ((hdac->Instance->SR & (DAC_SR_CAL_FLAG1 << (Channel & 0x10UL))) == (DAC_SR_CAL_FLAG1 << ( 859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* DAC_SR_CAL_FLAGx is HIGH try higher trimming */ 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** trimmingvalue -= delta; 862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* DAC_SR_CAL_FLAGx is LOW try lower trimming */ 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** trimmingvalue += delta; 867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** delta >>= 1UL; 869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Still need to check if right calibration is current value or one step below */ 872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Indeed the first value that causes the DAC_SR_CAL_FLAGx bit to change from 0 to 1 */ 873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set candidate trimming */ 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1 << (Channel & 0x10UL)), (trimmingvalue << (Chan 875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* tOFFTRIMmax delay x ms as per datasheet (electrical characteristics */ 877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* i.e. minimum time needed between two calibration steps */ 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_Delay(1U); 879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if ((hdac->Instance->SR & (DAC_SR_CAL_FLAG1 << (Channel & 0x10UL))) == 0UL) 881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Trimming is actually one value more */ 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** trimmingvalue++; 884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set right trimming */ 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1 << (Channel & 0x10UL)), (trimmingvalue << (Ch 886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Disable the selected DAC channel calibration */ 889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* i.e. clear DAC_CR_CENx bit */ 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** CLEAR_BIT((hdac->Instance->CR), (DAC_CR_CEN1 << (Channel & 0x10UL))); 891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_TrimmingValue = trimmingvalue; 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_UserTrimming = DAC_TRIMMING_USER; 894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Restore configuration */ 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->MCR, (DAC_MCR_MODE1 << (Channel & 0x10UL)), oldmodeconfiguration); 897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ARM GAS /tmp/ccuycrlg.s page 35 902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return status; 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Set the trimming mode and trimming value (user trimming mode applied). 907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param sConfig DAC configuration structure updated with new DAC trimming value. 910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) 914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param NewTrimmingValue DAC new trimming value 918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval HAL status 919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef HAL_DACEx_SetUserTrimming(DAC_HandleTypeDef *hdac, DAC_ChannelConfTypeDef *sConfi 921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t NewTrimmingValue) 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameters */ 926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_NEWTRIMMINGVALUE(NewTrimmingValue)); 928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the DAC handle allocation */ 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** if (hdac == NULL) 931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** status = HAL_ERROR; 933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** else 935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process locked */ 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_LOCK(hdac); 938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set new trimming */ 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** MODIFY_REG(hdac->Instance->CCR, (DAC_CCR_OTRIM1 << (Channel & 0x10UL)), (NewTrimmingValue << (C 941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Update trimming mode */ 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_UserTrimming = DAC_TRIMMING_USER; 944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_TrimmingValue = NewTrimmingValue; 945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Process unlocked */ 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** __HAL_UNLOCK(hdac); 948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return status; 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Return the DAC trimming value. 954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac DAC handle 955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param Channel The selected DAC channel. 956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * This parameter can be one of the following values: 957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected 958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1) ARM GAS /tmp/ccuycrlg.s page 36 959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * (1) On this STM32 series, parameter not available on all instances. 961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * Refer to device datasheet for channels availability. 962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval Trimming value : range: 0->31 963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t HAL_DACEx_GetTrimOffset(DAC_HandleTypeDef *hdac, uint32_t Channel) 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameter */ 968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel)); 969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Retrieve trimming */ 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return ((hdac->Instance->CCR & (DAC_CCR_OTRIM1 << (Channel & 0x10UL))) >> (Channel & 0x10UL)); 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @} 976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** @defgroup DACEx_Exported_Functions_Group3 Peripheral Control functions 979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Extended Peripheral Control functions 980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * 981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** @verbatim 982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================================================================== 983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ##### Peripheral Control functions ##### 984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ============================================================================== 985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** [..] This section provides functions allowing to: 986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** (+) Set the specified data holding register value for DAC channel. 987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** @endverbatim 989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @{ 990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Return the last data output value of the selected DAC channel. 995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains 996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DAC. 997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval The selected DAC channel data output value. 998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef *hdac) 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t tmp = 0UL; 1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp |= hdac->Instance->DOR1; 1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** tmp |= hdac->Instance->DOR2 << 16UL; 1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Returns the DAC channel data output register value */ 1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** return tmp; 1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @} 1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** ARM GAS /tmp/ccuycrlg.s page 37 1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @} 1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Private functions ---------------------------------------------------------*/ 1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** @defgroup DACEx_Private_Functions DACEx private functions 1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief Extended private functions 1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @{ 1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief DMA conversion complete callback. 1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DMA module. 1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma) 1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 977 .loc 1 1033 0 978 .cfi_startproc 979 @ args = 0, pretend = 0, frame = 0 980 @ frame_needed = 0, uses_anonymous_args = 0 981 .LVL80: 982 0000 10B5 push {r4, lr} 983 .LCFI22: 984 .cfi_def_cfa_offset 8 985 .cfi_offset 4, -8 986 .cfi_offset 14, -4 1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 987 .loc 1 1034 0 988 0002 846A ldr r4, [r0, #40] 989 .LVL81: 1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1) 1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->ConvCpltCallbackCh2(hdac); 1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #else 1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_DACEx_ConvCpltCallbackCh2(hdac); 990 .loc 1 1039 0 991 0004 2046 mov r0, r4 992 .LVL82: 993 0006 FFF7FEFF bl HAL_DACEx_ConvCpltCallbackCh2 994 .LVL83: 1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */ 1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 995 .loc 1 1042 0 996 000a 0123 movs r3, #1 997 000c 2371 strb r3, [r4, #4] 1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 998 .loc 1 1043 0 999 000e 10BD pop {r4, pc} 1000 .cfi_endproc 1001 .LFE347: 1003 .section .text.HAL_DACEx_ConvHalfCpltCallbackCh2,"ax",%progbits 1004 .align 1 1005 .p2align 2,,3 1006 .weak HAL_DACEx_ConvHalfCpltCallbackCh2 ARM GAS /tmp/ccuycrlg.s page 38 1007 .syntax unified 1008 .thumb 1009 .thumb_func 1010 .fpu fpv4-sp-d16 1012 HAL_DACEx_ConvHalfCpltCallbackCh2: 1013 .LFB351: 1014 .cfi_startproc 1015 @ args = 0, pretend = 0, frame = 0 1016 @ frame_needed = 0, uses_anonymous_args = 0 1017 @ link register save eliminated. 1018 0000 7047 bx lr 1019 .cfi_endproc 1020 .LFE351: 1022 0002 00BF .section .text.DAC_DMAHalfConvCpltCh2,"ax",%progbits 1023 .align 1 1024 .p2align 2,,3 1025 .global DAC_DMAHalfConvCpltCh2 1026 .syntax unified 1027 .thumb 1028 .thumb_func 1029 .fpu fpv4-sp-d16 1031 DAC_DMAHalfConvCpltCh2: 1032 .LFB348: 1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief DMA half transfer complete callback. 1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DMA module. 1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma) 1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1033 .loc 1 1052 0 1034 .cfi_startproc 1035 @ args = 0, pretend = 0, frame = 0 1036 @ frame_needed = 0, uses_anonymous_args = 0 1037 .LVL84: 1038 .loc 1 1052 0 1039 0000 08B5 push {r3, lr} 1040 .LCFI23: 1041 .cfi_def_cfa_offset 8 1042 .cfi_offset 3, -8 1043 .cfi_offset 14, -4 1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Conversion complete callback */ 1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1) 1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->ConvHalfCpltCallbackCh2(hdac); 1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #else 1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_DACEx_ConvHalfCpltCallbackCh2(hdac); 1044 .loc 1 1058 0 1045 0002 806A ldr r0, [r0, #40] 1046 .LVL85: 1047 0004 FFF7FEFF bl HAL_DACEx_ConvHalfCpltCallbackCh2 1048 .LVL86: 1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */ 1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1049 .loc 1 1060 0 ARM GAS /tmp/ccuycrlg.s page 39 1050 0008 08BD pop {r3, pc} 1051 .cfi_endproc 1052 .LFE348: 1054 000a 00BF .section .text.HAL_DACEx_ErrorCallbackCh2,"ax",%progbits 1055 .align 1 1056 .p2align 2,,3 1057 .weak HAL_DACEx_ErrorCallbackCh2 1058 .syntax unified 1059 .thumb 1060 .thumb_func 1061 .fpu fpv4-sp-d16 1063 HAL_DACEx_ErrorCallbackCh2: 1064 .LFB353: 1065 .cfi_startproc 1066 @ args = 0, pretend = 0, frame = 0 1067 @ frame_needed = 0, uses_anonymous_args = 0 1068 @ link register save eliminated. 1069 0000 7047 bx lr 1070 .cfi_endproc 1071 .LFE353: 1073 0002 00BF .section .text.DAC_DMAErrorCh2,"ax",%progbits 1074 .align 1 1075 .p2align 2,,3 1076 .global DAC_DMAErrorCh2 1077 .syntax unified 1078 .thumb 1079 .thumb_func 1080 .fpu fpv4-sp-d16 1082 DAC_DMAErrorCh2: 1083 .LFB349: 1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /** 1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @brief DMA error callback. 1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains 1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * the configuration information for the specified DMA module. 1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** * @retval None 1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** */ 1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma) 1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1084 .loc 1 1069 0 1085 .cfi_startproc 1086 @ args = 0, pretend = 0, frame = 0 1087 @ frame_needed = 0, uses_anonymous_args = 0 1088 .LVL87: 1089 .loc 1 1069 0 1090 0000 10B5 push {r4, lr} 1091 .LCFI24: 1092 .cfi_def_cfa_offset 8 1093 .cfi_offset 4, -8 1094 .cfi_offset 14, -4 1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent; 1095 .loc 1 1070 0 1096 0002 846A ldr r4, [r0, #40] 1097 .LVL88: 1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set DAC error code to DMA error */ 1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->ErrorCode |= HAL_DAC_ERROR_DMA; ARM GAS /tmp/ccuycrlg.s page 40 1098 .loc 1 1073 0 1099 0004 2369 ldr r3, [r4, #16] 1100 0006 43F00403 orr r3, r3, #4 1101 000a 2361 str r3, [r4, #16] 1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1) 1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->ErrorCallbackCh2(hdac); 1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #else 1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_DACEx_ErrorCallbackCh2(hdac); 1102 .loc 1 1078 0 1103 000c 2046 mov r0, r4 1104 .LVL89: 1105 000e FFF7FEFF bl HAL_DACEx_ErrorCallbackCh2 1106 .LVL90: 1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */ 1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** hdac->State = HAL_DAC_STATE_READY; 1107 .loc 1 1081 0 1108 0012 0123 movs r3, #1 1109 0014 2371 strb r3, [r4, #4] 1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1110 .loc 1 1082 0 1111 0016 10BD pop {r4, pc} 1112 .cfi_endproc 1113 .LFE349: 1115 .section .text.HAL_DACEx_DMAUnderrunCallbackCh2,"ax",%progbits 1116 .align 1 1117 .p2align 2,,3 1118 .weak HAL_DACEx_DMAUnderrunCallbackCh2 1119 .syntax unified 1120 .thumb 1121 .thumb_func 1122 .fpu fpv4-sp-d16 1124 HAL_DACEx_DMAUnderrunCallbackCh2: 1125 .LFB355: 1126 .cfi_startproc 1127 @ args = 0, pretend = 0, frame = 0 1128 @ frame_needed = 0, uses_anonymous_args = 0 1129 @ link register save eliminated. 1130 0000 7047 bx lr 1131 .cfi_endproc 1132 .LFE355: 1134 0002 00BF .section .text.HAL_DACEx_SelfCalibrate,"ax",%progbits 1135 .align 1 1136 .p2align 2,,3 1137 .global HAL_DACEx_SelfCalibrate 1138 .syntax unified 1139 .thumb 1140 .thumb_func 1141 .fpu fpv4-sp-d16 1143 HAL_DACEx_SelfCalibrate: 1144 .LFB343: 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 1145 .loc 1 788 0 1146 .cfi_startproc 1147 @ args = 0, pretend = 0, frame = 16 1148 @ frame_needed = 0, uses_anonymous_args = 0 ARM GAS /tmp/ccuycrlg.s page 41 1149 .LVL91: 803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1150 .loc 1 803 0 1151 0000 0028 cmp r0, #0 1152 0002 00F08380 beq .L125 807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1153 .loc 1 807 0 1154 0006 0379 ldrb r3, [r0, #4] @ zero_extendqisi2 1155 0008 022B cmp r3, #2 1156 000a 7FD0 beq .L125 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1157 .loc 1 814 0 1158 000c 4379 ldrb r3, [r0, #5] @ zero_extendqisi2 1159 000e 012B cmp r3, #1 1160 0010 00F08180 beq .L126 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 1161 .loc 1 788 0 discriminator 2 1162 0014 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 1163 .LCFI25: 1164 .cfi_def_cfa_offset 36 1165 .cfi_offset 4, -36 1166 .cfi_offset 5, -32 1167 .cfi_offset 6, -28 1168 .cfi_offset 7, -24 1169 .cfi_offset 8, -20 1170 .cfi_offset 9, -16 1171 .cfi_offset 10, -12 1172 .cfi_offset 11, -8 1173 .cfi_offset 14, -4 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1174 .loc 1 817 0 discriminator 2 1175 0018 0368 ldr r3, [r0] 788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 1176 .loc 1 788 0 discriminator 2 1177 001a 85B0 sub sp, sp, #20 1178 .LCFI26: 1179 .cfi_def_cfa_offset 56 1180 001c 1546 mov r5, r2 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1181 .loc 1 817 0 discriminator 2 1182 001e DA6B ldr r2, [r3, #60] 1183 .LVL92: 1184 0020 0092 str r2, [sp] 1185 0022 0446 mov r4, r0 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Wait for ready bit to be de-asserted */ 1186 .loc 1 820 0 discriminator 2 1187 0024 1A68 ldr r2, [r3] 1188 0026 0191 str r1, [sp, #4] 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1189 .loc 1 814 0 discriminator 2 1190 0028 0120 movs r0, #1 1191 .LVL93: 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1192 .loc 1 817 0 discriminator 2 1193 002a 05F01006 and r6, r5, #16 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Wait for ready bit to be de-asserted */ 1194 .loc 1 820 0 discriminator 2 ARM GAS /tmp/ccuycrlg.s page 42 1195 002e 00FA06F1 lsl r1, r0, r6 1196 .LVL94: 1197 0032 22EA0102 bic r2, r2, r1 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1198 .loc 1 814 0 discriminator 2 1199 0036 6071 strb r0, [r4, #5] 820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Wait for ready bit to be de-asserted */ 1200 .loc 1 820 0 discriminator 2 1201 0038 1A60 str r2, [r3] 822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1202 .loc 1 822 0 discriminator 2 1203 003a FFF7FEFF bl HAL_Delay 1204 .LVL95: 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1205 .loc 1 825 0 discriminator 2 1206 003e 2368 ldr r3, [r4] 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1207 .loc 1 817 0 discriminator 2 1208 0040 4FF0070A mov r10, #7 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1209 .loc 1 825 0 discriminator 2 1210 0044 DA6B ldr r2, [r3, #60] 817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1211 .loc 1 817 0 discriminator 2 1212 0046 0AFA06FA lsl r10, r10, r6 825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1213 .loc 1 825 0 discriminator 2 1214 004a 22EA0A02 bic r2, r2, r10 1215 004e DA63 str r2, [r3, #60] 828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1216 .loc 1 828 0 discriminator 2 1217 0050 0393 str r3, [sp, #12] 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1218 .loc 1 832 0 discriminator 2 1219 0052 039A ldr r2, [sp, #12] 830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1220 .loc 1 830 0 discriminator 2 1221 0054 002D cmp r5, #0 1222 0056 5BD0 beq .L132 836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1223 .loc 1 836 0 1224 0058 1432 adds r2, r2, #20 1225 005a 0392 str r2, [sp, #12] 1226 .L119: 839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1227 .loc 1 839 0 1228 005c 039A ldr r2, [sp, #12] 1229 005e 4FF40061 mov r1, #2048 1230 0062 1160 str r1, [r2] 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1231 .loc 1 843 0 1232 0064 1A68 ldr r2, [r3] 1233 0066 4FF48047 mov r7, #16384 1234 006a B740 lsls r7, r7, r6 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1235 .loc 1 852 0 1236 006c 1F25 movs r5, #31 ARM GAS /tmp/ccuycrlg.s page 43 1237 .LVL96: 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1238 .loc 1 843 0 1239 006e 3A43 orrs r2, r2, r7 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1240 .loc 1 852 0 1241 0070 B540 lsls r5, r5, r6 843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1242 .loc 1 843 0 1243 0072 1A60 str r2, [r3] 1244 .LVL97: 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1245 .loc 1 852 0 1246 0074 ED43 mvns r5, r5 1247 0076 4FF00409 mov r9, #4 848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** while (delta != 0UL) 1248 .loc 1 848 0 1249 007a 4FF00808 mov r8, #8 847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** delta = 8UL; 1250 .loc 1 847 0 1251 007e 4FF0100B mov fp, #16 1252 .LVL98: 1253 .L122: 852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1254 .loc 1 852 0 1255 0082 986B ldr r0, [r3, #56] 1256 0084 0BFA06FE lsl lr, fp, r6 1257 0088 00EA050C and ip, r0, r5 1258 008c 4CEA0E00 orr r0, ip, lr 1259 0090 9863 str r0, [r3, #56] 856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1260 .loc 1 856 0 1261 0092 0120 movs r0, #1 1262 0094 FFF7FEFF bl HAL_Delay 1263 .LVL99: 858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1264 .loc 1 858 0 1265 0098 2368 ldr r3, [r4] 1266 009a 586B ldr r0, [r3, #52] 1267 009c 37EA0002 bics r2, r7, r0 861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1268 .loc 1 861 0 1269 00a0 0CBF ite eq 1270 00a2 ABEB080B subeq fp, fp, r8 1271 .LVL100: 866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1272 .loc 1 866 0 1273 00a6 C344 addne fp, fp, r8 1274 .LVL101: 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1275 .loc 1 849 0 1276 00a8 B9F10109 subs r9, r9, #1 868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1277 .loc 1 868 0 1278 00ac 4FEA5808 lsr r8, r8, #1 1279 .LVL102: 849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { ARM GAS /tmp/ccuycrlg.s page 44 1280 .loc 1 849 0 1281 00b0 E7D1 bne .L122 874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1282 .loc 1 874 0 1283 00b2 996B ldr r1, [r3, #56] 1284 00b4 0BFA06F2 lsl r2, fp, r6 1285 00b8 2940 ands r1, r1, r5 1286 00ba 0A43 orrs r2, r2, r1 1287 00bc 9A63 str r2, [r3, #56] 878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1288 .loc 1 878 0 1289 00be 0120 movs r0, #1 1290 00c0 FFF7FEFF bl HAL_Delay 1291 .LVL103: 880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1292 .loc 1 880 0 1293 00c4 2268 ldr r2, [r4] 1294 00c6 536B ldr r3, [r2, #52] 1295 00c8 1F42 tst r7, r3 1296 00ca 07D1 bne .L123 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1297 .loc 1 885 0 1298 00cc 936B ldr r3, [r2, #56] 883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Set right trimming */ 1299 .loc 1 883 0 1300 00ce 0BF1010B add fp, fp, #1 1301 .LVL104: 885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1302 .loc 1 885 0 1303 00d2 0BFA06F6 lsl r6, fp, r6 1304 00d6 1D40 ands r5, r5, r3 1305 00d8 2E43 orrs r6, r6, r5 1306 00da 9663 str r6, [r2, #56] 1307 .L123: 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1308 .loc 1 890 0 1309 00dc 1368 ldr r3, [r2] 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1310 .loc 1 896 0 1311 00de 0099 ldr r1, [sp] 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_UserTrimming = DAC_TRIMMING_USER; 1312 .loc 1 892 0 1313 00e0 019D ldr r5, [sp, #4] 890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1314 .loc 1 890 0 1315 00e2 23EA0707 bic r7, r3, r7 1316 00e6 1760 str r7, [r2] 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1317 .loc 1 896 0 1318 00e8 D36B ldr r3, [r2, #60] 892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_UserTrimming = DAC_TRIMMING_USER; 1319 .loc 1 892 0 1320 00ea C5F820B0 str fp, [r5, #32] 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1321 .loc 1 896 0 1322 00ee 81EA0308 eor r8, r1, r3 1323 .LVL105: ARM GAS /tmp/ccuycrlg.s page 45 1324 00f2 08EA0A0A and r10, r8, r10 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1325 .loc 1 899 0 1326 00f6 0021 movs r1, #0 893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1327 .loc 1 893 0 1328 00f8 0120 movs r0, #1 1329 00fa E861 str r0, [r5, #28] 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1330 .loc 1 896 0 1331 00fc 8AEA0303 eor r3, r10, r3 789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1332 .loc 1 789 0 1333 0100 0846 mov r0, r1 896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1334 .loc 1 896 0 1335 0102 D363 str r3, [r2, #60] 899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1336 .loc 1 899 0 1337 0104 6171 strb r1, [r4, #5] 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1338 .loc 1 903 0 1339 0106 05B0 add sp, sp, #20 1340 .LCFI27: 1341 .cfi_def_cfa_offset 36 1342 @ sp needed 1343 0108 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1344 .LVL106: 1345 .L125: 1346 .LCFI28: 1347 .cfi_def_cfa_offset 0 1348 .cfi_restore 4 1349 .cfi_restore 5 1350 .cfi_restore 6 1351 .cfi_restore 7 1352 .cfi_restore 8 1353 .cfi_restore 9 1354 .cfi_restore 10 1355 .cfi_restore 11 1356 .cfi_restore 14 805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1357 .loc 1 805 0 1358 010c 0120 movs r0, #1 1359 .LVL107: 1360 010e 7047 bx lr 1361 .LVL108: 1362 .L132: 1363 .LCFI29: 1364 .cfi_def_cfa_offset 56 1365 .cfi_offset 4, -36 1366 .cfi_offset 5, -32 1367 .cfi_offset 6, -28 1368 .cfi_offset 7, -24 1369 .cfi_offset 8, -20 1370 .cfi_offset 9, -16 1371 .cfi_offset 10, -12 1372 .cfi_offset 11, -8 ARM GAS /tmp/ccuycrlg.s page 46 1373 .cfi_offset 14, -4 832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1374 .loc 1 832 0 1375 0110 0832 adds r2, r2, #8 1376 0112 0392 str r2, [sp, #12] 1377 0114 A2E7 b .L119 1378 .LVL109: 1379 .L126: 1380 .LCFI30: 1381 .cfi_def_cfa_offset 0 1382 .cfi_restore 4 1383 .cfi_restore 5 1384 .cfi_restore 6 1385 .cfi_restore 7 1386 .cfi_restore 8 1387 .cfi_restore 9 1388 .cfi_restore 10 1389 .cfi_restore 11 1390 .cfi_restore 14 814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1391 .loc 1 814 0 1392 0116 0220 movs r0, #2 1393 .LVL110: 903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1394 .loc 1 903 0 1395 0118 7047 bx lr 1396 .cfi_endproc 1397 .LFE343: 1399 011a 00BF .section .text.HAL_DACEx_SetUserTrimming,"ax",%progbits 1400 .align 1 1401 .p2align 2,,3 1402 .global HAL_DACEx_SetUserTrimming 1403 .syntax unified 1404 .thumb 1405 .thumb_func 1406 .fpu fpv4-sp-d16 1408 HAL_DACEx_SetUserTrimming: 1409 .LFB344: 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 1410 .loc 1 922 0 1411 .cfi_startproc 1412 @ args = 0, pretend = 0, frame = 0 1413 @ frame_needed = 0, uses_anonymous_args = 0 1414 @ link register save eliminated. 1415 .LVL111: 930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** { 1416 .loc 1 930 0 1417 0000 C0B1 cbz r0, .L135 922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** HAL_StatusTypeDef status = HAL_OK; 1418 .loc 1 922 0 1419 0002 70B4 push {r4, r5, r6} 1420 .LCFI31: 1421 .cfi_def_cfa_offset 12 1422 .cfi_offset 4, -12 1423 .cfi_offset 5, -8 1424 .cfi_offset 6, -4 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** ARM GAS /tmp/ccuycrlg.s page 47 1425 .loc 1 937 0 1426 0004 4479 ldrb r4, [r0, #5] @ zero_extendqisi2 1427 0006 012C cmp r4, #1 1428 0008 17D0 beq .L136 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1429 .loc 1 940 0 discriminator 2 1430 000a 0668 ldr r6, [r0] 1431 000c 02F01002 and r2, r2, #16 1432 .LVL112: 1433 0010 B46B ldr r4, [r6, #56] 1434 0012 1F25 movs r5, #31 1435 0014 9540 lsls r5, r5, r2 1436 0016 24EA0504 bic r4, r4, r5 1437 001a 03FA02F2 lsl r2, r3, r2 1438 001e 2243 orrs r2, r2, r4 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1439 .loc 1 947 0 discriminator 2 1440 0020 0024 movs r4, #0 940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1441 .loc 1 940 0 discriminator 2 1442 0022 B263 str r2, [r6, #56] 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_TrimmingValue = NewTrimmingValue; 1443 .loc 1 943 0 discriminator 2 1444 0024 0125 movs r5, #1 923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1445 .loc 1 923 0 discriminator 2 1446 0026 2246 mov r2, r4 943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** sConfig->DAC_TrimmingValue = NewTrimmingValue; 1447 .loc 1 943 0 discriminator 2 1448 0028 C1E90753 strd r5, r3, [r1, #28] 947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1449 .loc 1 947 0 discriminator 2 1450 002c 4471 strb r4, [r0, #5] 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1451 .loc 1 950 0 discriminator 2 1452 002e 1046 mov r0, r2 1453 .LVL113: 1454 0030 70BC pop {r4, r5, r6} 1455 .LCFI32: 1456 .cfi_restore 6 1457 .cfi_restore 5 1458 .cfi_restore 4 1459 .cfi_def_cfa_offset 0 1460 0032 7047 bx lr 1461 .LVL114: 1462 .L135: 932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1463 .loc 1 932 0 1464 0034 0122 movs r2, #1 1465 .LVL115: 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1466 .loc 1 950 0 1467 0036 1046 mov r0, r2 1468 .LVL116: 1469 0038 7047 bx lr 1470 .LVL117: 1471 .L136: ARM GAS /tmp/ccuycrlg.s page 48 1472 .LCFI33: 1473 .cfi_def_cfa_offset 12 1474 .cfi_offset 4, -12 1475 .cfi_offset 5, -8 1476 .cfi_offset 6, -4 937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1477 .loc 1 937 0 1478 003a 0222 movs r2, #2 1479 .LVL118: 950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1480 .loc 1 950 0 1481 003c 1046 mov r0, r2 1482 .LVL119: 1483 003e 70BC pop {r4, r5, r6} 1484 .LCFI34: 1485 .cfi_restore 6 1486 .cfi_restore 5 1487 .cfi_restore 4 1488 .cfi_def_cfa_offset 0 1489 0040 7047 bx lr 1490 .cfi_endproc 1491 .LFE344: 1493 0042 00BF .section .text.HAL_DACEx_GetTrimOffset,"ax",%progbits 1494 .align 1 1495 .p2align 2,,3 1496 .global HAL_DACEx_GetTrimOffset 1497 .syntax unified 1498 .thumb 1499 .thumb_func 1500 .fpu fpv4-sp-d16 1502 HAL_DACEx_GetTrimOffset: 1503 .LFB345: 966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** /* Check the parameter */ 1504 .loc 1 966 0 1505 .cfi_startproc 1506 @ args = 0, pretend = 0, frame = 0 1507 @ frame_needed = 0, uses_anonymous_args = 0 1508 @ link register save eliminated. 1509 .LVL120: 971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** } 1510 .loc 1 971 0 1511 0000 0368 ldr r3, [r0] 1512 0002 01F01001 and r1, r1, #16 1513 .LVL121: 1514 0006 986B ldr r0, [r3, #56] 1515 .LVL122: 1516 0008 1F23 movs r3, #31 1517 000a 8B40 lsls r3, r3, r1 1518 000c 1840 ands r0, r0, r3 972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1519 .loc 1 972 0 1520 000e C840 lsrs r0, r0, r1 1521 0010 7047 bx lr 1522 .cfi_endproc 1523 .LFE345: 1525 0012 00BF .section .text.HAL_DACEx_DualGetValue,"ax",%progbits 1526 .align 1 ARM GAS /tmp/ccuycrlg.s page 49 1527 .p2align 2,,3 1528 .global HAL_DACEx_DualGetValue 1529 .syntax unified 1530 .thumb 1531 .thumb_func 1532 .fpu fpv4-sp-d16 1534 HAL_DACEx_DualGetValue: 1535 .LFB346: 1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** uint32_t tmp = 0UL; 1536 .loc 1 1000 0 1537 .cfi_startproc 1538 @ args = 0, pretend = 0, frame = 0 1539 @ frame_needed = 0, uses_anonymous_args = 0 1540 @ link register save eliminated. 1541 .LVL123: 1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1542 .loc 1 1003 0 1543 0000 0368 ldr r3, [r0] 1544 0002 DA6A ldr r2, [r3, #44] 1545 .LVL124: 1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1546 .loc 1 1005 0 1547 0004 186B ldr r0, [r3, #48] 1548 .LVL125: 1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac_ex.c **** 1549 .loc 1 1009 0 1550 0006 42EA0040 orr r0, r2, r0, lsl #16 1551 .LVL126: 1552 000a 7047 bx lr 1553 .cfi_endproc 1554 .LFE346: 1556 .text 1557 .Letext0: 1558 .file 2 "/usr/include/newlib/machine/_default_types.h" 1559 .file 3 "/usr/include/newlib/sys/_stdint.h" 1560 .file 4 "Drivers/CMSIS/Include/core_cm4.h" 1561 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h" 1562 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 1563 .file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h" 1564 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 1565 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h" 1566 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dac.h" 1567 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h" 1568 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h" 1569 .file 13 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" ARM GAS /tmp/ccuycrlg.s page 50 DEFINED SYMBOLS *ABS*:0000000000000000 stm32g4xx_hal_dac_ex.c /tmp/ccuycrlg.s:16 .text.HAL_DACEx_DualStart:0000000000000000 $t /tmp/ccuycrlg.s:24 .text.HAL_DACEx_DualStart:0000000000000000 HAL_DACEx_DualStart /tmp/ccuycrlg.s:118 .text.HAL_DACEx_DualStop:0000000000000000 $t /tmp/ccuycrlg.s:126 .text.HAL_DACEx_DualStop:0000000000000000 HAL_DACEx_DualStop /tmp/ccuycrlg.s:165 .text.HAL_DACEx_DualStart_DMA:0000000000000000 $t /tmp/ccuycrlg.s:173 .text.HAL_DACEx_DualStart_DMA:0000000000000000 HAL_DACEx_DualStart_DMA /tmp/ccuycrlg.s:370 .text.HAL_DACEx_DualStart_DMA:00000000000000e4 $d /tmp/ccuycrlg.s:975 .text.DAC_DMAConvCpltCh2:0000000000000000 DAC_DMAConvCpltCh2 /tmp/ccuycrlg.s:1031 .text.DAC_DMAHalfConvCpltCh2:0000000000000000 DAC_DMAHalfConvCpltCh2 /tmp/ccuycrlg.s:1082 .text.DAC_DMAErrorCh2:0000000000000000 DAC_DMAErrorCh2 /tmp/ccuycrlg.s:380 .text.HAL_DACEx_DualStop_DMA:0000000000000000 $t /tmp/ccuycrlg.s:388 .text.HAL_DACEx_DualStop_DMA:0000000000000000 HAL_DACEx_DualStop_DMA /tmp/ccuycrlg.s:467 .text.HAL_DACEx_TriangleWaveGenerate:0000000000000000 $t /tmp/ccuycrlg.s:475 .text.HAL_DACEx_TriangleWaveGenerate:0000000000000000 HAL_DACEx_TriangleWaveGenerate /tmp/ccuycrlg.s:541 .text.HAL_DACEx_NoiseWaveGenerate:0000000000000000 $t /tmp/ccuycrlg.s:549 .text.HAL_DACEx_NoiseWaveGenerate:0000000000000000 HAL_DACEx_NoiseWaveGenerate /tmp/ccuycrlg.s:615 .text.HAL_DACEx_SawtoothWaveGenerate:0000000000000000 $t /tmp/ccuycrlg.s:623 .text.HAL_DACEx_SawtoothWaveGenerate:0000000000000000 HAL_DACEx_SawtoothWaveGenerate /tmp/ccuycrlg.s:722 .text.HAL_DACEx_SawtoothWaveDataReset:0000000000000000 $t /tmp/ccuycrlg.s:730 .text.HAL_DACEx_SawtoothWaveDataReset:0000000000000000 HAL_DACEx_SawtoothWaveDataReset /tmp/ccuycrlg.s:810 .text.HAL_DACEx_SawtoothWaveDataStep:0000000000000000 $t /tmp/ccuycrlg.s:818 .text.HAL_DACEx_SawtoothWaveDataStep:0000000000000000 HAL_DACEx_SawtoothWaveDataStep /tmp/ccuycrlg.s:898 .text.HAL_DACEx_DualSetValue:0000000000000000 $t /tmp/ccuycrlg.s:906 .text.HAL_DACEx_DualSetValue:0000000000000000 HAL_DACEx_DualSetValue /tmp/ccuycrlg.s:945 .text.HAL_DACEx_ConvCpltCallbackCh2:0000000000000000 $t /tmp/ccuycrlg.s:953 .text.HAL_DACEx_ConvCpltCallbackCh2:0000000000000000 HAL_DACEx_ConvCpltCallbackCh2 /tmp/ccuycrlg.s:967 .text.DAC_DMAConvCpltCh2:0000000000000000 $t /tmp/ccuycrlg.s:1004 .text.HAL_DACEx_ConvHalfCpltCallbackCh2:0000000000000000 $t /tmp/ccuycrlg.s:1012 .text.HAL_DACEx_ConvHalfCpltCallbackCh2:0000000000000000 HAL_DACEx_ConvHalfCpltCallbackCh2 /tmp/ccuycrlg.s:1023 .text.DAC_DMAHalfConvCpltCh2:0000000000000000 $t /tmp/ccuycrlg.s:1055 .text.HAL_DACEx_ErrorCallbackCh2:0000000000000000 $t /tmp/ccuycrlg.s:1063 .text.HAL_DACEx_ErrorCallbackCh2:0000000000000000 HAL_DACEx_ErrorCallbackCh2 /tmp/ccuycrlg.s:1074 .text.DAC_DMAErrorCh2:0000000000000000 $t /tmp/ccuycrlg.s:1116 .text.HAL_DACEx_DMAUnderrunCallbackCh2:0000000000000000 $t /tmp/ccuycrlg.s:1124 .text.HAL_DACEx_DMAUnderrunCallbackCh2:0000000000000000 HAL_DACEx_DMAUnderrunCallbackCh2 /tmp/ccuycrlg.s:1135 .text.HAL_DACEx_SelfCalibrate:0000000000000000 $t /tmp/ccuycrlg.s:1143 .text.HAL_DACEx_SelfCalibrate:0000000000000000 HAL_DACEx_SelfCalibrate /tmp/ccuycrlg.s:1400 .text.HAL_DACEx_SetUserTrimming:0000000000000000 $t /tmp/ccuycrlg.s:1408 .text.HAL_DACEx_SetUserTrimming:0000000000000000 HAL_DACEx_SetUserTrimming /tmp/ccuycrlg.s:1494 .text.HAL_DACEx_GetTrimOffset:0000000000000000 $t /tmp/ccuycrlg.s:1502 .text.HAL_DACEx_GetTrimOffset:0000000000000000 HAL_DACEx_GetTrimOffset /tmp/ccuycrlg.s:1526 .text.HAL_DACEx_DualGetValue:0000000000000000 $t /tmp/ccuycrlg.s:1534 .text.HAL_DACEx_DualGetValue:0000000000000000 HAL_DACEx_DualGetValue UNDEFINED SYMBOLS HAL_Delay HAL_DMA_Start_IT DAC_DMAConvCpltCh1 DAC_DMAHalfConvCpltCh1 DAC_DMAErrorCh1 HAL_DMA_Abort