2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 1
2021-07-02 22:19:04 +02:00
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.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.HAL_DAC_MspInit,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .weak HAL_DAC_MspInit
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 HAL_DAC_MspInit:
25 .LFB331:
26 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c"
1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ******************************************************************************
3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @file stm32g4xx_hal_dac.c
4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @author MCD Application Team
5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DAC HAL module driver.
6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * functionalities of the Digital to Analog Converter (DAC) peripheral:
8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * + Initialization and de-initialization functions
9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * + IO operation functions
10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * + Peripheral Control functions
11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * + Peripheral State and Errors functions
12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @verbatim
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ##### DAC Peripheral features #####
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC Channels ***
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ====================
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** STM32G4 devices integrate up to seven 12-bit Digital Analog Converters,
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** up to six of them grouped by pair forming a DAC instance.
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The 2 converters of an single instance (i.e. channel1 & channel2)
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** can be used independently or simultaneously (dual mode):
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) DAC channel1 with DAC_OUT1 as output (not for all) or connected to on-chip
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** peripherals (ex. comparators, operational amplifier).
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) DAC channel2 with DAC_OUT2 as output (not for all) or connected to on-chip
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** peripherals (ex. comparators, operational amplifier).
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Note: when an instance only includes one converter, only independent mode is
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** supported by this converter.
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 2
2021-07-02 22:19:04 +02:00
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** STM32G4 instances & converters availability and output PIO mapping (DAC_OUTx):
35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** | DAC1 | DAC2 | DAC3 | DAC4 |
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Channel 1 | | YES | YES | YES | YES
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** | DAC_OUT1 | PA4 | PA6 | - | -
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Channel 2 | | YES | NO | YES | YES
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** | DAC_OUT2 | PA5 | - | - | -
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Note: On this STM32 series, all devices do not include each DAC instances listed
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** above. Refer to device datasheet for DACx instance availability.
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC Triggers ***
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ====================
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Digital to Analog conversion can be non-triggered using DAC_TRIGGER_NONE
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** and DAC_OUT1/DAC_OUT2 is available once writing to DHRx register.
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Digital to Analog conversion can be triggered by:
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) External event: EXTI Line 9 (any GPIOx_PIN_9) using DAC_TRIGGER_EXT_IT9.
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The used pin (GPIOx_PIN_9) must be configured in input mode.
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) Timers TRGO: TIM1, TIM2, TIM3, TIM4, TIM6, TIM7, TIM8 and TIM15
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (DAC_TRIGGER_T2_TRGO, DAC_TRIGGER_T3_TRGO...)
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) Software using DAC_TRIGGER_SOFTWARE
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) HRTimer TRGO: HRTIM1 (1)
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (DAC_TRIGGER_HRTIM_TRG01, DAC_TRIGGER_HRTIM_TRG02...)
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Specific triggers for sawtooth generation:
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) External event: EXTI Line 10 (any GPIOx_PIN_10) using DAC_TRIGGER_EXT_IT10.
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The used pin (GPIOx_PIN_10) must be configured in input mode.
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) HRTimer Step & Reset: HRTIM1 (1)
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (DAC_TRIGGER_HRTIM_RST_TRG1, DAC_TRIGGER_HRTIM_STEP_TRG1...)
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Note: On this STM32 series, parameter only available if HRTIM feature is
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** supported (refer to device datasheet for supported features list)
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC Buffer mode feature ***
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ===============================
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Each DAC channel integrates an output buffer that can be used to
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** reduce the output impedance, and to drive external loads directly
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** without having to add an external operational amplifier.
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** To enable, the output buffer use
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (@) Refer to the device datasheet for more details about output
86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** impedance value with and without output buffer.
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC connect feature ***
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ===============================
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 3
2021-07-02 22:19:04 +02:00
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Each DAC channel can be connected internally.
92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** To connect, use
93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_INTERNAL;
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** or
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_BOTH;
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** GPIO configurations guidelines ***
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =====================
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** When a DAC channel is used (ex channel1 on PA4) and the other is not
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (ex channel2 on PA5 is configured in Analog and disabled).
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Channel1 may disturb channel2 as coupling effect.
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Note that there is no coupling on channel2 as soon as channel2 is turned on.
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Coupling on adjacent channel could be avoided as follows:
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** when unused PA5 is configured as INPUT PULL-UP or DOWN.
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** PA5 is configured in ANALOG just before it is turned on.
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC Sample and Hold feature ***
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ========================
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** For each converter, 2 modes are supported: normal mode and
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** "sample and hold" mode (i.e. low power mode).
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** In the sample and hold mode, the DAC core converts data, then holds the
114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** converted voltage on a capacitor. When not converting, the DAC cores and
115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** buffer are completely turned off between samples and the DAC output is
116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tri-stated, therefore reducing the overall power consumption. A new
117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** stabilization period is needed before each new conversion.
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The sample and hold allow setting internal or external voltage @
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** low power consumption cost (output value can be at any given rate either
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** by CPU or DMA).
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The Sample and hold block and registers uses either LSI & run in
124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** several power modes: run mode, sleep mode, low power run, low power sleep
125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** mode & stop1 mode.
126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Low power stop1 mode allows only static conversion.
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** To enable Sample and Hold mode
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Enable LSI using HAL_RCC_OscConfig with RCC_OSCILLATORTYPE_LSI &
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** RCC_LSI_ON parameters.
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Use DAC_InitStructure.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_ENABLE;
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** & DAC_ChannelConfTypeDef.DAC_SampleAndHoldConfig.DAC_SampleTime,
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DAC_HoldTime & DAC_RefreshTime;
136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC calibration feature ***
138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ===================================
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) The 2 converters (channel1 & channel2) provide calibration capabilities.
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (++) Calibration aims at correcting some offset of output buffer.
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (++) The DAC uses either factory calibration settings OR user defined
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** calibration (trimming) settings (i.e. trimming mode).
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (++) The user defined settings can be figured out using self calibration
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** handled by HAL_DACEx_SelfCalibrate.
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (++) HAL_DACEx_SelfCalibrate:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 4
2021-07-02 22:19:04 +02:00
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+++) Runs automatically the calibration.
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+++) Enables the user trimming mode
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+++) Updates a structure with trimming values with fresh calibration
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** results.
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The user may store the calibration results for larger
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (ex monitoring the trimming as a function of temperature
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** for instance)
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC wave generation feature ***
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ===================================
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Both DAC channels can be used to generate
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) Noise wave
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) Triangle wave
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) Sawtooth wave
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC data format ***
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =======================
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The DAC data format can be:
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) 8-bit right alignment using DAC_ALIGN_8B_R
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) 12-bit left alignment using DAC_ALIGN_12B_L
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (#) 12-bit right alignment using DAC_ALIGN_12B_R
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC data value to voltage correspondence ***
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ================================================
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The analog output voltage on each DAC channel pin is determined
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** by the following equation:
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DAC_OUTx = VREF+ * DOR / 4095
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) with DOR is the Data Output Register
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** VREF+ is the input voltage reference (refer to the device datasheet)
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** e.g. To set DAC_OUT1 to 0.7V, use
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Assuming that VREF+ = 3.3V, DAC_OUT1 = (3.3 * 868) / 4095 = 0.7V
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DMA requests ***
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =====================
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** A DMAMUX request can be generated when an external trigger (but not a software trigger)
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** occurs if DMAMUX requests are enabled using HAL_DAC_Start_DMA().
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DMAMUX requests are mapped as following:
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** | DAC1 | DAC2 | DAC3 | DAC4 |
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Channel 1 | | 6 | 41 | 102 | 104
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Channel 2 | | 7 | - | 103 | 105
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ----------------------------------------------------------------------------
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Note: On this STM32 series, all devices do not include each DAC instances listed
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** above. Refer to device datasheet for DACx instance availability.
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** High frequency interface mode ***
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =====================================
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 5
2021-07-02 22:19:04 +02:00
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The high frequency interface informs DAC instance about the bus frequency in use.
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** It is mandatory information for DAC (as internal timing of DAC is bus frequency dependent)
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** provided thanks to parameter DAC_HighFrequency handled in HAL_DAC_ConfigChannel () function.
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Use of DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC value of DAC_HighFrequency is recommended
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** function figured out the correct setting.
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The high frequency mode is same for all converters of a same DAC instance. Either same
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** parameter DAC_HighFrequency is used for all DAC converters or again self
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC detection parameter.
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (@) For Dual mode and specific signal (Sawtooth, triangle and noise) generation
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** please refer to Extended Features Driver description
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ##### How to use this driver #####
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) DAC APB clock must be enabled to get write access to DAC
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** registers using HAL_DAC_Init()
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) If available & needed, configure DAC_OUTx (DAC_OUT1, DAC_OUT2) in analog mode.
223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Configure the DAC channel using HAL_DAC_ConfigChannel() function.
224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Enable the DAC channel using HAL_DAC_Start() or HAL_DAC_Start_DMA() functions.
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** Calibration mode IO operation ***
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ======================================
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Retrieve the factory trimming (calibration settings) using HAL_DACEx_GetTrimOffset()
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Run the calibration using HAL_DACEx_SelfCalibrate()
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Update the trimming while DAC running using HAL_DACEx_SetUserTrimming()
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** Polling mode IO operation ***
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =================================
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Start the DAC peripheral using HAL_DAC_Start()
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) To read the DAC last data output value, use the HAL_DAC_GetValue() function.
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Stop the DAC peripheral using HAL_DAC_Stop()
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DMA mode IO operation ***
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Start the DAC peripheral using HAL_DAC_Start_DMA(), at this stage the user specify the l
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** of data to be transferred at each end of conversion
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** First issued trigger will start the conversion of the value previously set by HAL_DAC_Se
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) At the middle of data transfer HAL_DAC_ConvHalfCpltCallbackCh1() or HAL_DACEx_ConvHalfCp
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** function is executed and user can add his own code by customization of function pointer
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_ConvHalfCpltCallbackCh1() or HAL_DACEx_ConvHalfCpltCallbackCh2()
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) At The end of data transfer HAL_DAC_ConvCpltCallbackCh1() or HAL_DACEx_ConvHalfCpltCallb
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** function is executed and user can add his own code by customization of function pointer
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_ConvCpltCallbackCh1() or HAL_DACEx_ConvHalfCpltCallbackCh2()
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) In case of transfer Error, HAL_DAC_ErrorCallbackCh1() function is executed and user can
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) In case of DMA underrun, DAC interruption triggers and execute internal function HAL_DAC
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_DMAUnderrunCallbackCh1() or HAL_DACEx_DMAUnderrunCallbackCh2()
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** function is executed and user can add his own code by customization of function pointer
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_DMAUnderrunCallbackCh1() or HAL_DACEx_DMAUnderrunCallbackCh2() and
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** add his own code by customization of function pointer HAL_DAC_ErrorCallbackCh1()
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Stop the DAC peripheral using HAL_DAC_Stop_DMA()
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 6
2021-07-02 22:19:04 +02:00
261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** Callback registration ***
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =============================================
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** The compilation define USE_HAL_DAC_REGISTER_CALLBACKS when set to 1
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** allows the user to configure dynamically the driver callbacks.
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Use Functions @ref HAL_DAC_RegisterCallback() to register a user callback,
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** it allows to register following callbacks:
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvCpltCallbackCh1 : callback when a half transfer is completed on Ch1.
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvHalfCpltCallbackCh1 : callback when a transfer is completed on Ch1.
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ErrorCallbackCh1 : callback when an error occurs on Ch1.
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) DMAUnderrunCallbackCh1 : callback when an underrun error occurs on Ch1.
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvCpltCallbackCh2 : callback when a half transfer is completed on Ch2.
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvHalfCpltCallbackCh2 : callback when a transfer is completed on Ch2.
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ErrorCallbackCh2 : callback when an error occurs on Ch2.
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) DMAUnderrunCallbackCh2 : callback when an underrun error occurs on Ch2.
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) MspInitCallback : DAC MspInit.
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) MspDeInitCallback : DAC MspdeInit.
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** and a pointer to the user callback function.
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Use function @ref HAL_DAC_UnRegisterCallback() to reset a callback to the default
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** weak (surcharged) function. It allows to reset following callbacks:
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvCpltCallbackCh1 : callback when a half transfer is completed on Ch1.
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvHalfCpltCallbackCh1 : callback when a transfer is completed on Ch1.
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ErrorCallbackCh1 : callback when an error occurs on Ch1.
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) DMAUnderrunCallbackCh1 : callback when an underrun error occurs on Ch1.
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvCpltCallbackCh2 : callback when a half transfer is completed on Ch2.
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ConvHalfCpltCallbackCh2 : callback when a transfer is completed on Ch2.
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) ErrorCallbackCh2 : callback when an error occurs on Ch2.
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) DMAUnderrunCallbackCh2 : callback when an underrun error occurs on Ch2.
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) MspInitCallback : DAC MspInit.
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) MspDeInitCallback : DAC MspdeInit.
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) All Callbacks
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** This function) takes as parameters the HAL peripheral handle and the Callback ID.
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** By default, after the @ref HAL_DAC_Init and if the state is HAL_DAC_STATE_RESET
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** all callbacks are reset to the corresponding legacy weak (surcharged) functions.
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Exception done for MspInit and MspDeInit callbacks that are respectively
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** reset to the legacy weak (surcharged) functions in the @ref HAL_DAC_Init
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** and @ref HAL_DAC_DeInit only when these callbacks are null (not registered beforehand).
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** If not, MspInit or MspDeInit are not null, the @ref HAL_DAC_Init and @ref HAL_DAC_DeInit
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Callbacks can be registered/unregistered in READY state only.
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Exception done for MspInit/MspDeInit callbacks that can be registered/unregistered
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** in READY or RESET state, thus registered (user) MspInit/DeInit callbacks can be used
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** during the Init/DeInit.
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** In that case first register the MspInit/MspDeInit user callbacks
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** using @ref HAL_DAC_RegisterCallback before calling @ref HAL_DAC_DeInit
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** or @ref HAL_DAC_Init function.
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** When The compilation define USE_HAL_DAC_REGISTER_CALLBACKS is set to 0 or
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** not defined, the callback registering feature is not available
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** and weak (surcharged) callbacks are used.
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *** DAC HAL driver macros list ***
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 7
2021-07-02 22:19:04 +02:00
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** =============================================
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** Below the list of most used macros in DAC HAL driver.
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) __HAL_DAC_ENABLE : Enable the DAC peripheral
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) __HAL_DAC_DISABLE : Disable the DAC peripheral
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) __HAL_DAC_CLEAR_FLAG: Clear the DAC's pending flags
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) __HAL_DAC_GET_FLAG: Get the selected DAC's flag status
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (@) You can refer to the DAC HAL driver header file for more useful macros
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @endverbatim
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ******************************************************************************
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @attention
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * <h2><center>© Copyright (c) 2019 STMicroelectronics.
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * All rights reserved.</center></h2>
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This software component is licensed by ST under BSD 3-Clause license,
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the "License"; You may not use this file except in compliance with the
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * License. You may obtain a copy of the License at:
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * opensource.org/licenses/BSD-3-Clause
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ******************************************************************************
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Includes ------------------------------------------------------------------*/
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #include "stm32g4xx_hal.h"
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @addtogroup STM32G4xx_HAL_Driver
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #ifdef HAL_DAC_MODULE_ENABLED
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if defined(DAC1) || defined(DAC2) || defined(DAC3) ||defined (DAC4)
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @defgroup DAC DAC
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DAC driver modules
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Private typedef -----------------------------------------------------------*/
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Private define ------------------------------------------------------------*/
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Private constants ---------------------------------------------------------*/
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @addtogroup DAC_Private_Constants DAC Private Constants
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #define TIMEOUT_DAC_CALIBCONFIG 1U /* 1 ms */
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #define HFSEL_ENABLE_THRESHOLD_80MHZ 80000000U /* 80 MHz */
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #define HFSEL_ENABLE_THRESHOLD_160MHZ 160000000U /* 160 MHz */
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Private macro -------------------------------------------------------------*/
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 8
2021-07-02 22:19:04 +02:00
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Private variables ---------------------------------------------------------*/
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Private function prototypes -----------------------------------------------*/
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Exported functions -------------------------------------------------------*/
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @defgroup DAC_Exported_Functions DAC Exported Functions
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @defgroup DAC_Exported_Functions_Group1 Initialization and de-initialization functions
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Initialization and Configuration functions
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @verbatim
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ##### Initialization and de-initialization functions #####
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..] This section provides functions allowing to:
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Initialize and configure the DAC.
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) De-initialize the DAC.
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @endverbatim
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Initialize the DAC peripheral according to the specified parameters
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * in the DAC_InitStruct and initialize the associated handle.
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_Init(DAC_HandleTypeDef *hdac)
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check DAC handle */
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac == NULL)
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_ERROR;
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_ALL_INSTANCE(hdac->Instance));
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac->State == HAL_DAC_STATE_RESET)
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Init the DAC Callback settings */
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh1 = HAL_DAC_ConvCpltCallbackCh1;
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh1 = HAL_DAC_ConvHalfCpltCallbackCh1;
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh1 = HAL_DAC_ErrorCallbackCh1;
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh1 = HAL_DAC_DMAUnderrunCallbackCh1;
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh2 = HAL_DACEx_ConvCpltCallbackCh2;
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh2 = HAL_DACEx_ConvHalfCpltCallbackCh2;
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh2 = HAL_DACEx_ErrorCallbackCh2;
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh2 = HAL_DACEx_DMAUnderrunCallbackCh2;
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac->MspInitCallback == NULL)
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback = HAL_DAC_MspInit;
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 9
2021-07-02 22:19:04 +02:00
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Allocate lock resource and initialize it */
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Lock = HAL_UNLOCKED;
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Init the low level hardware */
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback(hdac);
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Init the low level hardware */
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_MspInit(hdac);
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Initialize the DAC state*/
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_BUSY;
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set DAC error code to none */
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode = HAL_DAC_ERROR_NONE;
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Initialize the DAC state*/
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Deinitialize the DAC peripheral registers to their default reset values.
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_DeInit(DAC_HandleTypeDef *hdac)
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check DAC handle */
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac == NULL)
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_ERROR;
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_ALL_INSTANCE(hdac->Instance));
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_BUSY;
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac->MspDeInitCallback == NULL)
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback = HAL_DAC_MspDeInit;
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* DeInit the low level hardware */
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback(hdac);
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* DeInit the low level hardware */
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 10
2021-07-02 22:19:04 +02:00
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_MspDeInit(hdac);
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set DAC error code to none */
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode = HAL_DAC_ERROR_NONE;
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_RESET;
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Release Lock */
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_UNLOCK(hdac);
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Initialize the DAC MSP.
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __weak void HAL_DAC_MspInit(DAC_HandleTypeDef *hdac)
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
27 .loc 1 512 0
28 .cfi_startproc
29 @ args = 0, pretend = 0, frame = 0
30 @ frame_needed = 0, uses_anonymous_args = 0
31 @ link register save eliminated.
32 .LVL0:
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Prevent unused argument(s) compilation warning */
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** UNUSED(hdac);
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* NOTE : This function should not be modified, when the callback is needed,
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** the HAL_DAC_MspInit could be implemented in the user file
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
33 .loc 1 519 0
34 0000 7047 bx lr
35 .cfi_endproc
36 .LFE331:
38 0002 00BF .section .text.HAL_DAC_Init,"ax",%progbits
39 .align 1
40 .p2align 2,,3
41 .global HAL_DAC_Init
42 .syntax unified
43 .thumb
44 .thumb_func
45 .fpu fpv4-sp-d16
47 HAL_DAC_Init:
48 .LFB329:
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check DAC handle */
49 .loc 1 406 0
50 .cfi_startproc
51 @ args = 0, pretend = 0, frame = 0
52 @ frame_needed = 0, uses_anonymous_args = 0
53 .LVL1:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 11
2021-07-02 22:19:04 +02:00
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
54 .loc 1 408 0
55 0000 88B1 cbz r0, .L6
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
56 .loc 1 415 0
57 0002 0379 ldrb r3, [r0, #4] @ zero_extendqisi2
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check DAC handle */
58 .loc 1 406 0
59 0004 10B5 push {r4, lr}
60 .LCFI0:
61 .cfi_def_cfa_offset 8
62 .cfi_offset 4, -8
63 .cfi_offset 14, -4
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
64 .loc 1 415 0
65 0006 03F0FF02 and r2, r3, #255
66 000a 0446 mov r4, r0
67 000c 3BB1 cbz r3, .L11
68 .LVL2:
69 .L5:
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
70 .loc 1 451 0
71 000e 0023 movs r3, #0
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
72 .loc 1 448 0
73 0010 0221 movs r1, #2
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
74 .loc 1 454 0
75 0012 0122 movs r2, #1
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
76 .loc 1 448 0
77 0014 2171 strb r1, [r4, #4]
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
78 .loc 1 457 0
79 0016 1846 mov r0, r3
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
80 .loc 1 451 0
81 0018 2361 str r3, [r4, #16]
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
82 .loc 1 454 0
83 001a 2271 strb r2, [r4, #4]
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
84 .loc 1 458 0
85 001c 10BD pop {r4, pc}
86 .LVL3:
87 .L11:
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
88 .loc 1 436 0
89 001e 4271 strb r2, [r0, #5]
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
90 .loc 1 443 0
91 0020 FFF7FEFF bl HAL_DAC_MspInit
92 .LVL4:
93 0024 F3E7 b .L5
94 .LVL5:
95 .L6:
96 .LCFI1:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 12
2021-07-02 22:19:04 +02:00
97 .cfi_def_cfa_offset 0
98 .cfi_restore 4
99 .cfi_restore 14
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
100 .loc 1 410 0
101 0026 0120 movs r0, #1
102 .LVL6:
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
103 .loc 1 458 0
104 0028 7047 bx lr
105 .cfi_endproc
106 .LFE329:
108 002a 00BF .section .text.HAL_DAC_MspDeInit,"ax",%progbits
109 .align 1
110 .p2align 2,,3
111 .weak HAL_DAC_MspDeInit
112 .syntax unified
113 .thumb
114 .thumb_func
115 .fpu fpv4-sp-d16
117 HAL_DAC_MspDeInit:
118 .LFB351:
119 .cfi_startproc
120 @ args = 0, pretend = 0, frame = 0
121 @ frame_needed = 0, uses_anonymous_args = 0
122 @ link register save eliminated.
123 0000 7047 bx lr
124 .cfi_endproc
125 .LFE351:
127 0002 00BF .section .text.HAL_DAC_DeInit,"ax",%progbits
128 .align 1
129 .p2align 2,,3
130 .global HAL_DAC_DeInit
131 .syntax unified
132 .thumb
133 .thumb_func
134 .fpu fpv4-sp-d16
136 HAL_DAC_DeInit:
137 .LFB330:
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check DAC handle */
138 .loc 1 467 0
139 .cfi_startproc
140 @ args = 0, pretend = 0, frame = 0
141 @ frame_needed = 0, uses_anonymous_args = 0
142 .LVL7:
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
143 .loc 1 469 0
144 0000 50B1 cbz r0, .L15
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check DAC handle */
145 .loc 1 467 0
146 0002 10B5 push {r4, lr}
147 .LCFI2:
148 .cfi_def_cfa_offset 8
149 .cfi_offset 4, -8
150 .cfi_offset 14, -4
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
151 .loc 1 478 0
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 13
2021-07-02 22:19:04 +02:00
152 0004 0223 movs r3, #2
153 0006 0446 mov r4, r0
154 0008 0371 strb r3, [r0, #4]
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
155 .loc 1 489 0
156 000a FFF7FEFF bl HAL_DAC_MspDeInit
157 .LVL8:
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
158 .loc 1 493 0
159 000e 0020 movs r0, #0
160 0010 2061 str r0, [r4, #16]
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
161 .loc 1 499 0
162 0012 6071 strb r0, [r4, #5]
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
163 .loc 1 496 0
164 0014 2071 strb r0, [r4, #4]
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
165 .loc 1 503 0
166 0016 10BD pop {r4, pc}
167 .LVL9:
168 .L15:
169 .LCFI3:
170 .cfi_def_cfa_offset 0
171 .cfi_restore 4
172 .cfi_restore 14
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
173 .loc 1 471 0
174 0018 0120 movs r0, #1
175 .LVL10:
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
176 .loc 1 503 0
177 001a 7047 bx lr
178 .cfi_endproc
179 .LFE330:
181 .section .text.HAL_DAC_Start,"ax",%progbits
182 .align 1
183 .p2align 2,,3
184 .global HAL_DAC_Start
185 .syntax unified
186 .thumb
187 .thumb_func
188 .fpu fpv4-sp-d16
190 HAL_DAC_Start:
191 .LFB333:
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DeInitialize the DAC MSP.
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __weak void HAL_DAC_MspDeInit(DAC_HandleTypeDef *hdac)
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Prevent unused argument(s) compilation warning */
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** UNUSED(hdac);
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 14
2021-07-02 22:19:04 +02:00
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* NOTE : This function should not be modified, when the callback is needed,
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** the HAL_DAC_MspDeInit could be implemented in the user file
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @defgroup DAC_Exported_Functions_Group2 IO operation functions
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief IO operation functions
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @verbatim
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ##### IO operation functions #####
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..] This section provides functions allowing to:
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Start conversion.
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Stop conversion.
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Start conversion and enable DMA transfer.
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Stop conversion and disable DMA transfer.
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Get result of conversion.
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @endverbatim
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Enables DAC and starts conversion of channel.
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_Start(DAC_HandleTypeDef *hdac, uint32_t Channel)
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
192 .loc 1 573 0
193 .cfi_startproc
194 @ args = 0, pretend = 0, frame = 0
195 @ frame_needed = 0, uses_anonymous_args = 0
196 .LVL11:
197 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
198 .LCFI4:
199 .cfi_def_cfa_offset 24
200 .cfi_offset 3, -24
201 .cfi_offset 4, -20
202 .cfi_offset 5, -16
203 .cfi_offset 6, -12
204 .cfi_offset 7, -8
205 .cfi_offset 14, -4
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 15
2021-07-02 22:19:04 +02:00
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process locked */
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_LOCK(hdac);
206 .loc 1 578 0
207 0002 4379 ldrb r3, [r0, #5] @ zero_extendqisi2
208 0004 012B cmp r3, #1
209 0006 2DD0 beq .L24
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_BUSY;
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the Peripheral */
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_ENABLE(hdac, Channel);
210 .loc 1 584 0 discriminator 2
211 0008 0268 ldr r2, [r0]
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
212 .loc 1 581 0 discriminator 2
213 000a 0226 movs r6, #2
214 000c 0671 strb r6, [r0, #4]
215 000e 0D46 mov r5, r1
216 0010 0446 mov r4, r0
217 .loc 1 584 0 discriminator 2
218 0012 1168 ldr r1, [r2]
219 .LVL12:
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
220 .loc 1 578 0 discriminator 2
221 0014 0120 movs r0, #1
222 .LVL13:
223 .loc 1 584 0 discriminator 2
224 0016 05F01007 and r7, r5, #16
225 001a 00FA07F3 lsl r3, r0, r7
226 001e 0B43 orrs r3, r3, r1
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
227 .loc 1 578 0 discriminator 2
228 0020 6071 strb r0, [r4, #5]
229 .loc 1 584 0 discriminator 2
230 0022 1360 str r3, [r2]
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Ensure minimum wait before using peripheral after enabling it */
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_Delay(1);
231 .loc 1 586 0 discriminator 2
232 0024 FFF7FEFF bl HAL_Delay
233 .LVL14:
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check if software trigger enabled */
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((hdac->Instance->CR & (DAC_CR_TEN1 | DAC_CR_TSEL1)) == DAC_TRIGGER_SOFTWARE)
234 .loc 1 591 0 discriminator 2
235 0028 2268 ldr r2, [r4]
236 002a 1368 ldr r3, [r2]
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
237 .loc 1 588 0 discriminator 2
238 002c 65B9 cbnz r5, .L22
239 .loc 1 591 0
240 002e 03F03E03 and r3, r3, #62
241 0032 B342 cmp r3, r6
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 16
2021-07-02 22:19:04 +02:00
242 0034 03D1 bne .L23
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the selected DAC software conversion */
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIG1);
243 .loc 1 594 0
244 0036 5368 ldr r3, [r2, #4]
245 0038 43F00103 orr r3, r3, #1
246 003c 5360 str r3, [r2, #4]
247 .L23:
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check if software trigger enabled */
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((hdac->Instance->CR & (DAC_CR_TEN2 | DAC_CR_TSEL2)) == (DAC_TRIGGER_SOFTWARE << (Channel &
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the selected DAC software conversion*/
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->Instance->SWTRIGR, DAC_SWTRIGR_SWTRIG2);
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
248 .loc 1 610 0
249 003e 0123 movs r3, #1
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process unlocked */
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_UNLOCK(hdac);
250 .loc 1 613 0
251 0040 0020 movs r0, #0
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
252 .loc 1 610 0
253 0042 2371 strb r3, [r4, #4]
254 .loc 1 613 0
255 0044 6071 strb r0, [r4, #5]
256 .L21:
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
257 .loc 1 617 0
258 0046 F8BD pop {r3, r4, r5, r6, r7, pc}
259 .LVL15:
260 .L22:
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
261 .loc 1 601 0
262 0048 BE40 lsls r6, r6, r7
263 004a 03F47813 and r3, r3, #4063232
264 004e B342 cmp r3, r6
265 0050 F5D1 bne .L23
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
266 .loc 1 604 0
267 0052 5368 ldr r3, [r2, #4]
268 0054 43F00203 orr r3, r3, #2
269 0058 5360 str r3, [r2, #4]
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 17
2021-07-02 22:19:04 +02:00
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
270 .loc 1 613 0
271 005a 0020 movs r0, #0
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
272 .loc 1 610 0
273 005c 0123 movs r3, #1
274 005e 2371 strb r3, [r4, #4]
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
275 .loc 1 613 0
276 0060 6071 strb r0, [r4, #5]
277 0062 F0E7 b .L21
278 .LVL16:
279 .L24:
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
280 .loc 1 578 0
281 0064 0220 movs r0, #2
282 .LVL17:
283 .loc 1 617 0
284 0066 F8BD pop {r3, r4, r5, r6, r7, pc}
285 .cfi_endproc
286 .LFE333:
288 .section .text.HAL_DAC_Stop,"ax",%progbits
289 .align 1
290 .p2align 2,,3
291 .global HAL_DAC_Stop
292 .syntax unified
293 .thumb
294 .thumb_func
295 .fpu fpv4-sp-d16
297 HAL_DAC_Stop:
298 .LFB334:
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Disables DAC and stop conversion of channel.
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_Stop(DAC_HandleTypeDef *hdac, uint32_t Channel)
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
299 .loc 1 633 0
300 .cfi_startproc
301 @ args = 0, pretend = 0, frame = 0
302 @ frame_needed = 0, uses_anonymous_args = 0
303 .LVL18:
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the Peripheral */
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_DISABLE(hdac, Channel);
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 18
2021-07-02 22:19:04 +02:00
304 .loc 1 638 0
305 0000 0268 ldr r2, [r0]
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
306 .loc 1 633 0
307 0002 38B5 push {r3, r4, r5, lr}
308 .LCFI5:
309 .cfi_def_cfa_offset 16
310 .cfi_offset 3, -16
311 .cfi_offset 4, -12
312 .cfi_offset 5, -8
313 .cfi_offset 14, -4
314 .loc 1 638 0
315 0004 01F01001 and r1, r1, #16
316 .LVL19:
317 0008 0124 movs r4, #1
318 000a 1368 ldr r3, [r2]
319 000c 04FA01F1 lsl r1, r4, r1
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
320 .loc 1 633 0
321 0010 0546 mov r5, r0
322 .loc 1 638 0
323 0012 23EA0101 bic r1, r3, r1
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Ensure minimum wait before enabling peripheral after disabling it */
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_Delay(1);
324 .loc 1 640 0
325 0016 2046 mov r0, r4
326 .LVL20:
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Ensure minimum wait before enabling peripheral after disabling it */
327 .loc 1 638 0
328 0018 1160 str r1, [r2]
329 .loc 1 640 0
330 001a FFF7FEFF bl HAL_Delay
331 .LVL21:
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
332 .loc 1 643 0
333 001e 2C71 strb r4, [r5, #4]
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
334 .loc 1 647 0
335 0020 0020 movs r0, #0
336 0022 38BD pop {r3, r4, r5, pc}
337 .cfi_endproc
338 .LFE334:
340 .section .text.HAL_DAC_Start_DMA,"ax",%progbits
341 .align 1
342 .p2align 2,,3
343 .global HAL_DAC_Start_DMA
344 .syntax unified
345 .thumb
346 .thumb_func
347 .fpu fpv4-sp-d16
349 HAL_DAC_Start_DMA:
350 .LFB335:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 19
2021-07-02 22:19:04 +02:00
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Enables DAC and starts conversion of channel.
651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param pData The source Buffer address.
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Length The length of data to be transferred from memory to DAC peripheral
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Alignment Specifies the data alignment for DAC channel.
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_Start_DMA(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t *pData, uin
670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t Alignment)
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
351 .loc 1 671 0
352 .cfi_startproc
353 @ args = 4, pretend = 0, frame = 0
354 @ frame_needed = 0, uses_anonymous_args = 0
355 .LVL22:
356 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
357 .LCFI6:
358 .cfi_def_cfa_offset 24
359 .cfi_offset 3, -24
360 .cfi_offset 4, -20
361 .cfi_offset 5, -16
362 .cfi_offset 6, -12
363 .cfi_offset 7, -8
364 .cfi_offset 14, -4
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef status = HAL_ERROR;
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmpreg = 0U;
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_ALIGN(Alignment));
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process locked */
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_LOCK(hdac);
365 .loc 1 680 0
366 0002 4479 ldrb r4, [r0, #5] @ zero_extendqisi2
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef status = HAL_ERROR;
367 .loc 1 671 0
368 0004 069F ldr r7, [sp, #24]
369 .loc 1 680 0
370 0006 012C cmp r4, #1
371 0008 60D0 beq .L43
372 000a 0446 mov r4, r0
373 000c 0D46 mov r5, r1
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 20
2021-07-02 22:19:04 +02:00
374 000e 2668 ldr r6, [r4]
375 0010 1146 mov r1, r2
376 .LVL23:
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_BUSY;
377 .loc 1 683 0 discriminator 2
378 0012 0222 movs r2, #2
379 .LVL24:
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
380 .loc 1 680 0 discriminator 2
381 0014 0120 movs r0, #1
382 .LVL25:
383 .loc 1 683 0 discriminator 2
384 0016 2271 strb r2, [r4, #4]
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
385 .loc 1 680 0 discriminator 2
386 0018 6071 strb r0, [r4, #5]
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DMA transfer complete callback for channel1 */
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMA_Handle1->XferCpltCallback = DAC_DMAConvCpltCh1;
689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DMA half transfer complete callback for channel1 */
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMA_Handle1->XferHalfCpltCallback = DAC_DMAHalfConvCpltCh1;
692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DMA error callback for channel1 */
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMA_Handle1->XferErrorCallback = DAC_DMAErrorCh1;
695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the selected DAC channel1 DMA request */
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->Instance->CR, DAC_CR_DMAEN1);
387 .loc 1 697 0 discriminator 2
388 001a 3268 ldr r2, [r6]
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
389 .loc 1 685 0 discriminator 2
390 001c 5DBB cbnz r5, .L30
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
391 .loc 1 688 0
392 001e A068 ldr r0, [r4, #8]
393 0020 DFF8C8C0 ldr ip, .L50
394 0024 C0F82CC0 str ip, [r0, #44]
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
395 .loc 1 691 0
396 0028 DFF8C4E0 ldr lr, .L50+4
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
397 .loc 1 694 0
398 002c DFF8C4C0 ldr ip, .L50+8
399 .loc 1 697 0
400 0030 42F48052 orr r2, r2, #4096
698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Case of use of channel 1 */
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** switch (Alignment)
401 .loc 1 700 0
402 0034 042F cmp r7, #4
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
403 .loc 1 694 0
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 21
2021-07-02 22:19:04 +02:00
404 0036 C0E90CEC strd lr, ip, [r0, #48]
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
405 .loc 1 697 0
406 003a 3260 str r2, [r6]
407 .loc 1 700 0
408 003c 52D0 beq .L32
409 003e 082F cmp r7, #8
410 0040 4DD0 beq .L33
411 0042 002F cmp r7, #0
412 0044 3CD0 beq .L47
701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_12B_R:
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get DHR12R1 address */
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg = (uint32_t)&hdac->Instance->DHR12R1;
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_12B_L:
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get DHR12L1 address */
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg = (uint32_t)&hdac->Instance->DHR12L1;
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_8B_R:
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get DHR8R1 address */
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg = (uint32_t)&hdac->Instance->DHR8R1;
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default:
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DMA transfer complete callback for channel2 */
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMA_Handle2->XferCpltCallback = DAC_DMAConvCpltCh2;
723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DMA half transfer complete callback for channel2 */
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMA_Handle2->XferHalfCpltCallback = DAC_DMAHalfConvCpltCh2;
726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DMA error callback for channel2 */
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMA_Handle2->XferErrorCallback = DAC_DMAErrorCh2;
729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the selected DAC channel2 DMA request */
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->Instance->CR, DAC_CR_DMAEN2);
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Case of use of channel 2 */
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** switch (Alignment)
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_12B_R:
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get DHR12R2 address */
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg = (uint32_t)&hdac->Instance->DHR12R2;
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_12B_L:
741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get DHR12L2 address */
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg = (uint32_t)&hdac->Instance->DHR12L2;
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_8B_R:
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get DHR8R2 address */
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg = (uint32_t)&hdac->Instance->DHR8R2;
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 22
2021-07-02 22:19:04 +02:00
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default:
749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the DMA channel */
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
413 .loc 1 755 0
414 0046 0022 movs r2, #0
415 .LVL26:
416 .L35:
756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the DAC DMA underrun interrupt */
758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_ENABLE_IT(hdac, DAC_IT_DMAUDR1);
417 .loc 1 758 0
418 0048 3768 ldr r7, [r6]
419 004a 47F40057 orr r7, r7, #8192
420 004e 3760 str r7, [r6]
421 .LVL27:
759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the DMA channel */
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_DMA_Start_IT(hdac->DMA_Handle1, (uint32_t)pData, tmpreg, Length);
422 .loc 1 761 0
423 0050 FFF7FEFF bl HAL_DMA_Start_IT
424 .LVL28:
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the DAC DMA underrun interrupt */
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_ENABLE_IT(hdac, DAC_IT_DMAUDR2);
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the DMA channel */
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_DMA_Start_IT(hdac->DMA_Handle2, (uint32_t)pData, tmpreg, Length);
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process Unlocked */
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_UNLOCK(hdac);
425 .loc 1 775 0
426 0054 0023 movs r3, #0
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
427 .loc 1 761 0
428 0056 0646 mov r6, r0
429 .LVL29:
430 .loc 1 775 0
431 0058 6371 strb r3, [r4, #5]
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (status == HAL_OK)
432 .loc 1 777 0
433 005a 5EBB cbnz r6, .L42
434 .L49:
778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Enable the Peripheral */
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_ENABLE(hdac, Channel);
435 .loc 1 780 0
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 23
2021-07-02 22:19:04 +02:00
436 005c 2368 ldr r3, [r4]
437 005e 0120 movs r0, #1
438 0060 1A68 ldr r2, [r3]
439 0062 05F01005 and r5, r5, #16
440 .LVL30:
441 0066 00FA05F5 lsl r5, r0, r5
442 006a 1543 orrs r5, r5, r2
443 006c 1D60 str r5, [r3]
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Ensure minimum wait before using peripheral after enabling it */
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_Delay(1);
444 .loc 1 782 0
445 006e FFF7FEFF bl HAL_Delay
446 .LVL31:
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_DMA;
787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return status;
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
447 .loc 1 791 0
448 0072 3046 mov r0, r6
449 0074 F8BD pop {r3, r4, r5, r6, r7, pc}
450 .LVL32:
451 .L30:
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
452 .loc 1 722 0
453 0076 E068 ldr r0, [r4, #12]
454 0078 DFF87CC0 ldr ip, .L50+12
455 007c C0F82CC0 str ip, [r0, #44]
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
456 .loc 1 725 0
457 0080 DFF878E0 ldr lr, .L50+16
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
458 .loc 1 728 0
459 0084 DFF878C0 ldr ip, .L50+20
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
460 .loc 1 731 0
461 0088 42F08052 orr r2, r2, #268435456
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
462 .loc 1 734 0
463 008c 042F cmp r7, #4
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
464 .loc 1 728 0
465 008e C0E90CEC strd lr, ip, [r0, #48]
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
466 .loc 1 731 0
467 0092 3260 str r2, [r6]
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
468 .loc 1 734 0
469 0094 20D0 beq .L36
470 0096 082F cmp r7, #8
471 0098 1BD0 beq .L37
472 009a A7B1 cbz r7, .L48
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 24
2021-07-02 22:19:04 +02:00
473 .loc 1 755 0
474 009c 0022 movs r2, #0
475 .LVL33:
476 .L39:
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
477 .loc 1 767 0
478 009e 3768 ldr r7, [r6]
479 00a0 47F00057 orr r7, r7, #536870912
480 00a4 3760 str r7, [r6]
481 .LVL34:
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
482 .loc 1 770 0
483 00a6 FFF7FEFF bl HAL_DMA_Start_IT
484 .LVL35:
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
485 .loc 1 775 0
486 00aa 0023 movs r3, #0
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
487 .loc 1 770 0
488 00ac 0646 mov r6, r0
489 .LVL36:
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
490 .loc 1 775 0
491 00ae 6371 strb r3, [r4, #5]
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
492 .loc 1 777 0
493 00b0 002E cmp r6, #0
494 00b2 D3D0 beq .L49
495 .L42:
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
496 .loc 1 786 0
497 00b4 2369 ldr r3, [r4, #16]
498 00b6 43F00403 orr r3, r3, #4
499 00ba 2361 str r3, [r4, #16]
500 .loc 1 791 0
501 00bc 3046 mov r0, r6
502 00be F8BD pop {r3, r4, r5, r6, r7, pc}
503 .LVL37:
504 .L47:
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
505 .loc 1 704 0
506 00c0 06F10802 add r2, r6, #8
507 .LVL38:
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_12B_L:
508 .loc 1 705 0
509 00c4 C0E7 b .L35
510 .LVL39:
511 .L48:
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
512 .loc 1 738 0
513 00c6 06F11402 add r2, r6, #20
514 .LVL40:
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_12B_L:
515 .loc 1 739 0
516 00ca E8E7 b .L39
517 .LVL41:
518 .L43:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 25
2021-07-02 22:19:04 +02:00
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
519 .loc 1 680 0
520 00cc 0226 movs r6, #2
521 .loc 1 791 0
522 00ce 3046 mov r0, r6
523 .LVL42:
524 00d0 F8BD pop {r3, r4, r5, r6, r7, pc}
525 .LVL43:
526 .L37:
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
527 .loc 1 746 0
528 00d2 06F11C02 add r2, r6, #28
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default:
529 .loc 1 747 0
530 00d6 E2E7 b .L39
531 .L36:
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
532 .loc 1 742 0
533 00d8 06F11802 add r2, r6, #24
534 .LVL44:
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_8B_R:
535 .loc 1 743 0
536 00dc DFE7 b .L39
537 .LVL45:
538 .L33:
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
539 .loc 1 712 0
540 00de 06F11002 add r2, r6, #16
541 .LVL46:
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default:
542 .loc 1 713 0
543 00e2 B1E7 b .L35
544 .LVL47:
545 .L32:
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
546 .loc 1 708 0
547 00e4 06F10C02 add r2, r6, #12
548 .LVL48:
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case DAC_ALIGN_8B_R:
549 .loc 1 709 0
550 00e8 AEE7 b .L35
551 .L51:
552 00ea 00BF .align 2
553 .L50:
554 00ec 00000000 .word DAC_DMAConvCpltCh1
555 00f0 00000000 .word DAC_DMAHalfConvCpltCh1
556 00f4 00000000 .word DAC_DMAErrorCh1
557 00f8 00000000 .word DAC_DMAConvCpltCh2
558 00fc 00000000 .word DAC_DMAHalfConvCpltCh2
559 0100 00000000 .word DAC_DMAErrorCh2
560 .cfi_endproc
561 .LFE335:
563 .section .text.HAL_DAC_Stop_DMA,"ax",%progbits
564 .align 1
565 .p2align 2,,3
566 .global HAL_DAC_Stop_DMA
567 .syntax unified
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 26
2021-07-02 22:19:04 +02:00
568 .thumb
569 .thumb_func
570 .fpu fpv4-sp-d16
572 HAL_DAC_Stop_DMA:
573 .LFB336:
792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Disables DAC and stop conversion of channel.
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_Stop_DMA(DAC_HandleTypeDef *hdac, uint32_t Channel)
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
574 .loc 1 807 0
575 .cfi_startproc
576 @ args = 0, pretend = 0, frame = 0
577 @ frame_needed = 0, uses_anonymous_args = 0
578 .LVL49:
808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the selected DAC channel DMA request */
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->CR &= ~(DAC_CR_DMAEN1 << (Channel & 0x10UL));
579 .loc 1 812 0
580 0000 0368 ldr r3, [r0]
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
581 .loc 1 807 0
582 0002 70B5 push {r4, r5, r6, lr}
583 .LCFI7:
584 .cfi_def_cfa_offset 16
585 .cfi_offset 4, -16
586 .cfi_offset 5, -12
587 .cfi_offset 6, -8
588 .cfi_offset 14, -4
589 .loc 1 812 0
590 0004 01F01002 and r2, r1, #16
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
591 .loc 1 807 0
592 0008 0446 mov r4, r0
593 .loc 1 812 0
594 000a 4FF48055 mov r5, #4096
595 000e 1868 ldr r0, [r3]
596 .LVL50:
597 0010 9540 lsls r5, r5, r2
598 0012 20EA0500 bic r0, r0, r5
599 0016 1860 str r0, [r3]
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the Peripheral */
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_DISABLE(hdac, Channel);
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 27
2021-07-02 22:19:04 +02:00
600 .loc 1 815 0
601 0018 1D68 ldr r5, [r3]
602 001a 0120 movs r0, #1
603 001c 00FA02F2 lsl r2, r0, r2
604 0020 25EA0202 bic r2, r5, r2
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
605 .loc 1 807 0
606 0024 0E46 mov r6, r1
607 .loc 1 815 0
608 0026 1A60 str r2, [r3]
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Ensure minimum wait before enabling peripheral after disabling it */
817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_Delay(1);
609 .loc 1 817 0
610 0028 FFF7FEFF bl HAL_Delay
611 .LVL51:
818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the DMA channel */
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Channel1 is used */
822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
612 .loc 1 822 0
613 002c 5EB1 cbz r6, .L56
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the DMA channel */
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (void)HAL_DMA_Abort(hdac->DMA_Handle1);
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the DAC DMA underrun interrupt */
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_DISABLE_IT(hdac, DAC_IT_DMAUDR1);
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else /* Channel2 is used for */
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the DMA channel */
834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (void)HAL_DMA_Abort(hdac->DMA_Handle2);
614 .loc 1 834 0
615 002e E068 ldr r0, [r4, #12]
616 0030 FFF7FEFF bl HAL_DMA_Abort
617 .LVL52:
835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the DAC DMA underrun interrupt */
837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_DISABLE_IT(hdac, DAC_IT_DMAUDR2);
618 .loc 1 837 0
619 0034 2268 ldr r2, [r4]
620 0036 1368 ldr r3, [r2]
621 0038 23F00053 bic r3, r3, #536870912
622 003c 1360 str r3, [r2]
838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
623 .loc 1 842 0
624 003e 0123 movs r3, #1
625 0040 2371 strb r3, [r4, #4]
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 28
2021-07-02 22:19:04 +02:00
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
626 .loc 1 846 0
627 0042 0020 movs r0, #0
628 0044 70BD pop {r4, r5, r6, pc}
629 .LVL53:
630 .L56:
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
631 .loc 1 825 0
632 0046 A068 ldr r0, [r4, #8]
633 0048 FFF7FEFF bl HAL_DMA_Abort
634 .LVL54:
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
635 .loc 1 828 0
636 004c 2268 ldr r2, [r4]
637 004e 1368 ldr r3, [r2]
638 0050 23F40053 bic r3, r3, #8192
639 0054 1360 str r3, [r2]
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
640 .loc 1 842 0
641 0056 0123 movs r3, #1
642 0058 2371 strb r3, [r4, #4]
643 .loc 1 846 0
644 005a 0020 movs r0, #0
645 005c 70BD pop {r4, r5, r6, pc}
646 .cfi_endproc
647 .LFE336:
649 005e 00BF .section .text.HAL_DAC_SetValue,"ax",%progbits
650 .align 1
651 .p2align 2,,3
652 .global HAL_DAC_SetValue
653 .syntax unified
654 .thumb
655 .thumb_func
656 .fpu fpv4-sp-d16
658 HAL_DAC_SetValue:
659 .LFB338:
847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Handles DAC interrupt request
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This function uses the interruption of DMA
851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * underrun.
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** void HAL_DAC_IRQHandler(DAC_HandleTypeDef *hdac)
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR1))
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check underrun flag of DAC channel 1 */
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_FLAG(hdac, DAC_FLAG_DMAUDR1))
862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state to error state */
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_ERROR;
865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set DAC error code to channel1 DMA underrun error */
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_DMAUNDERRUNCH1);
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 29
2021-07-02 22:19:04 +02:00
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear the underrun flag */
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_CLEAR_FLAG(hdac, DAC_FLAG_DMAUDR1);
871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the selected DAC channel1 DMA request */
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** CLEAR_BIT(hdac->Instance->CR, DAC_CR_DMAEN1);
874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Error callback */
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh1(hdac);
878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_DMAUnderrunCallbackCh1(hdac);
880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR2))
886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check underrun flag of DAC channel 2 */
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_FLAG(hdac, DAC_FLAG_DMAUDR2))
889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state to error state */
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_ERROR;
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set DAC error code to channel2 DMA underrun error */
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_DMAUNDERRUNCH2);
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear the underrun flag */
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_DAC_CLEAR_FLAG(hdac, DAC_FLAG_DMAUDR2);
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable the selected DAC channel2 DMA request */
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** CLEAR_BIT(hdac->Instance->CR, DAC_CR_DMAEN2);
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Error callback */
903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh2(hdac);
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DACEx_DMAUnderrunCallbackCh2(hdac);
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Set the specified data holding register value for DAC channel.
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Alignment Specifies the data alignment.
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 30
2021-07-02 22:19:04 +02:00
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_ALIGN_8B_R: 8bit right data alignment selected
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_ALIGN_12B_L: 12bit left data alignment selected
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_ALIGN_12B_R: 12bit right data alignment selected
929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Data Data to be loaded in the selected data holding register.
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_SetValue(DAC_HandleTypeDef *hdac, uint32_t Channel, uint32_t Alignment, u
933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
660 .loc 1 933 0
661 .cfi_startproc
662 @ args = 0, pretend = 0, frame = 8
663 @ frame_needed = 0, uses_anonymous_args = 0
664 @ link register save eliminated.
665 .LVL55:
666 0000 10B4 push {r4}
667 .LCFI8:
668 .cfi_def_cfa_offset 4
669 .cfi_offset 4, -4
670 0002 83B0 sub sp, sp, #12
671 .LCFI9:
672 .cfi_def_cfa_offset 16
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __IO uint32_t tmp = 0UL;
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_ALIGN(Alignment));
939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* In case DMA Double data mode is activated, DATA range is almost full uin32_t one: no check */
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((hdac->Instance->MCR & (DAC_MCR_DMADOUBLE1 << (Channel & 0x10UL))) == 0UL)
673 .loc 1 940 0
674 0004 0068 ldr r0, [r0]
675 .LVL56:
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __IO uint32_t tmp = 0UL;
676 .loc 1 934 0
677 0006 0024 movs r4, #0
678 0008 0194 str r4, [sp, #4]
679 .loc 1 940 0
680 000a C46B ldr r4, [r0, #60]
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_DATA(Data));
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmp = (uint32_t)hdac->Instance;
681 .loc 1 945 0
682 000c 0190 str r0, [sp, #4]
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
683 .loc 1 946 0
684 000e 51B1 cbz r1, .L61
947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmp += DAC_DHR12R1_ALIGNMENT(Alignment);
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmp += DAC_DHR12R2_ALIGNMENT(Alignment);
685 .loc 1 953 0
686 0010 0199 ldr r1, [sp, #4]
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 31
2021-07-02 22:19:04 +02:00
687 .LVL57:
688 0012 1431 adds r1, r1, #20
689 0014 0A44 add r2, r2, r1
690 .LVL58:
691 0016 0192 str r2, [sp, #4]
692 .L59:
954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set the DAC channel selected data holding register */
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *(__IO uint32_t *) tmp = Data;
693 .loc 1 958 0
694 0018 019A ldr r2, [sp, #4]
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
695 .loc 1 962 0
696 001a 0020 movs r0, #0
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
697 .loc 1 958 0
698 001c 1360 str r3, [r2]
699 .loc 1 962 0
700 001e 03B0 add sp, sp, #12
701 .LCFI10:
702 .cfi_remember_state
703 .cfi_def_cfa_offset 4
704 @ sp needed
705 0020 5DF8044B ldr r4, [sp], #4
706 .LCFI11:
707 .cfi_restore 4
708 .cfi_def_cfa_offset 0
709 0024 7047 bx lr
710 .LVL59:
711 .L61:
712 .LCFI12:
713 .cfi_restore_state
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
714 .loc 1 948 0
715 0026 0199 ldr r1, [sp, #4]
716 .LVL60:
717 0028 0831 adds r1, r1, #8
718 002a 0A44 add r2, r2, r1
719 .LVL61:
720 002c 0192 str r2, [sp, #4]
721 002e F3E7 b .L59
722 .cfi_endproc
723 .LFE338:
725 .section .text.HAL_DAC_ConvCpltCallbackCh1,"ax",%progbits
726 .align 1
727 .p2align 2,,3
728 .weak HAL_DAC_ConvCpltCallbackCh1
729 .syntax unified
730 .thumb
731 .thumb_func
732 .fpu fpv4-sp-d16
734 HAL_DAC_ConvCpltCallbackCh1:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 32
2021-07-02 22:19:04 +02:00
735 .LFB353:
736 .cfi_startproc
737 @ args = 0, pretend = 0, frame = 0
738 @ frame_needed = 0, uses_anonymous_args = 0
739 @ link register save eliminated.
740 0000 7047 bx lr
741 .cfi_endproc
742 .LFE353:
744 0002 00BF .section .text.DAC_DMAConvCpltCh1,"ax",%progbits
745 .align 1
746 .p2align 2,,3
747 .global DAC_DMAConvCpltCh1
748 .syntax unified
749 .thumb
750 .thumb_func
751 .fpu fpv4-sp-d16
753 DAC_DMAConvCpltCh1:
754 .LFB347:
963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Conversion complete callback in non-blocking mode for Channel1
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __weak void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef *hdac)
971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Prevent unused argument(s) compilation warning */
973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** UNUSED(hdac);
974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* NOTE : This function should not be modified, when the callback is needed,
976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** the HAL_DAC_ConvCpltCallbackCh1 could be implemented in the user file
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Conversion half DMA transfer callback in non-blocking mode for Channel1
982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __weak void HAL_DAC_ConvHalfCpltCallbackCh1(DAC_HandleTypeDef *hdac)
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Prevent unused argument(s) compilation warning */
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** UNUSED(hdac);
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* NOTE : This function should not be modified, when the callback is needed,
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** the HAL_DAC_ConvHalfCpltCallbackCh1 could be implemented in the user file
993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Error DAC callback for Channel1.
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 33
2021-07-02 22:19:04 +02:00
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __weak void HAL_DAC_ErrorCallbackCh1(DAC_HandleTypeDef *hdac)
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Prevent unused argument(s) compilation warning */
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** UNUSED(hdac);
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* NOTE : This function should not be modified, when the callback is needed,
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** the HAL_DAC_ErrorCallbackCh1 could be implemented in the user file
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DMA underrun DAC callback for channel1.
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __weak void HAL_DAC_DMAUnderrunCallbackCh1(DAC_HandleTypeDef *hdac)
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Prevent unused argument(s) compilation warning */
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** UNUSED(hdac);
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* NOTE : This function should not be modified, when the callback is needed,
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** the HAL_DAC_DMAUnderrunCallbackCh1 could be implemented in the user file
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @defgroup DAC_Exported_Functions_Group3 Peripheral Control functions
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Peripheral Control functions
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @verbatim
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ##### Peripheral Control functions #####
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..] This section provides functions allowing to:
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Configure channels.
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Set the specified data holding register value for DAC channel.
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @endverbatim
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Returns the last data output value of the selected DAC channel.
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval The selected DAC channel data output value.
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 34
2021-07-02 22:19:04 +02:00
1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t HAL_DAC_GetValue(DAC_HandleTypeDef *hdac, uint32_t Channel)
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmp = 0U;
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the parameters */
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmp = hdac->Instance->DOR1;
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmp = hdac->Instance->DOR2;
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Returns the DAC channel data output register value */
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return tmp;
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Configures the selected DAC channel.
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @note By calling this function, the high frequency interface mode (HFSEL bits)
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * will be set. This parameter scope is the DAC instance. As the function
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * is called for each channel, the @ref DAC_HighFrequency of @arg sConfig
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * must be the same at each call.
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (or DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC self detect).
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param sConfig DAC configuration structure.
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param Channel The selected DAC channel.
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_1: DAC Channel1 selected
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg DAC_CHANNEL_2: DAC Channel2 selected (1)
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * (1) On this STM32 series, parameter not available on all instances.
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * Refer to device datasheet for channels availability.
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL status
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_ConfigChannel(DAC_HandleTypeDef *hdac, DAC_ChannelConfTypeDef *sConfig, u
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmpreg1;
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmpreg2;
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tickstart;
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t hclkfreq;
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t connectOnChip;
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check the DAC parameters */
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_HIGH_FREQUENCY_MODE(sConfig->DAC_HighFrequency));
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_TRIGGER(hdac->Instance, sConfig->DAC_Trigger));
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_TRIGGER(hdac->Instance, sConfig->DAC_Trigger2));
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_OUTPUT_BUFFER_STATE(sConfig->DAC_OutputBuffer));
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHIP_CONNECTION(sConfig->DAC_ConnectOnChipPeripheral));
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_TRIMMING(sConfig->DAC_UserTrimming));
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((sConfig->DAC_UserTrimming) == DAC_TRIMMING_USER)
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 35
2021-07-02 22:19:04 +02:00
1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_TRIMMINGVALUE(sConfig->DAC_TrimmingValue));
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_SAMPLEANDHOLD(sConfig->DAC_SampleAndHold));
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((sConfig->DAC_SampleAndHold) == DAC_SAMPLEANDHOLD_ENABLE)
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_SAMPLETIME(sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime));
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_HOLDTIME(sConfig->DAC_SampleAndHoldConfig.DAC_HoldTime));
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_REFRESHTIME(sConfig->DAC_SampleAndHoldConfig.DAC_RefreshTime));
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_DAC_CHANNEL(hdac->Instance, Channel));
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_FUNCTIONAL_STATE(sConfig->DAC_DMADoubleDataMode));
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** assert_param(IS_FUNCTIONAL_STATE(sConfig->DAC_SignedFormat));
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process locked */
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_LOCK(hdac);
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_BUSY;
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Sample and hold configuration */
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (sConfig->DAC_SampleAndHold == DAC_SAMPLEANDHOLD_ENABLE)
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get timeout */
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tickstart = HAL_GetTick();
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (Channel == DAC_CHANNEL_1)
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* SHSR1 can be written when BWST1 is cleared */
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** while (((hdac->Instance->SR) & DAC_SR_BWST1) != 0UL)
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check for the Timeout */
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((HAL_GetTick() - tickstart) > TIMEOUT_DAC_CALIBCONFIG)
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update error code */
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_TIMEOUT);
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change the DMA state */
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_TIMEOUT;
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_TIMEOUT;
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_Delay(1);
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->SHSR1 = sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime;
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else /* Channel 2 */
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* SHSR2 can be written when BWST2 is cleared */
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** while (((hdac->Instance->SR) & DAC_SR_BWST2) != 0UL)
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Check for the Timeout */
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if ((HAL_GetTick() - tickstart) > TIMEOUT_DAC_CALIBCONFIG)
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update error code */
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** SET_BIT(hdac->ErrorCode, HAL_DAC_ERROR_TIMEOUT);
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 36
2021-07-02 22:19:04 +02:00
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change the DMA state */
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_TIMEOUT;
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_TIMEOUT;
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_Delay(1U);
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->SHSR2 = sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime;
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* HoldTime */
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** MODIFY_REG(hdac->Instance->SHHR, DAC_SHHR_THOLD1 << (Channel & 0x10UL),
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (sConfig->DAC_SampleAndHoldConfig.DAC_HoldTime) << (Channel & 0x10UL));
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* RefreshTime */
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** MODIFY_REG(hdac->Instance->SHRR, DAC_SHRR_TREFRESH1 << (Channel & 0x10UL),
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (sConfig->DAC_SampleAndHoldConfig.DAC_RefreshTime) << (Channel & 0x10UL));
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (sConfig->DAC_UserTrimming == DAC_TRIMMING_USER)
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* USER TRIMMING */
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get the DAC CCR value */
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 = hdac->Instance->CCR;
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear trimming value */
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 &= ~(((uint32_t)(DAC_CCR_OTRIM1)) << (Channel & 0x10UL));
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected trimming offset */
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 = sConfig->DAC_TrimmingValue;
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Calculate CCR register value depending on DAC_Channel */
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= tmpreg2 << (Channel & 0x10UL);
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC CCR */
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->CCR = tmpreg1;
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* else factory trimming is used (factory setting are available at reset)*/
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* SW Nothing has nothing to do */
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get the DAC MCR value */
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 = hdac->Instance->MCR;
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_MODEx bits */
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 &= ~(((uint32_t)(DAC_MCR_MODE1)) << (Channel & 0x10UL));
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: mode, buffer output & on chip peripheral connect */
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (sConfig->DAC_ConnectOnChipPeripheral == DAC_CHIPCONNECT_EXTERNAL)
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** connectOnChip = 0x00000000UL;
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else if (sConfig->DAC_ConnectOnChipPeripheral == DAC_CHIPCONNECT_INTERNAL)
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** connectOnChip = DAC_MCR_MODE1_0;
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else /* (sConfig->DAC_ConnectOnChipPeripheral == DAC_CHIPCONNECT_BOTH) */
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (sConfig->DAC_OutputBuffer == DAC_OUTPUTBUFFER_ENABLE)
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** connectOnChip = DAC_MCR_MODE1_0;
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 37
2021-07-02 22:19:04 +02:00
1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** connectOnChip = 0x00000000UL;
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 = (sConfig->DAC_SampleAndHold | sConfig->DAC_OutputBuffer | connectOnChip);
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_DMADOUBLEx */
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 &= ~(((uint32_t)(DAC_MCR_DMADOUBLE1)) << (Channel & 0x10UL));
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: DMA double data mode */
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 |= (sConfig->DAC_DMADoubleDataMode == ENABLE) ? DAC_MCR_DMADOUBLE1 : 0UL;
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_SINFORMATx */
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 &= ~(((uint32_t)(DAC_MCR_SINFORMAT1)) << (Channel & 0x10UL));
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: Signed format */
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 |= (sConfig->DAC_SignedFormat == ENABLE) ? DAC_MCR_SINFORMAT1 : 0UL;
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_HFSEL bits */
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 &= ~(DAC_MCR_HFSEL);
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for both DAC channels: high frequency mode */
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC == sConfig->DAC_HighFrequency)
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hclkfreq = HAL_RCC_GetHCLKFreq();
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hclkfreq > HFSEL_ENABLE_THRESHOLD_160MHZ)
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= DAC_HIGH_FREQUENCY_INTERFACE_MODE_ABOVE_160MHZ;
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else if (hclkfreq > HFSEL_ENABLE_THRESHOLD_80MHZ)
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= DAC_HIGH_FREQUENCY_INTERFACE_MODE_ABOVE_80MHZ;
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= DAC_HIGH_FREQUENCY_INTERFACE_MODE_DISABLE;
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= sConfig->DAC_HighFrequency;
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Calculate MCR register value depending on DAC_Channel */
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= tmpreg2 << (Channel & 0x10UL);
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC MCR */
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->MCR = tmpreg1;
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* DAC in normal operating mode hence clear DAC_CR_CENx bit */
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** CLEAR_BIT(hdac->Instance->CR, DAC_CR_CEN1 << (Channel & 0x10UL));
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Get the DAC CR value */
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 = hdac->Instance->CR;
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear TENx, TSELx, WAVEx and MAMPx bits */
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 &= ~(((uint32_t)(DAC_CR_MAMP1 | DAC_CR_WAVE1 | DAC_CR_TSEL1 | DAC_CR_TEN1)) << (Channel &
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: trigger */
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set TSELx and TENx bits according to DAC_Trigger value */
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 = sConfig->DAC_Trigger;
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Calculate CR register value depending on DAC_Channel */
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg1 |= tmpreg2 << (Channel & 0x10UL);
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC CR */
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->CR = tmpreg1;
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable wave generation */
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** CLEAR_BIT(hdac->Instance->CR, (DAC_CR_WAVE1 << (Channel & 0x10UL)));
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 38
2021-07-02 22:19:04 +02:00
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set STRSTTRIGSELx and STINCTRIGSELx bits according to DAC_Trigger & DAC_Trigger2 values */
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 = ((sConfig->DAC_Trigger & DAC_CR_TSEL1) >> DAC_CR_TSEL1_Pos) << DAC_STMODR_STRSTTRIGSEL1
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 |= ((sConfig->DAC_Trigger2 & DAC_CR_TSEL1) >> DAC_CR_TSEL1_Pos) << DAC_STMODR_STINCTRIGSE
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Modify STMODR register value depending on DAC_Channel */
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** MODIFY_REG(hdac->Instance->STMODR, (DAC_STMODR_STINCTRIGSEL1 | DAC_STMODR_STRSTTRIGSEL1) << (Chan
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process unlocked */
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_UNLOCK(hdac);
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return function status */
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_OK;
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @defgroup DAC_Exported_Functions_Group4 Peripheral State and Errors functions
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Peripheral State and Errors functions
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @verbatim
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ##### Peripheral State and Errors functions #####
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** ==============================================================================
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** [..]
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** This subsection provides functions allowing to
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Check the DAC state.
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (+) Check the DAC Errors.
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** @endverbatim
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief return the DAC handle state
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval HAL state
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_StateTypeDef HAL_DAC_GetState(DAC_HandleTypeDef *hdac)
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return DAC handle state */
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return hdac->State;
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Return the DAC error code
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac pointer to a DAC_HandleTypeDef structure that contains
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DAC.
1340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval DAC Error Code
1341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t HAL_DAC_GetError(DAC_HandleTypeDef *hdac)
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 39
2021-07-02 22:19:04 +02:00
1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return hdac->ErrorCode;
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
1349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
1353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @addtogroup DAC_Exported_Functions
1356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
1357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @addtogroup DAC_Exported_Functions_Group1
1360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
1361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
1363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Register a User DAC Callback
1365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * To be used instead of the weak (surcharged) predefined callback
1366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac DAC handle
1367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param CallbackID ID of the callback to be registered
1368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
1369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_ERROR_INVALID_CALLBACK DAC Error Callback ID
1370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_COMPLETE_CB_ID DAC CH1 Complete Callback ID
1371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_HALF_COMPLETE_CB_ID DAC CH1 Half Complete Callback ID
1372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_ERROR_ID DAC CH1 Error Callback ID
1373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_UNDERRUN_CB_ID DAC CH1 UnderRun Callback ID
1374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_COMPLETE_CB_ID DAC CH2 Complete Callback ID
1375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_HALF_COMPLETE_CB_ID DAC CH2 Half Complete Callback ID
1376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_ERROR_ID DAC CH2 Error Callback ID
1377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_UNDERRUN_CB_ID DAC CH2 UnderRun Callback ID
1378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_MSPINIT_CB_ID DAC MSP Init Callback ID
1379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_MSPDEINIT_CB_ID DAC MSP DeInit Callback ID
1380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** *
1381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param pCallback pointer to the Callback function
1382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval status
1383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_RegisterCallback(DAC_HandleTypeDef *hdac, HAL_DAC_CallbackIDTypeDef Callb
1385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** pDAC_CallbackTypeDef pCallback)
1386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef status = HAL_OK;
1388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (pCallback == NULL)
1390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return HAL_ERROR;
1394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process locked */
1397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_LOCK(hdac);
1398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac->State == HAL_DAC_STATE_READY)
1400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 40
2021-07-02 22:19:04 +02:00
1401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** switch (CallbackID)
1402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_COMPLETE_CB_ID :
1404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh1 = pCallback;
1405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_HALF_COMPLETE_CB_ID :
1407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh1 = pCallback;
1408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_ERROR_ID :
1410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh1 = pCallback;
1411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_UNDERRUN_CB_ID :
1413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh1 = pCallback;
1414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_COMPLETE_CB_ID :
1417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh2 = pCallback;
1418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_HALF_COMPLETE_CB_ID :
1420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh2 = pCallback;
1421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_ERROR_ID :
1423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh2 = pCallback;
1424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_UNDERRUN_CB_ID :
1426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh2 = pCallback;
1427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPINIT_CB_ID :
1430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback = pCallback;
1431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPDEINIT_CB_ID :
1433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback = pCallback;
1434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default :
1436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* update return status */
1439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_ERROR;
1440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else if (hdac->State == HAL_DAC_STATE_RESET)
1444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** switch (CallbackID)
1446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPINIT_CB_ID :
1448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback = pCallback;
1449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPDEINIT_CB_ID :
1451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback = pCallback;
1452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default :
1454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* update return status */
1457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_ERROR;
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 41
2021-07-02 22:19:04 +02:00
1458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
1462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* update return status */
1466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_ERROR;
1467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Release Lock */
1470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_UNLOCK(hdac);
1471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return status;
1472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief Unregister a User DAC Callback
1476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * DAC Callback is redirected to the weak (surcharged) predefined callback
1477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdac DAC handle
1478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param CallbackID ID of the callback to be unregistered
1479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * This parameter can be one of the following values:
1480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_COMPLETE_CB_ID DAC CH1 transfer Complete Callback ID
1481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_HALF_COMPLETE_CB_ID DAC CH1 Half Complete Callback ID
1482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_ERROR_ID DAC CH1 Error Callback ID
1483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH1_UNDERRUN_CB_ID DAC CH1 UnderRun Callback ID
1484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_COMPLETE_CB_ID DAC CH2 Complete Callback ID
1485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_HALF_COMPLETE_CB_ID DAC CH2 Half Complete Callback ID
1486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_ERROR_ID DAC CH2 Error Callback ID
1487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_CH2_UNDERRUN_CB_ID DAC CH2 UnderRun Callback ID
1488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_MSPINIT_CB_ID DAC MSP Init Callback ID
1489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_MSPDEINIT_CB_ID DAC MSP DeInit Callback ID
1490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @arg @ref HAL_DAC_ALL_CB_ID DAC All callbacks
1491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval status
1492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef HAL_DAC_UnRegisterCallback(DAC_HandleTypeDef *hdac, HAL_DAC_CallbackIDTypeDef Cal
1494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_StatusTypeDef status = HAL_OK;
1496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Process locked */
1498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_LOCK(hdac);
1499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hdac->State == HAL_DAC_STATE_READY)
1501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** switch (CallbackID)
1503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_COMPLETE_CB_ID :
1505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh1 = HAL_DAC_ConvCpltCallbackCh1;
1506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_HALF_COMPLETE_CB_ID :
1508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh1 = HAL_DAC_ConvHalfCpltCallbackCh1;
1509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_ERROR_ID :
1511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh1 = HAL_DAC_ErrorCallbackCh1;
1512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH1_UNDERRUN_CB_ID :
1514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh1 = HAL_DAC_DMAUnderrunCallbackCh1;
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 42
2021-07-02 22:19:04 +02:00
1515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_COMPLETE_CB_ID :
1518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh2 = HAL_DACEx_ConvCpltCallbackCh2;
1519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_HALF_COMPLETE_CB_ID :
1521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh2 = HAL_DACEx_ConvHalfCpltCallbackCh2;
1522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_ERROR_ID :
1524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh2 = HAL_DACEx_ErrorCallbackCh2;
1525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_CH2_UNDERRUN_CB_ID :
1527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh2 = HAL_DACEx_DMAUnderrunCallbackCh2;
1528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPINIT_CB_ID :
1531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback = HAL_DAC_MspInit;
1532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPDEINIT_CB_ID :
1534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback = HAL_DAC_MspDeInit;
1535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_ALL_CB_ID :
1537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh1 = HAL_DAC_ConvCpltCallbackCh1;
1538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh1 = HAL_DAC_ConvHalfCpltCallbackCh1;
1539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh1 = HAL_DAC_ErrorCallbackCh1;
1540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh1 = HAL_DAC_DMAUnderrunCallbackCh1;
1541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh2 = HAL_DACEx_ConvCpltCallbackCh2;
1543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh2 = HAL_DACEx_ConvHalfCpltCallbackCh2;
1544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh2 = HAL_DACEx_ErrorCallbackCh2;
1545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->DMAUnderrunCallbackCh2 = HAL_DACEx_DMAUnderrunCallbackCh2;
1546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback = HAL_DAC_MspInit;
1548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback = HAL_DAC_MspDeInit;
1549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default :
1551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* update return status */
1554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_ERROR;
1555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else if (hdac->State == HAL_DAC_STATE_RESET)
1559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** switch (CallbackID)
1561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPINIT_CB_ID :
1563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspInitCallback = HAL_DAC_MspInit;
1564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** case HAL_DAC_MSPDEINIT_CB_ID :
1566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->MspDeInitCallback = HAL_DAC_MspDeInit;
1567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** default :
1569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* update return status */
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 43
2021-07-02 22:19:04 +02:00
1572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_ERROR;
1573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** break;
1574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** else
1577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Update the error code */
1579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_INVALID_CALLBACK;
1580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* update return status */
1581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** status = HAL_ERROR;
1582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Release Lock */
1585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** __HAL_UNLOCK(hdac);
1586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return status;
1587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
1589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
1592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @}
1596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /** @addtogroup DAC_Private_Functions
1599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @{
1600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DMA conversion complete callback.
1604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DMA module.
1606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
1607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** void DAC_DMAConvCpltCh1(DMA_HandleTypeDef *hdma)
1609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
755 .loc 1 1609 0
756 .cfi_startproc
757 @ args = 0, pretend = 0, frame = 0
758 @ frame_needed = 0, uses_anonymous_args = 0
759 .LVL62:
760 .loc 1 1609 0
761 0000 10B5 push {r4, lr}
762 .LCFI13:
763 .cfi_def_cfa_offset 8
764 .cfi_offset 4, -8
765 .cfi_offset 14, -4
1610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
766 .loc 1 1610 0
767 0002 846A ldr r4, [r0, #40]
768 .LVL63:
1611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
1613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvCpltCallbackCh1(hdac);
1614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 44
2021-07-02 22:19:04 +02:00
1615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_ConvCpltCallbackCh1(hdac);
769 .loc 1 1615 0
770 0004 2046 mov r0, r4
771 .LVL64:
772 0006 FFF7FEFF bl HAL_DAC_ConvCpltCallbackCh1
773 .LVL65:
1616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
1617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
774 .loc 1 1618 0
775 000a 0123 movs r3, #1
776 000c 2371 strb r3, [r4, #4]
1619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
777 .loc 1 1619 0
778 000e 10BD pop {r4, pc}
779 .cfi_endproc
780 .LFE347:
782 .section .text.HAL_DAC_ConvHalfCpltCallbackCh1,"ax",%progbits
783 .align 1
784 .p2align 2,,3
785 .weak HAL_DAC_ConvHalfCpltCallbackCh1
786 .syntax unified
787 .thumb
788 .thumb_func
789 .fpu fpv4-sp-d16
791 HAL_DAC_ConvHalfCpltCallbackCh1:
792 .LFB355:
793 .cfi_startproc
794 @ args = 0, pretend = 0, frame = 0
795 @ frame_needed = 0, uses_anonymous_args = 0
796 @ link register save eliminated.
797 0000 7047 bx lr
798 .cfi_endproc
799 .LFE355:
801 0002 00BF .section .text.DAC_DMAHalfConvCpltCh1,"ax",%progbits
802 .align 1
803 .p2align 2,,3
804 .global DAC_DMAHalfConvCpltCh1
805 .syntax unified
806 .thumb
807 .thumb_func
808 .fpu fpv4-sp-d16
810 DAC_DMAHalfConvCpltCh1:
811 .LFB348:
1620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DMA half transfer complete callback.
1623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DMA module.
1625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
1626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** void DAC_DMAHalfConvCpltCh1(DMA_HandleTypeDef *hdma)
1628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
812 .loc 1 1628 0
813 .cfi_startproc
814 @ args = 0, pretend = 0, frame = 0
815 @ frame_needed = 0, uses_anonymous_args = 0
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 45
2021-07-02 22:19:04 +02:00
816 .LVL66:
817 .loc 1 1628 0
818 0000 08B5 push {r3, lr}
819 .LCFI14:
820 .cfi_def_cfa_offset 8
821 .cfi_offset 3, -8
822 .cfi_offset 14, -4
1629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Conversion complete callback */
1631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
1632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ConvHalfCpltCallbackCh1(hdac);
1633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
1634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_ConvHalfCpltCallbackCh1(hdac);
823 .loc 1 1634 0
824 0002 806A ldr r0, [r0, #40]
825 .LVL67:
826 0004 FFF7FEFF bl HAL_DAC_ConvHalfCpltCallbackCh1
827 .LVL68:
1635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
1636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
828 .loc 1 1636 0
829 0008 08BD pop {r3, pc}
830 .cfi_endproc
831 .LFE348:
833 000a 00BF .section .text.HAL_DAC_ErrorCallbackCh1,"ax",%progbits
834 .align 1
835 .p2align 2,,3
836 .weak HAL_DAC_ErrorCallbackCh1
837 .syntax unified
838 .thumb
839 .thumb_func
840 .fpu fpv4-sp-d16
842 HAL_DAC_ErrorCallbackCh1:
843 .LFB357:
844 .cfi_startproc
845 @ args = 0, pretend = 0, frame = 0
846 @ frame_needed = 0, uses_anonymous_args = 0
847 @ link register save eliminated.
848 0000 7047 bx lr
849 .cfi_endproc
850 .LFE357:
852 0002 00BF .section .text.DAC_DMAErrorCh1,"ax",%progbits
853 .align 1
854 .p2align 2,,3
855 .global DAC_DMAErrorCh1
856 .syntax unified
857 .thumb
858 .thumb_func
859 .fpu fpv4-sp-d16
861 DAC_DMAErrorCh1:
862 .LFB349:
1637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /**
1639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @brief DMA error callback
1640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @param hdma pointer to a DMA_HandleTypeDef structure that contains
1641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * the configuration information for the specified DMA module.
1642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** * @retval None
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 46
2021-07-02 22:19:04 +02:00
1643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** */
1644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** void DAC_DMAErrorCh1(DMA_HandleTypeDef *hdma)
1645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
863 .loc 1 1645 0
864 .cfi_startproc
865 @ args = 0, pretend = 0, frame = 0
866 @ frame_needed = 0, uses_anonymous_args = 0
867 .LVL69:
868 .loc 1 1645 0
869 0000 10B5 push {r4, lr}
870 .LCFI15:
871 .cfi_def_cfa_offset 8
872 .cfi_offset 4, -8
873 .cfi_offset 14, -4
1646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** DAC_HandleTypeDef *hdac = (DAC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
874 .loc 1 1646 0
875 0002 846A ldr r4, [r0, #40]
876 .LVL70:
1647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Set DAC error code to DMA error */
1649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCode |= HAL_DAC_ERROR_DMA;
877 .loc 1 1649 0
878 0004 2369 ldr r3, [r4, #16]
879 0006 43F00403 orr r3, r3, #4
880 000a 2361 str r3, [r4, #16]
1650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #if (USE_HAL_DAC_REGISTER_CALLBACKS == 1)
1652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->ErrorCallbackCh1(hdac);
1653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #else
1654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** HAL_DAC_ErrorCallbackCh1(hdac);
881 .loc 1 1654 0
882 000c 2046 mov r0, r4
883 .LVL71:
884 000e FFF7FEFF bl HAL_DAC_ErrorCallbackCh1
885 .LVL72:
1655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
1656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->State = HAL_DAC_STATE_READY;
886 .loc 1 1657 0
887 0012 0123 movs r3, #1
888 0014 2371 strb r3, [r4, #4]
1658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
889 .loc 1 1658 0
890 0016 10BD pop {r4, pc}
891 .cfi_endproc
892 .LFE349:
894 .section .text.HAL_DAC_DMAUnderrunCallbackCh1,"ax",%progbits
895 .align 1
896 .p2align 2,,3
897 .weak HAL_DAC_DMAUnderrunCallbackCh1
898 .syntax unified
899 .thumb
900 .thumb_func
901 .fpu fpv4-sp-d16
903 HAL_DAC_DMAUnderrunCallbackCh1:
904 .LFB359:
905 .cfi_startproc
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 47
2021-07-02 22:19:04 +02:00
906 @ args = 0, pretend = 0, frame = 0
907 @ frame_needed = 0, uses_anonymous_args = 0
908 @ link register save eliminated.
909 0000 7047 bx lr
910 .cfi_endproc
911 .LFE359:
913 0002 00BF .section .text.HAL_DAC_IRQHandler,"ax",%progbits
914 .align 1
915 .p2align 2,,3
916 .global HAL_DAC_IRQHandler
917 .syntax unified
918 .thumb
919 .thumb_func
920 .fpu fpv4-sp-d16
922 HAL_DAC_IRQHandler:
923 .LFB337:
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR1))
924 .loc 1 857 0
925 .cfi_startproc
926 @ args = 0, pretend = 0, frame = 0
927 @ frame_needed = 0, uses_anonymous_args = 0
928 .LVL73:
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
929 .loc 1 858 0
930 0000 0368 ldr r3, [r0]
931 0002 1A68 ldr r2, [r3]
932 0004 9104 lsls r1, r2, #18
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR1))
933 .loc 1 857 0
934 0006 10B5 push {r4, lr}
935 .LCFI16:
936 .cfi_def_cfa_offset 8
937 .cfi_offset 4, -8
938 .cfi_offset 14, -4
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (__HAL_DAC_GET_IT_SOURCE(hdac, DAC_IT_DMAUDR1))
939 .loc 1 857 0
940 0008 0446 mov r4, r0
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
941 .loc 1 858 0
942 000a 02D5 bpl .L73
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
943 .loc 1 861 0
944 000c 5A6B ldr r2, [r3, #52]
945 000e 9204 lsls r2, r2, #18
946 0010 18D4 bmi .L88
947 .LVL74:
948 .L73:
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
949 .loc 1 885 0
950 0012 1A68 ldr r2, [r3]
951 0014 9100 lsls r1, r2, #2
952 0016 02D5 bpl .L72
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
953 .loc 1 888 0
954 0018 5A6B ldr r2, [r3, #52]
955 001a 9200 lsls r2, r2, #2
956 001c 00D4 bmi .L89
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 48
2021-07-02 22:19:04 +02:00
957 .L72:
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
958 .loc 1 911 0
959 001e 10BD pop {r4, pc}
960 .LVL75:
961 .L89:
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
962 .loc 1 891 0
963 0020 0422 movs r2, #4
964 0022 2271 strb r2, [r4, #4]
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
965 .loc 1 894 0
966 0024 2269 ldr r2, [r4, #16]
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
967 .loc 1 897 0
968 0026 4FF00051 mov r1, #536870912
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
969 .loc 1 894 0
970 002a 42F00202 orr r2, r2, #2
971 002e 2261 str r2, [r4, #16]
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
972 .loc 1 897 0
973 0030 5963 str r1, [r3, #52]
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
974 .loc 1 900 0
975 0032 1A68 ldr r2, [r3]
976 0034 22F08052 bic r2, r2, #268435456
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
977 .loc 1 906 0
978 0038 2046 mov r0, r4
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
979 .loc 1 900 0
980 003a 1A60 str r2, [r3]
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
981 .loc 1 911 0
982 003c BDE81040 pop {r4, lr}
983 .LCFI17:
984 .cfi_remember_state
985 .cfi_restore 14
986 .cfi_restore 4
987 .cfi_def_cfa_offset 0
988 .LVL76:
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
989 .loc 1 906 0
990 0040 FFF7FEBF b HAL_DACEx_DMAUnderrunCallbackCh2
991 .LVL77:
992 .L88:
993 .LCFI18:
994 .cfi_restore_state
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
995 .loc 1 864 0
996 0044 0422 movs r2, #4
997 0046 0271 strb r2, [r0, #4]
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
998 .loc 1 867 0
999 0048 0269 ldr r2, [r0, #16]
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 49
2021-07-02 22:19:04 +02:00
1000 .loc 1 870 0
1001 004a 4FF40051 mov r1, #8192
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1002 .loc 1 867 0
1003 004e 42F00102 orr r2, r2, #1
1004 0052 0261 str r2, [r0, #16]
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1005 .loc 1 870 0
1006 0054 5963 str r1, [r3, #52]
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1007 .loc 1 873 0
1008 0056 1A68 ldr r2, [r3]
1009 0058 22F48052 bic r2, r2, #4096
1010 005c 1A60 str r2, [r3]
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** #endif /* USE_HAL_DAC_REGISTER_CALLBACKS */
1011 .loc 1 879 0
1012 005e FFF7FEFF bl HAL_DAC_DMAUnderrunCallbackCh1
1013 .LVL78:
1014 0062 2368 ldr r3, [r4]
1015 0064 D5E7 b .L73
1016 .cfi_endproc
1017 .LFE337:
1019 0066 00BF .section .text.HAL_DAC_GetValue,"ax",%progbits
1020 .align 1
1021 .p2align 2,,3
1022 .global HAL_DAC_GetValue
1023 .syntax unified
1024 .thumb
1025 .thumb_func
1026 .fpu fpv4-sp-d16
1028 HAL_DAC_GetValue:
1029 .LFB343:
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmp = 0U;
1030 .loc 1 1061 0
1031 .cfi_startproc
1032 @ args = 0, pretend = 0, frame = 0
1033 @ frame_needed = 0, uses_anonymous_args = 0
1034 @ link register save eliminated.
1035 .LVL79:
1036 0000 0368 ldr r3, [r0]
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1037 .loc 1 1067 0
1038 0002 09B1 cbz r1, .L93
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1039 .loc 1 1074 0
1040 0004 186B ldr r0, [r3, #48]
1041 .LVL80:
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1042 .loc 1 1079 0
1043 0006 7047 bx lr
1044 .LVL81:
1045 .L93:
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1046 .loc 1 1069 0
1047 0008 D86A ldr r0, [r3, #44]
1048 .LVL82:
1049 000a 7047 bx lr
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 50
2021-07-02 22:19:04 +02:00
1050 .cfi_endproc
1051 .LFE343:
1053 .section .text.HAL_DAC_ConfigChannel,"ax",%progbits
1054 .align 1
1055 .p2align 2,,3
1056 .global HAL_DAC_ConfigChannel
1057 .syntax unified
1058 .thumb
1059 .thumb_func
1060 .fpu fpv4-sp-d16
1062 HAL_DAC_ConfigChannel:
1063 .LFB344:
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmpreg1;
1064 .loc 1 1101 0
1065 .cfi_startproc
1066 @ args = 0, pretend = 0, frame = 0
1067 @ frame_needed = 0, uses_anonymous_args = 0
1068 .LVL83:
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1069 .loc 1 1131 0
1070 0000 4379 ldrb r3, [r0, #5] @ zero_extendqisi2
1071 0002 012B cmp r3, #1
1072 0004 00F08880 beq .L110
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** uint32_t tmpreg1;
1073 .loc 1 1101 0 discriminator 2
1074 0008 2DE9F041 push {r4, r5, r6, r7, r8, lr}
1075 .LCFI19:
1076 .cfi_def_cfa_offset 24
1077 .cfi_offset 4, -24
1078 .cfi_offset 5, -20
1079 .cfi_offset 6, -16
1080 .cfi_offset 7, -12
1081 .cfi_offset 8, -8
1082 .cfi_offset 14, -4
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1083 .loc 1 1120 0 discriminator 2
1084 000c 8E68 ldr r6, [r1, #8]
1085 000e 1446 mov r4, r2
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1086 .loc 1 1134 0 discriminator 2
1087 0010 0223 movs r3, #2
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1088 .loc 1 1131 0 discriminator 2
1089 0012 0122 movs r2, #1
1090 .LVL84:
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1091 .loc 1 1137 0 discriminator 2
1092 0014 042E cmp r6, #4
1093 0016 0D46 mov r5, r1
1094 0018 0746 mov r7, r0
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1095 .loc 1 1131 0 discriminator 2
1096 001a 4271 strb r2, [r0, #5]
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1097 .loc 1 1134 0 discriminator 2
1098 001c 0371 strb r3, [r0, #4]
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 51
2021-07-02 22:19:04 +02:00
1099 .loc 1 1137 0 discriminator 2
1100 001e 7FD0 beq .L96
1101 0020 0368 ldr r3, [r0]
1102 0022 04F01004 and r4, r4, #16
1103 .LVL85:
1104 .L97:
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* USER TRIMMING */
1105 .loc 1 1193 0
1106 0026 EA69 ldr r2, [r5, #28]
1107 0028 012A cmp r2, #1
1108 002a 6BD0 beq .L122
1109 .L103:
1110 002c D5E905C0 ldrd ip, r0, [r5, #20]
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: mode, buffer output & on chip peripheral connect */
1111 .loc 1 1213 0
1112 0030 0721 movs r1, #7
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_MODEx bits */
1113 .loc 1 1211 0
1114 0032 DA6B ldr r2, [r3, #60]
1115 .LVL86:
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: mode, buffer output & on chip peripheral connect */
1116 .loc 1 1213 0
1117 0034 A140 lsls r1, r1, r4
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1118 .loc 1 1215 0
1119 0036 0128 cmp r0, #1
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: mode, buffer output & on chip peripheral connect */
1120 .loc 1 1213 0
1121 0038 6FEA0101 mvn r1, r1
1122 003c 22F44048 bic r8, r2, #49152
1123 .LVL87:
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1124 .loc 1 1215 0
1125 0040 5ED0 beq .L111
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1126 .loc 1 1219 0
1127 0042 0228 cmp r0, #2
1128 0044 6AD0 beq .L112
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1129 .loc 1 1225 0
1130 0046 BCFA8CF0 clz r0, ip
1131 004a 4009 lsrs r0, r0, #5
1132 .L104:
1133 .LVL88:
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: DMA double data mode */
1134 .loc 1 1236 0
1135 004c 4FF48072 mov r2, #256
1136 .LVL89:
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_DMADOUBLEx */
1137 .loc 1 1234 0
1138 0050 46EA0C06 orr r6, r6, ip
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: DMA double data mode */
1139 .loc 1 1236 0
1140 0054 A240 lsls r2, r2, r4
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_SINFORMATx */
1141 .loc 1 1238 0
1142 0056 95F804C0 ldrb ip, [r5, #4] @ zero_extendqisi2
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 52
2021-07-02 22:19:04 +02:00
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_DMADOUBLEx */
1143 .loc 1 1234 0
1144 005a 0643 orrs r6, r6, r0
1145 .LVL90:
1146 005c 01EA0801 and r1, r1, r8
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: DMA double data mode */
1147 .loc 1 1236 0
1148 0060 D243 mvns r2, r2
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_HFSEL bits */
1149 .loc 1 1242 0
1150 0062 6879 ldrb r0, [r5, #5] @ zero_extendqisi2
1151 .LVL91:
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_SINFORMATx */
1152 .loc 1 1238 0
1153 0064 BCF1010F cmp ip, #1
1154 0068 02EA0102 and r2, r2, r1
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: Signed format */
1155 .loc 1 1240 0
1156 006c 4FF40078 mov r8, #512
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1157 .loc 1 1246 0
1158 0070 2968 ldr r1, [r5]
1159 0072 08BF it eq
1160 0074 46F48076 orreq r6, r6, #256
1161 .LVL92:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: Signed format */
1162 .loc 1 1240 0
1163 0078 08FA04F8 lsl r8, r8, r4
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear DAC_MCR_HFSEL bits */
1164 .loc 1 1242 0
1165 007c 0128 cmp r0, #1
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: Signed format */
1166 .loc 1 1240 0
1167 007e 6FEA0808 mvn r8, r8
1168 0082 08BF it eq
1169 0084 46F40076 orreq r6, r6, #512
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1170 .loc 1 1246 0
1171 0088 0229 cmp r1, #2
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for both DAC channels: high frequency mode */
1172 .loc 1 1244 0
1173 008a 08EA0208 and r8, r8, r2
1174 .LVL93:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1175 .loc 1 1246 0
1176 008e 00F08280 beq .L123
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1177 .loc 1 1264 0
1178 0092 48EA0108 orr r8, r8, r1
1179 .LVL94:
1180 .L109:
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC MCR */
1181 .loc 1 1267 0
1182 0096 A640 lsls r6, r6, r4
1183 0098 46EA0806 orr r6, r6, r8
1184 .LVL95:
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 53
2021-07-02 22:19:04 +02:00
1185 .loc 1 1269 0
1186 009c DE63 str r6, [r3, #60]
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1187 .loc 1 1272 0
1188 009e 1868 ldr r0, [r3]
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Modify STMODR register value depending on DAC_Channel */
1189 .loc 1 1290 0
1190 00a0 D5E90312 ldrd r1, r2, [r5, #12]
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1191 .loc 1 1272 0
1192 00a4 4FF48045 mov r5, #16384
1193 .LVL96:
1194 00a8 A540 lsls r5, r5, r4
1195 00aa 20EA0500 bic r0, r0, r5
1196 00ae 1860 str r0, [r3]
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear TENx, TSELx, WAVEx and MAMPx bits */
1197 .loc 1 1275 0
1198 00b0 1868 ldr r0, [r3]
1199 .LVL97:
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected DAC channel: trigger */
1200 .loc 1 1277 0
1201 00b2 40F6FE75 movw r5, #4094
1202 00b6 A540 lsls r5, r5, r4
1203 00b8 20EA0505 bic r5, r0, r5
1204 .LVL98:
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC CR */
1205 .loc 1 1282 0
1206 00bc 01FA04F0 lsl r0, r1, r4
1207 00c0 2843 orrs r0, r0, r5
1208 .LVL99:
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Disable wave generation */
1209 .loc 1 1284 0
1210 00c2 1860 str r0, [r3]
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1211 .loc 1 1286 0
1212 00c4 1868 ldr r0, [r3]
1213 .LVL100:
1214 00c6 C025 movs r5, #192
1215 00c8 A540 lsls r5, r5, r4
1216 00ca 20EA0500 bic r0, r0, r5
1217 00ce 1860 str r0, [r3]
1218 .LVL101:
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Modify STMODR register value depending on DAC_Channel */
1219 .loc 1 1290 0
1220 00d0 9201 lsls r2, r2, #6
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
1221 .loc 1 1292 0
1222 00d2 186E ldr r0, [r3, #96]
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** tmpreg2 |= ((sConfig->DAC_Trigger2 & DAC_CR_TSEL1) >> DAC_CR_TSEL1_Pos) << DAC_STMODR_STINCTRIGSE
1223 .loc 1 1289 0
1224 00d4 C1F38301 ubfx r1, r1, #2, #4
1225 .LVL102:
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Modify STMODR register value depending on DAC_Channel */
1226 .loc 1 1290 0
1227 00d8 02F47062 and r2, r2, #3840
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
1228 .loc 1 1292 0
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 54
2021-07-02 22:19:04 +02:00
1229 00dc 40F60F75 movw r5, #3855
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Modify STMODR register value depending on DAC_Channel */
1230 .loc 1 1290 0
1231 00e0 0A43 orrs r2, r2, r1
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
1232 .loc 1 1292 0
1233 00e2 05FA04F1 lsl r1, r5, r4
1234 00e6 02FA04F4 lsl r4, r2, r4
1235 00ea 20EA0102 bic r2, r0, r1
1236 00ee 1443 orrs r4, r4, r2
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1237 .loc 1 1294 0
1238 00f0 0121 movs r1, #1
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1239 .loc 1 1297 0
1240 00f2 0022 movs r2, #0
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Change DAC state */
1241 .loc 1 1292 0
1242 00f4 1C66 str r4, [r3, #96]
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1243 .loc 1 1300 0
1244 00f6 1046 mov r0, r2
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1245 .loc 1 1294 0
1246 00f8 3971 strb r1, [r7, #4]
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1247 .loc 1 1297 0
1248 00fa 7A71 strb r2, [r7, #5]
1249 .L95:
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1250 .loc 1 1301 0
1251 00fc BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1252 .LVL103:
1253 .L111:
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1254 .loc 1 1217 0
1255 0100 0020 movs r0, #0
1256 0102 A3E7 b .L104
1257 .LVL104:
1258 .L122:
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Clear trimming value */
1259 .loc 1 1197 0
1260 0104 996B ldr r1, [r3, #56]
1261 .LVL105:
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC CCR */
1262 .loc 1 1203 0
1263 0106 2A6A ldr r2, [r5, #32]
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Configure for the selected trimming offset */
1264 .loc 1 1199 0
1265 0108 1F20 movs r0, #31
1266 010a A040 lsls r0, r0, r4
1267 010c 21EA0001 bic r1, r1, r0
1268 .LVL106:
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Write to DAC CCR */
1269 .loc 1 1203 0
1270 0110 A240 lsls r2, r2, r4
1271 .LVL107:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 55
2021-07-02 22:19:04 +02:00
1272 0112 0A43 orrs r2, r2, r1
1273 .LVL108:
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1274 .loc 1 1205 0
1275 0114 9A63 str r2, [r3, #56]
1276 0116 89E7 b .L103
1277 .LVL109:
1278 .L110:
1279 .LCFI20:
1280 .cfi_def_cfa_offset 0
1281 .cfi_restore 4
1282 .cfi_restore 5
1283 .cfi_restore 6
1284 .cfi_restore 7
1285 .cfi_restore 8
1286 .cfi_restore 14
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1287 .loc 1 1131 0
1288 0118 0220 movs r0, #2
1289 .LVL110:
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1290 .loc 1 1301 0
1291 011a 7047 bx lr
1292 .LVL111:
1293 .L112:
1294 .LCFI21:
1295 .cfi_def_cfa_offset 24
1296 .cfi_offset 4, -24
1297 .cfi_offset 5, -20
1298 .cfi_offset 6, -16
1299 .cfi_offset 7, -12
1300 .cfi_offset 8, -8
1301 .cfi_offset 14, -4
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1302 .loc 1 1221 0
1303 011c 0120 movs r0, #1
1304 011e 95E7 b .L104
1305 .LVL112:
1306 .L96:
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1307 .loc 1 1140 0
1308 0120 FFF7FEFF bl HAL_GetTick
1309 .LVL113:
1310 0124 0646 mov r6, r0
1311 .LVL114:
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1312 .loc 1 1142 0
1313 0126 2CB1 cbz r4, .L98
1314 0128 14E0 b .L99
1315 .LVL115:
1316 .L100:
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1317 .loc 1 1148 0
1318 012a FFF7FEFF bl HAL_GetTick
1319 .LVL116:
1320 012e 801B subs r0, r0, r6
1321 0130 0128 cmp r0, #1
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 56
2021-07-02 22:19:04 +02:00
1322 0132 39D8 bhi .L121
1323 .L98:
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1324 .loc 1 1145 0
1325 0134 3B68 ldr r3, [r7]
1326 0136 5B6B ldr r3, [r3, #52]
1327 0138 1B04 lsls r3, r3, #16
1328 013a F6D4 bmi .L100
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->SHSR1 = sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime;
1329 .loc 1 1159 0
1330 013c 0120 movs r0, #1
1331 013e FFF7FEFF bl HAL_Delay
1332 .LVL117:
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1333 .loc 1 1160 0
1334 0142 3B68 ldr r3, [r7]
1335 0144 6A6A ldr r2, [r5, #36]
1336 0146 1A64 str r2, [r3, #64]
1337 0148 0EE0 b .L101
1338 .L102:
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1339 .loc 1 1169 0
1340 014a FFF7FEFF bl HAL_GetTick
1341 .LVL118:
1342 014e 801B subs r0, r0, r6
1343 0150 0128 cmp r0, #1
1344 0152 29D8 bhi .L121
1345 .L99:
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1346 .loc 1 1166 0
1347 0154 3B68 ldr r3, [r7]
1348 0156 5B6B ldr r3, [r3, #52]
1349 0158 002B cmp r3, #0
1350 015a F6DB blt .L102
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** hdac->Instance->SHSR2 = sConfig->DAC_SampleAndHoldConfig.DAC_SampleTime;
1351 .loc 1 1180 0
1352 015c 0120 movs r0, #1
1353 015e FFF7FEFF bl HAL_Delay
1354 .LVL119:
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1355 .loc 1 1181 0
1356 0162 3B68 ldr r3, [r7]
1357 0164 6A6A ldr r2, [r5, #36]
1358 0166 5A64 str r2, [r3, #68]
1359 .L101:
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (sConfig->DAC_SampleAndHoldConfig.DAC_HoldTime) << (Channel & 0x10UL));
1360 .loc 1 1186 0
1361 0168 04F01004 and r4, r4, #16
1362 .LVL120:
1363 016c 9A6C ldr r2, [r3, #72]
1364 016e A96A ldr r1, [r5, #40]
1365 0170 AE68 ldr r6, [r5, #8]
1366 .LVL121:
1367 0172 40F2FF30 movw r0, #1023
1368 0176 A040 lsls r0, r0, r4
1369 0178 22EA0002 bic r2, r2, r0
1370 017c A140 lsls r1, r1, r4
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 57
2021-07-02 22:19:04 +02:00
1371 017e 0A43 orrs r2, r2, r1
1372 0180 9A64 str r2, [r3, #72]
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** (sConfig->DAC_SampleAndHoldConfig.DAC_RefreshTime) << (Channel & 0x10UL));
1373 .loc 1 1189 0
1374 0182 DA6C ldr r2, [r3, #76]
1375 0184 E96A ldr r1, [r5, #44]
1376 0186 FF20 movs r0, #255
1377 0188 A040 lsls r0, r0, r4
1378 018a 22EA0002 bic r2, r2, r0
1379 018e A140 lsls r1, r1, r4
1380 0190 0A43 orrs r2, r2, r1
1381 0192 DA64 str r2, [r3, #76]
1382 0194 47E7 b .L97
1383 .LVL122:
1384 .L123:
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** if (hclkfreq > HFSEL_ENABLE_THRESHOLD_160MHZ)
1385 .loc 1 1248 0
1386 0196 FFF7FEFF bl HAL_RCC_GetHCLKFreq
1387 .LVL123:
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1388 .loc 1 1249 0
1389 019a 0B4B ldr r3, .L124
1390 019c 9842 cmp r0, r3
1391 019e 0BD9 bls .L108
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1392 .loc 1 1251 0
1393 01a0 48F40048 orr r8, r8, #32768
1394 .LVL124:
1395 01a4 3B68 ldr r3, [r7]
1396 01a6 76E7 b .L109
1397 .LVL125:
1398 .L121:
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1399 .loc 1 1172 0
1400 01a8 3B69 ldr r3, [r7, #16]
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1401 .loc 1 1175 0
1402 01aa 0322 movs r2, #3
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1403 .loc 1 1172 0
1404 01ac 43F00803 orr r3, r3, #8
1405 01b0 3B61 str r3, [r7, #16]
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1406 .loc 1 1177 0
1407 01b2 1046 mov r0, r2
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1408 .loc 1 1175 0
1409 01b4 3A71 strb r2, [r7, #4]
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1410 .loc 1 1177 0
1411 01b6 A1E7 b .L95
1412 .LVL126:
1413 .L108:
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** {
1414 .loc 1 1253 0
1415 01b8 044A ldr r2, .L124+4
1416 01ba 3B68 ldr r3, [r7]
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 58
2021-07-02 22:19:04 +02:00
1417 01bc 9042 cmp r0, r2
1418 01be 7FF66AAF bls .L109
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1419 .loc 1 1255 0
1420 01c2 48F48048 orr r8, r8, #16384
1421 .LVL127:
1422 01c6 66E7 b .L109
1423 .L125:
1424 .align 2
1425 .L124:
1426 01c8 00688909 .word 160000000
1427 01cc 00B4C404 .word 80000000
1428 .cfi_endproc
1429 .LFE344:
1431 .section .text.HAL_DAC_GetState,"ax",%progbits
1432 .align 1
1433 .p2align 2,,3
1434 .global HAL_DAC_GetState
1435 .syntax unified
1436 .thumb
1437 .thumb_func
1438 .fpu fpv4-sp-d16
1440 HAL_DAC_GetState:
1441 .LFB345:
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** /* Return DAC handle state */
1442 .loc 1 1330 0
1443 .cfi_startproc
1444 @ args = 0, pretend = 0, frame = 0
1445 @ frame_needed = 0, uses_anonymous_args = 0
1446 @ link register save eliminated.
1447 .LVL128:
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1448 .loc 1 1332 0
1449 0000 0079 ldrb r0, [r0, #4] @ zero_extendqisi2
1450 .LVL129:
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1451 .loc 1 1333 0
1452 0002 7047 bx lr
1453 .cfi_endproc
1454 .LFE345:
1456 .section .text.HAL_DAC_GetError,"ax",%progbits
1457 .align 1
1458 .p2align 2,,3
1459 .global HAL_DAC_GetError
1460 .syntax unified
1461 .thumb
1462 .thumb_func
1463 .fpu fpv4-sp-d16
1465 HAL_DAC_GetError:
1466 .LFB346:
1343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** return hdac->ErrorCode;
1467 .loc 1 1343 0
1468 .cfi_startproc
1469 @ args = 0, pretend = 0, frame = 0
1470 @ frame_needed = 0, uses_anonymous_args = 0
1471 @ link register save eliminated.
1472 .LVL130:
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 59
2021-07-02 22:19:04 +02:00
1344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c **** }
1473 .loc 1 1344 0
1474 0000 0069 ldr r0, [r0, #16]
1475 .LVL131:
1345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_dac.c ****
1476 .loc 1 1345 0
1477 0002 7047 bx lr
1478 .cfi_endproc
1479 .LFE346:
1481 .text
1482 .Letext0:
1483 .file 2 "/usr/include/newlib/machine/_default_types.h"
1484 .file 3 "/usr/include/newlib/sys/_stdint.h"
1485 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
1486 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
1487 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
1488 .file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
1489 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
1490 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
1491 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dac.h"
1492 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
1493 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
1494 .file 13 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
1495 .file 14 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_rcc.h"
1496 .file 15 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dac_ex.h"
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 60
2021-07-02 22:19:04 +02:00
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32g4xx_hal_dac.c
2021-07-03 04:08:08 +02:00
/tmp/ccINF6o9.s:16 .text.HAL_DAC_MspInit:0000000000000000 $t
/tmp/ccINF6o9.s:24 .text.HAL_DAC_MspInit:0000000000000000 HAL_DAC_MspInit
/tmp/ccINF6o9.s:39 .text.HAL_DAC_Init:0000000000000000 $t
/tmp/ccINF6o9.s:47 .text.HAL_DAC_Init:0000000000000000 HAL_DAC_Init
/tmp/ccINF6o9.s:109 .text.HAL_DAC_MspDeInit:0000000000000000 $t
/tmp/ccINF6o9.s:117 .text.HAL_DAC_MspDeInit:0000000000000000 HAL_DAC_MspDeInit
/tmp/ccINF6o9.s:128 .text.HAL_DAC_DeInit:0000000000000000 $t
/tmp/ccINF6o9.s:136 .text.HAL_DAC_DeInit:0000000000000000 HAL_DAC_DeInit
/tmp/ccINF6o9.s:182 .text.HAL_DAC_Start:0000000000000000 $t
/tmp/ccINF6o9.s:190 .text.HAL_DAC_Start:0000000000000000 HAL_DAC_Start
/tmp/ccINF6o9.s:289 .text.HAL_DAC_Stop:0000000000000000 $t
/tmp/ccINF6o9.s:297 .text.HAL_DAC_Stop:0000000000000000 HAL_DAC_Stop
/tmp/ccINF6o9.s:341 .text.HAL_DAC_Start_DMA:0000000000000000 $t
/tmp/ccINF6o9.s:349 .text.HAL_DAC_Start_DMA:0000000000000000 HAL_DAC_Start_DMA
/tmp/ccINF6o9.s:554 .text.HAL_DAC_Start_DMA:00000000000000ec $d
/tmp/ccINF6o9.s:753 .text.DAC_DMAConvCpltCh1:0000000000000000 DAC_DMAConvCpltCh1
/tmp/ccINF6o9.s:810 .text.DAC_DMAHalfConvCpltCh1:0000000000000000 DAC_DMAHalfConvCpltCh1
/tmp/ccINF6o9.s:861 .text.DAC_DMAErrorCh1:0000000000000000 DAC_DMAErrorCh1
/tmp/ccINF6o9.s:564 .text.HAL_DAC_Stop_DMA:0000000000000000 $t
/tmp/ccINF6o9.s:572 .text.HAL_DAC_Stop_DMA:0000000000000000 HAL_DAC_Stop_DMA
/tmp/ccINF6o9.s:650 .text.HAL_DAC_SetValue:0000000000000000 $t
/tmp/ccINF6o9.s:658 .text.HAL_DAC_SetValue:0000000000000000 HAL_DAC_SetValue
/tmp/ccINF6o9.s:726 .text.HAL_DAC_ConvCpltCallbackCh1:0000000000000000 $t
/tmp/ccINF6o9.s:734 .text.HAL_DAC_ConvCpltCallbackCh1:0000000000000000 HAL_DAC_ConvCpltCallbackCh1
/tmp/ccINF6o9.s:745 .text.DAC_DMAConvCpltCh1:0000000000000000 $t
/tmp/ccINF6o9.s:783 .text.HAL_DAC_ConvHalfCpltCallbackCh1:0000000000000000 $t
/tmp/ccINF6o9.s:791 .text.HAL_DAC_ConvHalfCpltCallbackCh1:0000000000000000 HAL_DAC_ConvHalfCpltCallbackCh1
/tmp/ccINF6o9.s:802 .text.DAC_DMAHalfConvCpltCh1:0000000000000000 $t
/tmp/ccINF6o9.s:834 .text.HAL_DAC_ErrorCallbackCh1:0000000000000000 $t
/tmp/ccINF6o9.s:842 .text.HAL_DAC_ErrorCallbackCh1:0000000000000000 HAL_DAC_ErrorCallbackCh1
/tmp/ccINF6o9.s:853 .text.DAC_DMAErrorCh1:0000000000000000 $t
/tmp/ccINF6o9.s:895 .text.HAL_DAC_DMAUnderrunCallbackCh1:0000000000000000 $t
/tmp/ccINF6o9.s:903 .text.HAL_DAC_DMAUnderrunCallbackCh1:0000000000000000 HAL_DAC_DMAUnderrunCallbackCh1
/tmp/ccINF6o9.s:914 .text.HAL_DAC_IRQHandler:0000000000000000 $t
/tmp/ccINF6o9.s:922 .text.HAL_DAC_IRQHandler:0000000000000000 HAL_DAC_IRQHandler
/tmp/ccINF6o9.s:1020 .text.HAL_DAC_GetValue:0000000000000000 $t
/tmp/ccINF6o9.s:1028 .text.HAL_DAC_GetValue:0000000000000000 HAL_DAC_GetValue
/tmp/ccINF6o9.s:1054 .text.HAL_DAC_ConfigChannel:0000000000000000 $t
/tmp/ccINF6o9.s:1062 .text.HAL_DAC_ConfigChannel:0000000000000000 HAL_DAC_ConfigChannel
/tmp/ccINF6o9.s:1426 .text.HAL_DAC_ConfigChannel:00000000000001c8 $d
/tmp/ccINF6o9.s:1432 .text.HAL_DAC_GetState:0000000000000000 $t
/tmp/ccINF6o9.s:1440 .text.HAL_DAC_GetState:0000000000000000 HAL_DAC_GetState
/tmp/ccINF6o9.s:1457 .text.HAL_DAC_GetError:0000000000000000 $t
/tmp/ccINF6o9.s:1465 .text.HAL_DAC_GetError:0000000000000000 HAL_DAC_GetError
2021-07-02 22:19:04 +02:00
UNDEFINED SYMBOLS
HAL_Delay
HAL_DMA_Start_IT
DAC_DMAConvCpltCh2
DAC_DMAHalfConvCpltCh2
DAC_DMAErrorCh2
HAL_DMA_Abort
HAL_DACEx_DMAUnderrunCallbackCh2
HAL_GetTick
HAL_RCC_GetHCLKFreq
2021-07-03 04:08:08 +02:00
ARM GAS /tmp/ccINF6o9.s page 61
2021-07-02 22:19:04 +02:00