2302 lines
151 KiB
Plaintext
2302 lines
151 KiB
Plaintext
|
|
ARM GAS /tmp/ccuO0EEy.s page 1
|
|||
|
|
|
|||
|
|
|
|||
|
|
1 .cpu cortex-m4
|
|||
|
|
2 .eabi_attribute 27, 1
|
|||
|
|
3 .eabi_attribute 28, 1
|
|||
|
|
4 .eabi_attribute 23, 1
|
|||
|
|
5 .eabi_attribute 24, 1
|
|||
|
|
6 .eabi_attribute 25, 1
|
|||
|
|
7 .eabi_attribute 26, 1
|
|||
|
|
8 .eabi_attribute 30, 2
|
|||
|
|
9 .eabi_attribute 34, 1
|
|||
|
|
10 .eabi_attribute 18, 4
|
|||
|
|
11 .file "stm32g4xx_hal_opamp.c"
|
|||
|
|
12 .text
|
|||
|
|
13 .Ltext0:
|
|||
|
|
14 .cfi_sections .debug_frame
|
|||
|
|
15 .section .text.HAL_OPAMP_MspInit,"ax",%progbits
|
|||
|
|
16 .align 1
|
|||
|
|
17 .p2align 2,,3
|
|||
|
|
18 .weak HAL_OPAMP_MspInit
|
|||
|
|
19 .syntax unified
|
|||
|
|
20 .thumb
|
|||
|
|
21 .thumb_func
|
|||
|
|
22 .fpu fpv4-sp-d16
|
|||
|
|
24 HAL_OPAMP_MspInit:
|
|||
|
|
25 .LFB331:
|
|||
|
|
26 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c"
|
|||
|
|
1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ******************************************************************************
|
|||
|
|
3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @file stm32g4xx_hal_opamp.c
|
|||
|
|
4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @author MCD Application Team
|
|||
|
|
5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief OPAMP HAL module driver.
|
|||
|
|
6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * This file provides firmware functions to manage the following
|
|||
|
|
7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * functionalities of the operational amplifiers (OPAMP1,...OPAMP6)
|
|||
|
|
8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * peripheral:
|
|||
|
|
9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * + OPAMP Configuration
|
|||
|
|
10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * + OPAMP calibration
|
|||
|
|
11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * Thanks to
|
|||
|
|
12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * + Initialization/de-initialization functions
|
|||
|
|
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * + I/O operation functions
|
|||
|
|
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * + Peripheral Control functions
|
|||
|
|
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * + Peripheral State functions
|
|||
|
|
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @verbatim
|
|||
|
|
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ================================================================================
|
|||
|
|
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ##### OPAMP Peripheral Features #####
|
|||
|
|
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ================================================================================
|
|||
|
|
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..] The device integrates up to 6 operational amplifiers OPAMP1, OPAMP2,
|
|||
|
|
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP3, OPAMP4, OPAMP5 and OPAMP6:
|
|||
|
|
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) The OPAMP(s) provides several exclusive running modes.
|
|||
|
|
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Standalone mode
|
|||
|
|
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Programmable Gain Amplifier (PGA) mode (Resistor feedback output)
|
|||
|
|
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Follower mode
|
|||
|
|
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) The OPAMP(s) provide(s) calibration capabilities.
|
|||
|
|
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Calibration aims at correcting some offset for running mode.
|
|||
|
|
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) The OPAMP uses either factory calibration settings OR user defined
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 2
|
|||
|
|
|
|||
|
|
|
|||
|
|
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** calibration (trimming) settings (i.e. trimming mode).
|
|||
|
|
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) The user defined settings can be figured out using self calibration
|
|||
|
|
35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** handled by HAL_OPAMP_SelfCalibrate, HAL_OPAMPEx_SelfCalibrateAll
|
|||
|
|
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) HAL_OPAMP_SelfCalibrate:
|
|||
|
|
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Runs automatically the calibration in 2 steps.
|
|||
|
|
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (90% of VDDA for NMOS transistors, 10% of VDDA for PMOS transistors).
|
|||
|
|
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (As OPAMP is Rail-to-rail input/output, these 2 steps calibration is
|
|||
|
|
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** appropriate and enough in most cases).
|
|||
|
|
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Enables the user trimming mode
|
|||
|
|
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Updates the init structure with trimming values with fresh calibration
|
|||
|
|
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** results.
|
|||
|
|
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** The user may store the calibration results for larger
|
|||
|
|
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (ex monitoring the trimming as a function of temperature
|
|||
|
|
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** for instance)
|
|||
|
|
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) for STM32G4 devices having 6 OPAMPs
|
|||
|
|
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_OPAMPEx_SelfCalibrateAll
|
|||
|
|
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** runs calibration of 6 OPAMPs in parallel.
|
|||
|
|
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) For any running mode, an additional Timer-controlled Mux (multiplexer)
|
|||
|
|
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** mode can be set on top.
|
|||
|
|
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Timer-controlled Mux mode allows Automatic switching of inputs
|
|||
|
|
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** configuration (inverting and non inverting).
|
|||
|
|
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Hence on top of defaults (primary) inverting and non-inverting inputs,
|
|||
|
|
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** the user shall select secondary inverting and non inverting inputs.
|
|||
|
|
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) TIM1 OC6, TIM8 OC6 and TIM20 OC6 provides the alternate switching
|
|||
|
|
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** tempo between defaults (primary) and secondary inputs.
|
|||
|
|
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) These 3 timers (TIM1, TIM8 and TIM20) can be combined to design a more
|
|||
|
|
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** complex switching scheme. So that any of the selected channel can initiate
|
|||
|
|
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** the configuration switch.
|
|||
|
|
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Running mode: Standalone mode
|
|||
|
|
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Gain is set externally (gain depends on external loads).
|
|||
|
|
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Follower mode also possible externally by connecting the inverting input to
|
|||
|
|
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** the output.
|
|||
|
|
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Running mode: Follower mode
|
|||
|
|
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Inverting Input is not connected.
|
|||
|
|
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Running mode: Programmable Gain Amplifier (PGA) mode
|
|||
|
|
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (Resistor feedback output)
|
|||
|
|
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) The OPAMP(s) output(s) can be internally connected to resistor feedback
|
|||
|
|
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** output.
|
|||
|
|
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) The OPAMP inverting input can be "not" connected, signal to amplify is
|
|||
|
|
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** connected to non inverting input and gain is positive (2,4,8,16,32 or 64)
|
|||
|
|
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) The OPAMP inverting input can be connected to VINM0:
|
|||
|
|
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** If signal is applied to non inverting input, gain is positive (2,4,8,16,32 or 64).
|
|||
|
|
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** If signal is applied to inverting input, gain is negative (-1,-3,-7,-15-,31 or -63).
|
|||
|
|
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** In both cases, the other input can be used as bias.
|
|||
|
|
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ##### How to use this driver #####
|
|||
|
|
84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ================================================================================
|
|||
|
|
85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..]
|
|||
|
|
86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *** High speed / normal power mode ***
|
|||
|
|
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ============================================
|
|||
|
|
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..] To run in high speed mode:
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 3
|
|||
|
|
|
|||
|
|
|
|||
|
|
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Configure the OPAMP using HAL_OPAMP_Init() function:
|
|||
|
|
92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select OPAMP_POWERMODE_HIGHSPEED
|
|||
|
|
93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Otherwise select OPAMP_POWERMODE_NORMAL
|
|||
|
|
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *** Calibration ***
|
|||
|
|
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ============================================
|
|||
|
|
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..] To run the OPAMP calibration self calibration:
|
|||
|
|
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Start calibration using HAL_OPAMP_SelfCalibrate.
|
|||
|
|
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** Store the calibration results.
|
|||
|
|
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *** Running mode ***
|
|||
|
|
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ============================================
|
|||
|
|
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..] To use the OPAMP, perform the following steps:
|
|||
|
|
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Fill in the HAL_OPAMP_MspInit() to
|
|||
|
|
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Configure the OPAMP input AND output in analog mode using
|
|||
|
|
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_GPIO_Init() to map the OPAMP output to the GPIO pin.
|
|||
|
|
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Registrate Callbacks
|
|||
|
|
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) The compilation define USE_HAL_OPAMP_REGISTER_CALLBACKS when set to 1
|
|||
|
|
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** allows the user to configure dynamically the driver callbacks.
|
|||
|
|
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Use Functions @ref HAL_OPAMP_RegisterCallback() to register a user callback,
|
|||
|
|
115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** it allows to register following callbacks:
|
|||
|
|
116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (+++) MspInitCallback : OPAMP MspInit.
|
|||
|
|
117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (+++) MspDeInitCallback : OPAMP MspDeInit.
|
|||
|
|
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
|
|||
|
|
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** and a pointer to the user callback function.
|
|||
|
|
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Use function @ref HAL_OPAMP_UnRegisterCallback() to reset a callback to the default
|
|||
|
|
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** weak (surcharged) function. It allows to reset following callbacks:
|
|||
|
|
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (+++) MspInitCallback : OPAMP MspInit.
|
|||
|
|
124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (+++) MspDeInitCallback : OPAMP MspDeInit.
|
|||
|
|
125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (+++) All Callbacks
|
|||
|
|
126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Configure the OPAMP using HAL_OPAMP_Init() function:
|
|||
|
|
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select the mode
|
|||
|
|
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select the inverting input
|
|||
|
|
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select the non-inverting input
|
|||
|
|
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select if the internal output should be enabled/disabled (if enabled, regular I/O output
|
|||
|
|
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select if the Timer controlled Mux is disabled or enabled and controlled by specified ti
|
|||
|
|
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If the Timer controlled Mux mode is enabled, select the secondary inverting input
|
|||
|
|
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If the Timer controlled Mux mode is enabled, Select the secondary non-inverting input
|
|||
|
|
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If PGA mode is enabled, Select if inverting input is connected.
|
|||
|
|
136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If PGA mode is enabled, Select PGA gain to be used.
|
|||
|
|
137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) Select either factory or user defined trimming mode.
|
|||
|
|
138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If the user defined trimming mode is enabled, select PMOS & NMOS trimming values
|
|||
|
|
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (typ. settings returned by HAL_OPAMP_SelfCalibrate function).
|
|||
|
|
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Enable the OPAMP using HAL_OPAMP_Start() function.
|
|||
|
|
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Disable the OPAMP using HAL_OPAMP_Stop() function.
|
|||
|
|
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Lock the OPAMP in running mode using HAL_OPAMP_Lock() & HAL_OPAMP_TimerMuxLock functions.
|
|||
|
|
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** From then the configuration can only be modified
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 4
|
|||
|
|
|
|||
|
|
|
|||
|
|
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) After HW reset
|
|||
|
|
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) OR thanks to HAL_OPAMP_MspDeInit called (user defined) from HAL_OPAMP_DeInit.
|
|||
|
|
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *** Running mode: change of configuration while OPAMP ON ***
|
|||
|
|
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ============================================
|
|||
|
|
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..] To Re-configure OPAMP when OPAMP is ON (change on the fly)
|
|||
|
|
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) If needed, fill in the HAL_OPAMP_MspInit()
|
|||
|
|
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) This is the case for instance if you wish to use new OPAMP I/O
|
|||
|
|
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Configure the OPAMP using HAL_OPAMP_Init() function:
|
|||
|
|
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) As in configure case, selects first the parameters you wish to modify.
|
|||
|
|
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If OPAMP control register is locked, it is not possible to modify any values
|
|||
|
|
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** on the fly (even the timer controlled mux parameters).
|
|||
|
|
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (++) If OPAMP timer controlled mux mode register is locked, it is possible to modify any valu
|
|||
|
|
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** of the control register but none on the timer controlled mux mode one.
|
|||
|
|
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (#) Change from high speed mode to normal power mode (& vice versa) requires
|
|||
|
|
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** first HAL_OPAMP_DeInit() (force OPAMP OFF) and then HAL_OPAMP_Init().
|
|||
|
|
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** In other words, of OPAMP is ON, HAL_OPAMP_Init can NOT change power mode
|
|||
|
|
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** alone.
|
|||
|
|
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @endverbatim
|
|||
|
|
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ******************************************************************************
|
|||
|
|
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @attention
|
|||
|
|
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * <h2><center>© Copyright (c) 2019 STMicroelectronics.
|
|||
|
|
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * All rights reserved.</center></h2>
|
|||
|
|
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * This software component is licensed by ST under BSD 3-Clause license,
|
|||
|
|
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * the "License"; You may not use this file except in compliance with the
|
|||
|
|
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * License. You may obtain a copy of the License at:
|
|||
|
|
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * opensource.org/licenses/BSD-3-Clause
|
|||
|
|
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ******************************************************************************
|
|||
|
|
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /*
|
|||
|
|
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** Additional Tables:
|
|||
|
|
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** The OPAMPs non inverting input (both default and secondary) can be
|
|||
|
|
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** selected among the list shown by table below.
|
|||
|
|
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** The OPAMPs non inverting input (both default and secondary) can be
|
|||
|
|
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** selected among the list shown by table below.
|
|||
|
|
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** Table 1. OPAMPs inverting/non-inverting inputs for the STM32G4 devices:
|
|||
|
|
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** +--------------------------------------------------------------------------------------------+
|
|||
|
|
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | | OPAMP1 | OPAMP2 | OPAMP3 | OPAMP4 | OPAMP5 | OPAMP6 |
|
|||
|
|
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** |-----------------|--------|----------|----------|----------|----------|----------|----------|
|
|||
|
|
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | No conn| X | X | X | X | X | X |
|
|||
|
|
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | Inverting Input | VM0 | PA3 | PA5 | PB2 | PB10 | PB15 | PA1 |
|
|||
|
|
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | (1) | VM1 | PC5 | PC5 | PB10 | PD8 | PA3 | PB1 |
|
|||
|
|
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** |-----------------|--------|----------|----------|----------|----------|----------|----------|
|
|||
|
|
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | VP0 | PA1 | PA7 | PB0 | PB13 | PB14 | PB12 |
|
|||
|
|
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | Non Inverting | VP1 | PA3 | PB14 | PB13 | PD11 | PD12 | PD9 |
|
|||
|
|
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | Input | VP2 | PA7 | PB0 | PA1 | PB11 | PC3 | PB13 |
|
|||
|
|
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | VP3 | DAC3_CH1 | PD14 | DAC3_CH2 | DAC4_CH1 | DAC4_CH2 | DAC3_CH1 |
|
|||
|
|
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** +--------------------------------------------------------------------------------------------+
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 5
|
|||
|
|
|
|||
|
|
|
|||
|
|
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (1): No connection in follower mode.
|
|||
|
|
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** Table 2. OPAMPs outputs for the STM32G4 devices:
|
|||
|
|
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** +--------------------------------------------------------------------------------+
|
|||
|
|
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | | OPAMP1 | OPAMP2 | OPAMP3 | OPAMP4 | OPAMP5 | OPAMP6 |
|
|||
|
|
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** |-----------------|--------|--------|--------|--------|--------|--------|--------|
|
|||
|
|
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | Output | | PA2 | PA6 | PB1 | PB12 | PA8 | PB11 |
|
|||
|
|
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** |-----------------|--------|--------|--------|--------|--------|--------|--------+
|
|||
|
|
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | Internal output | | ADC1 | ADC2 | ADC2 | ADC5 | ADC5 | ADC4 |
|
|||
|
|
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | to ADCs | | CH13 | CH16 | CH18 | CH5 | CH3 | CH17 |
|
|||
|
|
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | | | | ADC3 | | | |
|
|||
|
|
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | | | | | CH13 | | | |
|
|||
|
|
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** |-----------------|--------|--------|--------|--------|--------|--------|--------+
|
|||
|
|
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Includes ------------------------------------------------------------------*/
|
|||
|
|
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #include "stm32g4xx_hal.h"
|
|||
|
|
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @addtogroup STM32G4xx_HAL_Driver
|
|||
|
|
224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #ifdef HAL_OPAMP_MODULE_ENABLED
|
|||
|
|
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP OPAMP
|
|||
|
|
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief OPAMP HAL module driver
|
|||
|
|
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Private typedef -----------------------------------------------------------*/
|
|||
|
|
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Private define ------------------------------------------------------------*/
|
|||
|
|
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP_Private_Define OPAMP Private Define
|
|||
|
|
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* CSR register reset value */
|
|||
|
|
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #define OPAMP_CSR_RESET_VALUE (0x00000000UL)
|
|||
|
|
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* CSR register TRIM value upon reset are factory ones, filter them out from CSR register check */
|
|||
|
|
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #define OPAMP_CSR_RESET_CHECK_MASK (~(OPAMP_CSR_TRIMOFFSETN | OPAMP_CSR_TRIMOFFSETP))
|
|||
|
|
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* CSR init register Mask */
|
|||
|
|
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #define OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK (OPAMP_CSR_TRIMOFFSETN | OPAMP_CSR_TRIMOFFSETP \
|
|||
|
|
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | OPAMP_CSR_HIGHSPEEDEN | OPAMP_CSR_OPAMPINTEN \
|
|||
|
|
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | OPAMP_CSR_PGGAIN | OPAMP_CSR_VPSEL \
|
|||
|
|
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | OPAMP_CSR_VMSEL | OPAMP_CSR_FORCEVP)
|
|||
|
|
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* TCMR init register Mask */
|
|||
|
|
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #define OPAMP_TCMR_UPDATE_PARAMETERS_INIT_MASK (OPAMP_TCMR_T20CMEN | OPAMP_TCMR_T8CMEN \
|
|||
|
|
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | OPAMP_TCMR_T1CMEN | OPAMP_TCMR_VPSSEL \
|
|||
|
|
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** | OPAMP_TCMR_VMSSEL)
|
|||
|
|
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @}
|
|||
|
|
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Private macro -------------------------------------------------------------*/
|
|||
|
|
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Private variables ---------------------------------------------------------*/
|
|||
|
|
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Private function prototypes -----------------------------------------------*/
|
|||
|
|
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Exported functions ---------------------------------------------------------*/
|
|||
|
|
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 6
|
|||
|
|
|
|||
|
|
|
|||
|
|
261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP_Exported_Functions OPAMP Exported Functions
|
|||
|
|
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP_Exported_Functions_Group1 Initialization and de-initialization functions
|
|||
|
|
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Initialization and Configuration functions
|
|||
|
|
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @verbatim
|
|||
|
|
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ##### Initialization and de-initialization functions #####
|
|||
|
|
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..] This section provides functions allowing to:
|
|||
|
|
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @endverbatim
|
|||
|
|
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Initializes the OPAMP according to the specified
|
|||
|
|
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * parameters in the OPAMP_InitTypeDef and initialize the associated handle.
|
|||
|
|
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @note If the selected opamp is locked, initialization can't be performed.
|
|||
|
|
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * To unlock the configuration, perform a system reset.
|
|||
|
|
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_Init(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation and lock status */
|
|||
|
|
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Init not allowed if calibration is ongoing */
|
|||
|
|
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return HAL_ERROR;
|
|||
|
|
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)
|
|||
|
|
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return HAL_ERROR;
|
|||
|
|
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)
|
|||
|
|
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return HAL_ERROR;
|
|||
|
|
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set OPAMP parameters */
|
|||
|
|
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_POWERMODE(hopamp->Init.PowerMode));
|
|||
|
|
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_FUNCTIONAL_NORMALMODE(hopamp->Init.Mode));
|
|||
|
|
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_NONINVERTING_INPUT(hopamp->Init.NonInvertingInput));
|
|||
|
|
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
|
|||
|
|
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->State == HAL_OPAMP_STATE_RESET)
|
|||
|
|
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 7
|
|||
|
|
|
|||
|
|
|
|||
|
|
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->MspInitCallback == NULL)
|
|||
|
|
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->MspInitCallback = HAL_OPAMP_MspInit;
|
|||
|
|
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
|
|||
|
|
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Init.Mode) == OPAMP_STANDALONE_MODE)
|
|||
|
|
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_INVERTING_INPUT(hopamp->Init.InvertingInput));
|
|||
|
|
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_FUNCTIONAL_STATE(hopamp->Init.InternalOutput));
|
|||
|
|
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_TIMERCONTROLLED_MUXMODE(hopamp->Init.TimerControlledMuxmode));
|
|||
|
|
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Init.TimerControlledMuxmode) != OPAMP_TIMERCONTROLLEDMUXMODE_DISABLE)
|
|||
|
|
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_SEC_NONINVERTING_INPUT(hopamp->Init.NonInvertingInputSecondary));
|
|||
|
|
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_SEC_INVERTING_INPUT(hopamp->Init.InvertingInputSecondary));
|
|||
|
|
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Init.Mode) == OPAMP_PGA_MODE)
|
|||
|
|
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_PGACONNECT(hopamp->Init.PgaConnect));
|
|||
|
|
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_PGA_GAIN(hopamp->Init.PgaGain));
|
|||
|
|
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_TRIMMING(hopamp->Init.UserTrimming));
|
|||
|
|
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Init.UserTrimming) == OPAMP_TRIMMING_USER)
|
|||
|
|
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_TRIMMINGVALUE(hopamp->Init.TrimmingValueP));
|
|||
|
|
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_TRIMMINGVALUE(hopamp->Init.TrimmingValueN));
|
|||
|
|
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Init SYSCFG and the low level hardware to access opamp */
|
|||
|
|
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** __HAL_RCC_SYSCFG_CLK_ENABLE();
|
|||
|
|
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->State == HAL_OPAMP_STATE_RESET)
|
|||
|
|
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Allocate lock resource and initialize it */
|
|||
|
|
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Lock = HAL_UNLOCKED;
|
|||
|
|
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
|
|||
|
|
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->MspInitCallback(hopamp);
|
|||
|
|
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #else
|
|||
|
|
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Call MSP init function */
|
|||
|
|
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_OPAMP_MspInit(hopamp);
|
|||
|
|
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
|
|||
|
|
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set OPAMP parameters */
|
|||
|
|
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.Mode value *
|
|||
|
|
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.InvertingInput value *
|
|||
|
|
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.NonInvertingInput value *
|
|||
|
|
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.InternalOutput value *
|
|||
|
|
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.TimerControlledMuxmode value *
|
|||
|
|
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.InvertingInputSecondary value *
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 8
|
|||
|
|
|
|||
|
|
|
|||
|
|
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.NonInvertingInputSecondary value *
|
|||
|
|
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.PgaConnect value *
|
|||
|
|
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.PgaGain value *
|
|||
|
|
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.UserTrimming value *
|
|||
|
|
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.TrimmingValueP value *
|
|||
|
|
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set bits according to hopamp->hopamp->Init.TrimmingValueN value *
|
|||
|
|
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* check if OPAMP_PGA_MODE & in Follower mode */
|
|||
|
|
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* - InvertingInput */
|
|||
|
|
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* is Not Applicable */
|
|||
|
|
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Init.Mode == OPAMP_PGA_MODE) || (hopamp->Init.Mode == OPAMP_FOLLOWER_MODE))
|
|||
|
|
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Update User Trim config first to be able to modify trimming value afterwards */
|
|||
|
|
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR,
|
|||
|
|
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.UserTrimming);
|
|||
|
|
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR,
|
|||
|
|
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.PowerMode |
|
|||
|
|
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.Mode |
|
|||
|
|
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.NonInvertingInput |
|
|||
|
|
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ((hopamp->Init.InternalOutput == ENABLE) ? OPAMP_CSR_OPAMPINTEN : 0UL) |
|
|||
|
|
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.PgaConnect |
|
|||
|
|
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.PgaGain |
|
|||
|
|
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (hopamp->Init.TrimmingValueP << OPAMP_INPUT_NONINVERTING) |
|
|||
|
|
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (hopamp->Init.TrimmingValueN << OPAMP_INPUT_INVERTING));
|
|||
|
|
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else /* OPAMP_STANDALONE_MODE */
|
|||
|
|
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Update User Trim config first to be able to modify trimming value afterwards */
|
|||
|
|
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR,
|
|||
|
|
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.UserTrimming);
|
|||
|
|
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR,
|
|||
|
|
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.PowerMode |
|
|||
|
|
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.Mode |
|
|||
|
|
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.InvertingInput |
|
|||
|
|
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.NonInvertingInput |
|
|||
|
|
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ((hopamp->Init.InternalOutput == ENABLE) ? OPAMP_CSR_OPAMPINTEN : 0UL) |
|
|||
|
|
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.PgaConnect |
|
|||
|
|
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.PgaGain |
|
|||
|
|
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (hopamp->Init.TrimmingValueP << OPAMP_INPUT_NONINVERTING) |
|
|||
|
|
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** (hopamp->Init.TrimmingValueN << OPAMP_INPUT_INVERTING));
|
|||
|
|
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((READ_BIT(hopamp->Instance->TCMR, OPAMP_TCMR_LOCK)) == 0UL)
|
|||
|
|
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->TCMR,
|
|||
|
|
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_TCMR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.TimerControlledMuxmode |
|
|||
|
|
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.InvertingInputSecondary |
|
|||
|
|
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.NonInvertingInputSecondary);
|
|||
|
|
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 9
|
|||
|
|
|
|||
|
|
|
|||
|
|
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Update the OPAMP state*/
|
|||
|
|
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->State == HAL_OPAMP_STATE_RESET)
|
|||
|
|
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* From RESET state to READY State */
|
|||
|
|
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->State = HAL_OPAMP_STATE_READY;
|
|||
|
|
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* else: remain in READY or BUSY state (no update) */
|
|||
|
|
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief DeInitializes the OPAMP peripheral
|
|||
|
|
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @note Deinitialization can't be performed if the OPAMP configuration is locked.
|
|||
|
|
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * To unlock the configuration, perform a system reset.
|
|||
|
|
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_DeInit(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* DeInit not allowed if calibration is ongoing */
|
|||
|
|
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)
|
|||
|
|
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set OPAMP_CSR register to reset value */
|
|||
|
|
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** WRITE_REG(hopamp->Instance->CSR, OPAMP_CSR_RESET_VALUE);
|
|||
|
|
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* DeInit the low level hardware: GPIO, CLOCK and NVIC */
|
|||
|
|
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* When OPAMP is locked, unlocking can be achieved thanks to */
|
|||
|
|
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* __HAL_RCC_SYSCFG_CLK_DISABLE() call within HAL_OPAMP_MspDeInit */
|
|||
|
|
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Note that __HAL_RCC_SYSCFG_CLK_DISABLE() also disables comparator */
|
|||
|
|
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #if (USE_HAL_OPAMP_REGISTER_CALLBACKS == 1)
|
|||
|
|
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->MspDeInitCallback == NULL)
|
|||
|
|
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->MspDeInitCallback = HAL_OPAMP_MspDeInit;
|
|||
|
|
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* DeInit the low level hardware */
|
|||
|
|
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->MspDeInitCallback(hopamp);
|
|||
|
|
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #else
|
|||
|
|
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_OPAMP_MspDeInit(hopamp);
|
|||
|
|
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 10
|
|||
|
|
|
|||
|
|
|
|||
|
|
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (OPAMP_CSR_RESET_VALUE == (hopamp->Instance->CSR & OPAMP_CSR_RESET_CHECK_MASK))
|
|||
|
|
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Update the OPAMP state */
|
|||
|
|
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->State = HAL_OPAMP_STATE_RESET;
|
|||
|
|
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else /* RESET STATE */
|
|||
|
|
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* DeInit not complete */
|
|||
|
|
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* It can be the case if OPAMP was formerly locked */
|
|||
|
|
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* The OPAMP state is NOT updated */
|
|||
|
|
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Process unlocked */
|
|||
|
|
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** __HAL_UNLOCK(hopamp);
|
|||
|
|
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Initialize the OPAMP MSP.
|
|||
|
|
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval None
|
|||
|
|
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** __weak void HAL_OPAMP_MspInit(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
27 .loc 1 517 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:
|
|||
|
|
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Prevent unused argument(s) compilation warning */
|
|||
|
|
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** UNUSED(hopamp);
|
|||
|
|
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|||
|
|
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** the HAL_OPAMP_MspInit could be implemented in the user file
|
|||
|
|
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Example */
|
|||
|
|
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
33 .loc 1 526 0
|
|||
|
|
34 0000 7047 bx lr
|
|||
|
|
35 .cfi_endproc
|
|||
|
|
36 .LFE331:
|
|||
|
|
38 0002 00BF .section .text.HAL_OPAMP_Init,"ax",%progbits
|
|||
|
|
39 .align 1
|
|||
|
|
40 .p2align 2,,3
|
|||
|
|
41 .global HAL_OPAMP_Init
|
|||
|
|
42 .syntax unified
|
|||
|
|
43 .thumb
|
|||
|
|
44 .thumb_func
|
|||
|
|
45 .fpu fpv4-sp-d16
|
|||
|
|
47 HAL_OPAMP_Init:
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 11
|
|||
|
|
|
|||
|
|
|
|||
|
|
48 .LFB329:
|
|||
|
|
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
49 .loc 1 287 0
|
|||
|
|
50 .cfi_startproc
|
|||
|
|
51 @ args = 0, pretend = 0, frame = 8
|
|||
|
|
52 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
53 .LVL1:
|
|||
|
|
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
54 .loc 1 292 0
|
|||
|
|
55 0000 0028 cmp r0, #0
|
|||
|
|
56 0002 5CD0 beq .L13
|
|||
|
|
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
57 .loc 1 296 0
|
|||
|
|
58 0004 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
59 0008 052B cmp r3, #5
|
|||
|
|
60 000a 58D0 beq .L13
|
|||
|
|
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
61 .loc 1 300 0
|
|||
|
|
62 000c 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
63 0010 022B cmp r3, #2
|
|||
|
|
64 0012 54D0 beq .L13
|
|||
|
|
65 .LBB2:
|
|||
|
|
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
66 .loc 1 353 0
|
|||
|
|
67 0014 3A4B ldr r3, .L24
|
|||
|
|
68 .LBE2:
|
|||
|
|
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
69 .loc 1 287 0
|
|||
|
|
70 0016 70B5 push {r4, r5, r6, lr}
|
|||
|
|
71 .LCFI0:
|
|||
|
|
72 .cfi_def_cfa_offset 16
|
|||
|
|
73 .cfi_offset 4, -16
|
|||
|
|
74 .cfi_offset 5, -12
|
|||
|
|
75 .cfi_offset 6, -8
|
|||
|
|
76 .cfi_offset 14, -4
|
|||
|
|
77 .LBB3:
|
|||
|
|
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
78 .loc 1 353 0
|
|||
|
|
79 0018 1A6E ldr r2, [r3, #96]
|
|||
|
|
80 001a 42F00102 orr r2, r2, #1
|
|||
|
|
81 001e 1A66 str r2, [r3, #96]
|
|||
|
|
82 0020 1B6E ldr r3, [r3, #96]
|
|||
|
|
83 .LBE3:
|
|||
|
|
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
84 .loc 1 287 0
|
|||
|
|
85 0022 82B0 sub sp, sp, #8
|
|||
|
|
86 .LCFI1:
|
|||
|
|
87 .cfi_def_cfa_offset 24
|
|||
|
|
88 .LBB4:
|
|||
|
|
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
89 .loc 1 353 0
|
|||
|
|
90 0024 03F00103 and r3, r3, #1
|
|||
|
|
91 0028 0193 str r3, [sp, #4]
|
|||
|
|
92 002a 019B ldr r3, [sp, #4]
|
|||
|
|
93 .LBE4:
|
|||
|
|
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
94 .loc 1 355 0
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 12
|
|||
|
|
|
|||
|
|
|
|||
|
|
95 002c 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
96 0030 03F0FF02 and r2, r3, #255
|
|||
|
|
97 0034 002B cmp r3, #0
|
|||
|
|
98 0036 44D0 beq .L22
|
|||
|
|
99 .L5:
|
|||
|
|
100 0038 0446 mov r4, r0
|
|||
|
|
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
|
|||
|
|
101 .loc 1 365 0
|
|||
|
|
102 003a FFF7FEFF bl HAL_OPAMP_MspInit
|
|||
|
|
103 .LVL2:
|
|||
|
|
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
104 .loc 1 387 0
|
|||
|
|
105 003e A368 ldr r3, [r4, #8]
|
|||
|
|
106 0040 23F02002 bic r2, r3, #32
|
|||
|
|
107 0044 402A cmp r2, #64
|
|||
|
|
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
108 .loc 1 390 0
|
|||
|
|
109 0046 2268 ldr r2, [r4]
|
|||
|
|
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
110 .loc 1 387 0
|
|||
|
|
111 0048 41D0 beq .L23
|
|||
|
|
112 004a 6068 ldr r0, [r4, #4]
|
|||
|
|
113 004c E668 ldr r6, [r4, #12]
|
|||
|
|
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
114 .loc 1 407 0
|
|||
|
|
115 004e 1168 ldr r1, [r2]
|
|||
|
|
116 0050 2569 ldr r5, [r4, #16]
|
|||
|
|
117 0052 0343 orrs r3, r3, r0
|
|||
|
|
118 0054 3343 orrs r3, r3, r6
|
|||
|
|
119 0056 E06A ldr r0, [r4, #44]
|
|||
|
|
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
120 .loc 1 410 0
|
|||
|
|
121 0058 666A ldr r6, [r4, #36]
|
|||
|
|
122 005a 2B43 orrs r3, r3, r5
|
|||
|
|
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
123 .loc 1 407 0
|
|||
|
|
124 005c 21F01001 bic r1, r1, #16
|
|||
|
|
125 0060 0143 orrs r1, r1, r0
|
|||
|
|
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
126 .loc 1 410 0
|
|||
|
|
127 0062 A56A ldr r5, [r4, #40]
|
|||
|
|
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
128 .loc 1 407 0
|
|||
|
|
129 0064 1160 str r1, [r2]
|
|||
|
|
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
130 .loc 1 410 0
|
|||
|
|
131 0066 3343 orrs r3, r3, r6
|
|||
|
|
132 0068 D4E90C60 ldrd r6, r0, [r4, #48]
|
|||
|
|
133 006c 2B43 orrs r3, r3, r5
|
|||
|
|
134 006e 2549 ldr r1, .L24+4
|
|||
|
|
135 0070 1568 ldr r5, [r2]
|
|||
|
|
136 0072 43EAC643 orr r3, r3, r6, lsl #19
|
|||
|
|
137 0076 43EA0063 orr r3, r3, r0, lsl #24
|
|||
|
|
138 007a 207D ldrb r0, [r4, #20] @ zero_extendqisi2
|
|||
|
|
139 007c 2940 ands r1, r1, r5
|
|||
|
|
140 .L21:
|
|||
|
|
141 007e 0128 cmp r0, #1
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 13
|
|||
|
|
|
|||
|
|
|
|||
|
|
142 0080 43EA0103 orr r3, r3, r1
|
|||
|
|
143 0084 14BF ite ne
|
|||
|
|
144 0086 0021 movne r1, #0
|
|||
|
|
145 0088 4FF48071 moveq r1, #256
|
|||
|
|
146 008c 0B43 orrs r3, r3, r1
|
|||
|
|
147 008e 1360 str r3, [r2]
|
|||
|
|
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
148 .loc 1 423 0
|
|||
|
|
149 0090 9369 ldr r3, [r2, #24]
|
|||
|
|
150 0092 002B cmp r3, #0
|
|||
|
|
151 0094 09DB blt .L10
|
|||
|
|
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_TCMR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
152 .loc 1 425 0
|
|||
|
|
153 0096 D4E90635 ldrd r3, r5, [r4, #24]
|
|||
|
|
154 009a 206A ldr r0, [r4, #32]
|
|||
|
|
155 009c 9169 ldr r1, [r2, #24]
|
|||
|
|
156 009e 2B43 orrs r3, r3, r5
|
|||
|
|
157 00a0 0343 orrs r3, r3, r0
|
|||
|
|
158 00a2 21F03F01 bic r1, r1, #63
|
|||
|
|
159 00a6 0B43 orrs r3, r3, r1
|
|||
|
|
160 00a8 9361 str r3, [r2, #24]
|
|||
|
|
161 .L10:
|
|||
|
|
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
162 .loc 1 433 0
|
|||
|
|
163 00aa 94F83A30 ldrb r3, [r4, #58] @ zero_extendqisi2
|
|||
|
|
164 00ae 03F0FF00 and r0, r3, #255
|
|||
|
|
165 00b2 4BB9 cbnz r3, .L16
|
|||
|
|
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
166 .loc 1 436 0
|
|||
|
|
167 00b4 0123 movs r3, #1
|
|||
|
|
168 00b6 84F83A30 strb r3, [r4, #58]
|
|||
|
|
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
169 .loc 1 442 0
|
|||
|
|
170 00ba 02B0 add sp, sp, #8
|
|||
|
|
171 .LCFI2:
|
|||
|
|
172 .cfi_def_cfa_offset 16
|
|||
|
|
173 @ sp needed
|
|||
|
|
174 00bc 70BD pop {r4, r5, r6, pc}
|
|||
|
|
175 .LVL3:
|
|||
|
|
176 .L13:
|
|||
|
|
177 .LCFI3:
|
|||
|
|
178 .cfi_def_cfa_offset 0
|
|||
|
|
179 .cfi_restore 4
|
|||
|
|
180 .cfi_restore 5
|
|||
|
|
181 .cfi_restore 6
|
|||
|
|
182 .cfi_restore 14
|
|||
|
|
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
183 .loc 1 294 0
|
|||
|
|
184 00be 0120 movs r0, #1
|
|||
|
|
185 .LVL4:
|
|||
|
|
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
186 .loc 1 442 0
|
|||
|
|
187 00c0 7047 bx lr
|
|||
|
|
188 .LVL5:
|
|||
|
|
189 .L22:
|
|||
|
|
190 .LCFI4:
|
|||
|
|
191 .cfi_def_cfa_offset 24
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 14
|
|||
|
|
|
|||
|
|
|
|||
|
|
192 .cfi_offset 4, -16
|
|||
|
|
193 .cfi_offset 5, -12
|
|||
|
|
194 .cfi_offset 6, -8
|
|||
|
|
195 .cfi_offset 14, -4
|
|||
|
|
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
196 .loc 1 358 0
|
|||
|
|
197 00c2 80F83920 strb r2, [r0, #57]
|
|||
|
|
198 00c6 B7E7 b .L5
|
|||
|
|
199 .LVL6:
|
|||
|
|
200 .L16:
|
|||
|
|
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
201 .loc 1 440 0
|
|||
|
|
202 00c8 0020 movs r0, #0
|
|||
|
|
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
203 .loc 1 442 0
|
|||
|
|
204 00ca 02B0 add sp, sp, #8
|
|||
|
|
205 .LCFI5:
|
|||
|
|
206 .cfi_remember_state
|
|||
|
|
207 .cfi_def_cfa_offset 16
|
|||
|
|
208 @ sp needed
|
|||
|
|
209 00cc 70BD pop {r4, r5, r6, pc}
|
|||
|
|
210 .LVL7:
|
|||
|
|
211 .L23:
|
|||
|
|
212 .LCFI6:
|
|||
|
|
213 .cfi_restore_state
|
|||
|
|
214 00ce 6668 ldr r6, [r4, #4]
|
|||
|
|
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
215 .loc 1 390 0
|
|||
|
|
216 00d0 1168 ldr r1, [r2]
|
|||
|
|
217 00d2 2069 ldr r0, [r4, #16]
|
|||
|
|
218 00d4 E56A ldr r5, [r4, #44]
|
|||
|
|
219 00d6 3343 orrs r3, r3, r6
|
|||
|
|
220 00d8 0343 orrs r3, r3, r0
|
|||
|
|
221 00da 21F01001 bic r1, r1, #16
|
|||
|
|
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
222 .loc 1 393 0
|
|||
|
|
223 00de 606A ldr r0, [r4, #36]
|
|||
|
|
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
224 .loc 1 390 0
|
|||
|
|
225 00e0 2943 orrs r1, r1, r5
|
|||
|
|
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
226 .loc 1 393 0
|
|||
|
|
227 00e2 A56A ldr r5, [r4, #40]
|
|||
|
|
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_USERTRIM,
|
|||
|
|
228 .loc 1 390 0
|
|||
|
|
229 00e4 1160 str r1, [r2]
|
|||
|
|
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK,
|
|||
|
|
230 .loc 1 393 0
|
|||
|
|
231 00e6 0343 orrs r3, r3, r0
|
|||
|
|
232 00e8 206B ldr r0, [r4, #48]
|
|||
|
|
233 00ea 1668 ldr r6, [r2]
|
|||
|
|
234 00ec 0549 ldr r1, .L24+4
|
|||
|
|
235 00ee 2B43 orrs r3, r3, r5
|
|||
|
|
236 00f0 656B ldr r5, [r4, #52]
|
|||
|
|
237 00f2 43EAC043 orr r3, r3, r0, lsl #19
|
|||
|
|
238 00f6 3140 ands r1, r1, r6
|
|||
|
|
239 00f8 207D ldrb r0, [r4, #20] @ zero_extendqisi2
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 15
|
|||
|
|
|
|||
|
|
|
|||
|
|
240 00fa 43EA0563 orr r3, r3, r5, lsl #24
|
|||
|
|
241 00fe BEE7 b .L21
|
|||
|
|
242 .L25:
|
|||
|
|
243 .align 2
|
|||
|
|
244 .L24:
|
|||
|
|
245 0100 00100240 .word 1073876992
|
|||
|
|
246 0104 113E00E0 .word -536855023
|
|||
|
|
247 .cfi_endproc
|
|||
|
|
248 .LFE329:
|
|||
|
|
250 .section .text.HAL_OPAMP_MspDeInit,"ax",%progbits
|
|||
|
|
251 .align 1
|
|||
|
|
252 .p2align 2,,3
|
|||
|
|
253 .weak HAL_OPAMP_MspDeInit
|
|||
|
|
254 .syntax unified
|
|||
|
|
255 .thumb
|
|||
|
|
256 .thumb_func
|
|||
|
|
257 .fpu fpv4-sp-d16
|
|||
|
|
259 HAL_OPAMP_MspDeInit:
|
|||
|
|
260 .LFB341:
|
|||
|
|
261 .cfi_startproc
|
|||
|
|
262 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
263 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
264 @ link register save eliminated.
|
|||
|
|
265 0000 7047 bx lr
|
|||
|
|
266 .cfi_endproc
|
|||
|
|
267 .LFE341:
|
|||
|
|
269 0002 00BF .section .text.HAL_OPAMP_DeInit,"ax",%progbits
|
|||
|
|
270 .align 1
|
|||
|
|
271 .p2align 2,,3
|
|||
|
|
272 .global HAL_OPAMP_DeInit
|
|||
|
|
273 .syntax unified
|
|||
|
|
274 .thumb
|
|||
|
|
275 .thumb_func
|
|||
|
|
276 .fpu fpv4-sp-d16
|
|||
|
|
278 HAL_OPAMP_DeInit:
|
|||
|
|
279 .LFB330:
|
|||
|
|
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
280 .loc 1 453 0
|
|||
|
|
281 .cfi_startproc
|
|||
|
|
282 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
283 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
284 .LVL8:
|
|||
|
|
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
285 .loc 1 458 0
|
|||
|
|
286 0000 C0B1 cbz r0, .L30
|
|||
|
|
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
287 .loc 1 462 0
|
|||
|
|
288 0002 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
289 0006 022A cmp r2, #2
|
|||
|
|
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
290 .loc 1 453 0
|
|||
|
|
291 0008 10B5 push {r4, lr}
|
|||
|
|
292 .LCFI7:
|
|||
|
|
293 .cfi_def_cfa_offset 8
|
|||
|
|
294 .cfi_offset 4, -8
|
|||
|
|
295 .cfi_offset 14, -4
|
|||
|
|
296 000a 0446 mov r4, r0
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 16
|
|||
|
|
|
|||
|
|
|
|||
|
|
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
297 .loc 1 462 0
|
|||
|
|
298 000c 10D0 beq .L31
|
|||
|
|
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
299 .loc 1 472 0
|
|||
|
|
300 000e 0368 ldr r3, [r0]
|
|||
|
|
301 0010 0022 movs r2, #0
|
|||
|
|
302 0012 1A60 str r2, [r3]
|
|||
|
|
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** #endif /* USE_HAL_OPAMP_REGISTER_CALLBACKS */
|
|||
|
|
303 .loc 1 487 0
|
|||
|
|
304 0014 FFF7FEFF bl HAL_OPAMP_MspDeInit
|
|||
|
|
305 .LVL9:
|
|||
|
|
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
306 .loc 1 490 0
|
|||
|
|
307 0018 2368 ldr r3, [r4]
|
|||
|
|
308 001a 1868 ldr r0, [r3]
|
|||
|
|
309 001c 20F0FF50 bic r0, r0, #534773760
|
|||
|
|
310 0020 20F4C010 bic r0, r0, #1572864
|
|||
|
|
311 0024 40B1 cbz r0, .L37
|
|||
|
|
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
312 .loc 1 499 0
|
|||
|
|
313 0026 0120 movs r0, #1
|
|||
|
|
314 .L29:
|
|||
|
|
315 .LVL10:
|
|||
|
|
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
316 .loc 1 505 0
|
|||
|
|
317 0028 0023 movs r3, #0
|
|||
|
|
318 002a 84F83930 strb r3, [r4, #57]
|
|||
|
|
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
319 .loc 1 509 0
|
|||
|
|
320 002e 10BD pop {r4, pc}
|
|||
|
|
321 .LVL11:
|
|||
|
|
322 .L31:
|
|||
|
|
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
323 .loc 1 460 0
|
|||
|
|
324 0030 0120 movs r0, #1
|
|||
|
|
325 .LVL12:
|
|||
|
|
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
326 .loc 1 509 0
|
|||
|
|
327 0032 10BD pop {r4, pc}
|
|||
|
|
328 .LVL13:
|
|||
|
|
329 .L30:
|
|||
|
|
330 .LCFI8:
|
|||
|
|
331 .cfi_def_cfa_offset 0
|
|||
|
|
332 .cfi_restore 4
|
|||
|
|
333 .cfi_restore 14
|
|||
|
|
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
334 .loc 1 460 0
|
|||
|
|
335 0034 0120 movs r0, #1
|
|||
|
|
336 .LVL14:
|
|||
|
|
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
337 .loc 1 509 0
|
|||
|
|
338 0036 7047 bx lr
|
|||
|
|
339 .LVL15:
|
|||
|
|
340 .L37:
|
|||
|
|
341 .LCFI9:
|
|||
|
|
342 .cfi_def_cfa_offset 8
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 17
|
|||
|
|
|
|||
|
|
|
|||
|
|
343 .cfi_offset 4, -8
|
|||
|
|
344 .cfi_offset 14, -4
|
|||
|
|
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
345 .loc 1 493 0
|
|||
|
|
346 0038 84F83A00 strb r0, [r4, #58]
|
|||
|
|
347 003c F4E7 b .L29
|
|||
|
|
348 .cfi_endproc
|
|||
|
|
349 .LFE330:
|
|||
|
|
351 003e 00BF .section .text.HAL_OPAMP_Start,"ax",%progbits
|
|||
|
|
352 .align 1
|
|||
|
|
353 .p2align 2,,3
|
|||
|
|
354 .global HAL_OPAMP_Start
|
|||
|
|
355 .syntax unified
|
|||
|
|
356 .thumb
|
|||
|
|
357 .thumb_func
|
|||
|
|
358 .fpu fpv4-sp-d16
|
|||
|
|
360 HAL_OPAMP_Start:
|
|||
|
|
361 .LFB333:
|
|||
|
|
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief DeInitialize OPAMP MSP.
|
|||
|
|
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval None
|
|||
|
|
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** __weak void HAL_OPAMP_MspDeInit(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Prevent unused argument(s) compilation warning */
|
|||
|
|
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** UNUSED(hopamp);
|
|||
|
|
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
|||
|
|
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** the HAL_OPAMP_MspDeInit could be implemented in the user file
|
|||
|
|
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @}
|
|||
|
|
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP_Exported_Functions_Group2 Input and Output operation functions
|
|||
|
|
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Data transfers functions
|
|||
|
|
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @verbatim
|
|||
|
|
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ##### IO operation functions #####
|
|||
|
|
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..]
|
|||
|
|
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** This subsection provides a set of functions allowing to manage the OPAMP data
|
|||
|
|
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** transfers.
|
|||
|
|
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @endverbatim
|
|||
|
|
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Start the opamp
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 18
|
|||
|
|
|
|||
|
|
|
|||
|
|
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_Start(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
362 .loc 1 571 0
|
|||
|
|
363 .cfi_startproc
|
|||
|
|
364 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
365 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
366 @ link register save eliminated.
|
|||
|
|
367 .LVL16:
|
|||
|
|
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP locked */
|
|||
|
|
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
368 .loc 1 576 0
|
|||
|
|
369 0000 40B1 cbz r0, .L42
|
|||
|
|
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)
|
|||
|
|
370 .loc 1 580 0
|
|||
|
|
371 0002 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
372 0006 052A cmp r2, #5
|
|||
|
|
373 0008 0346 mov r3, r0
|
|||
|
|
374 000a 03D0 beq .L42
|
|||
|
|
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->State == HAL_OPAMP_STATE_READY)
|
|||
|
|
375 .loc 1 589 0
|
|||
|
|
376 000c 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
377 0010 012A cmp r2, #1
|
|||
|
|
378 0012 01D0 beq .L47
|
|||
|
|
379 .L42:
|
|||
|
|
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
380 .loc 1 578 0
|
|||
|
|
381 0014 0120 movs r0, #1
|
|||
|
|
382 .LVL17:
|
|||
|
|
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Enable the selected opamp */
|
|||
|
|
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN);
|
|||
|
|
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Update the OPAMP state*/
|
|||
|
|
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* From HAL_OPAMP_STATE_READY to HAL_OPAMP_STATE_BUSY */
|
|||
|
|
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->State = HAL_OPAMP_STATE_BUSY;
|
|||
|
|
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 19
|
|||
|
|
|
|||
|
|
|
|||
|
|
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
383 .loc 1 606 0
|
|||
|
|
384 0016 7047 bx lr
|
|||
|
|
385 .LVL18:
|
|||
|
|
386 .L47:
|
|||
|
|
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
387 .loc 1 592 0
|
|||
|
|
388 0018 0168 ldr r1, [r0]
|
|||
|
|
389 001a 0A68 ldr r2, [r1]
|
|||
|
|
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
390 .loc 1 571 0
|
|||
|
|
391 001c 10B4 push {r4}
|
|||
|
|
392 .LCFI10:
|
|||
|
|
393 .cfi_def_cfa_offset 4
|
|||
|
|
394 .cfi_offset 4, -4
|
|||
|
|
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
395 .loc 1 592 0
|
|||
|
|
396 001e 42F00102 orr r2, r2, #1
|
|||
|
|
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
397 .loc 1 596 0
|
|||
|
|
398 0022 0424 movs r4, #4
|
|||
|
|
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
399 .loc 1 592 0
|
|||
|
|
400 0024 0A60 str r2, [r1]
|
|||
|
|
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
401 .loc 1 572 0
|
|||
|
|
402 0026 0020 movs r0, #0
|
|||
|
|
403 .LVL19:
|
|||
|
|
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
404 .loc 1 596 0
|
|||
|
|
405 0028 83F83A40 strb r4, [r3, #58]
|
|||
|
|
406 .LVL20:
|
|||
|
|
407 .loc 1 606 0
|
|||
|
|
408 002c 5DF8044B ldr r4, [sp], #4
|
|||
|
|
409 .LCFI11:
|
|||
|
|
410 .cfi_restore 4
|
|||
|
|
411 .cfi_def_cfa_offset 0
|
|||
|
|
412 0030 7047 bx lr
|
|||
|
|
413 .cfi_endproc
|
|||
|
|
414 .LFE333:
|
|||
|
|
416 0032 00BF .section .text.HAL_OPAMP_Stop,"ax",%progbits
|
|||
|
|
417 .align 1
|
|||
|
|
418 .p2align 2,,3
|
|||
|
|
419 .global HAL_OPAMP_Stop
|
|||
|
|
420 .syntax unified
|
|||
|
|
421 .thumb
|
|||
|
|
422 .thumb_func
|
|||
|
|
423 .fpu fpv4-sp-d16
|
|||
|
|
425 HAL_OPAMP_Stop:
|
|||
|
|
426 .LFB334:
|
|||
|
|
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 20
|
|||
|
|
|
|||
|
|
|
|||
|
|
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Stop the opamp
|
|||
|
|
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_Stop(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
427 .loc 1 614 0
|
|||
|
|
428 .cfi_startproc
|
|||
|
|
429 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
430 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
431 @ link register save eliminated.
|
|||
|
|
432 .LVL21:
|
|||
|
|
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP locked */
|
|||
|
|
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP calibration ongoing */
|
|||
|
|
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
433 .loc 1 620 0
|
|||
|
|
434 0000 60B1 cbz r0, .L53
|
|||
|
|
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)
|
|||
|
|
435 .loc 1 624 0
|
|||
|
|
436 0002 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
437 0006 052A cmp r2, #5
|
|||
|
|
438 0008 0346 mov r3, r0
|
|||
|
|
439 000a 07D0 beq .L53
|
|||
|
|
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_CALIBBUSY)
|
|||
|
|
440 .loc 1 628 0
|
|||
|
|
441 000c 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
442 0010 022A cmp r2, #2
|
|||
|
|
443 0012 03D0 beq .L53
|
|||
|
|
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->State == HAL_OPAMP_STATE_BUSY)
|
|||
|
|
444 .loc 1 637 0
|
|||
|
|
445 0014 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
446 0018 042A cmp r2, #4
|
|||
|
|
447 001a 01D0 beq .L58
|
|||
|
|
448 .L53:
|
|||
|
|
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
449 .loc 1 622 0
|
|||
|
|
450 001c 0120 movs r0, #1
|
|||
|
|
451 .LVL22:
|
|||
|
|
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Disable the selected opamp */
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 21
|
|||
|
|
|
|||
|
|
|
|||
|
|
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN);
|
|||
|
|
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Update the OPAMP state*/
|
|||
|
|
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* From HAL_OPAMP_STATE_BUSY to HAL_OPAMP_STATE_READY*/
|
|||
|
|
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->State = HAL_OPAMP_STATE_READY;
|
|||
|
|
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
452 .loc 1 652 0
|
|||
|
|
453 001e 7047 bx lr
|
|||
|
|
454 .LVL23:
|
|||
|
|
455 .L58:
|
|||
|
|
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
456 .loc 1 640 0
|
|||
|
|
457 0020 0168 ldr r1, [r0]
|
|||
|
|
458 0022 0A68 ldr r2, [r1]
|
|||
|
|
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
459 .loc 1 614 0
|
|||
|
|
460 0024 10B4 push {r4}
|
|||
|
|
461 .LCFI12:
|
|||
|
|
462 .cfi_def_cfa_offset 4
|
|||
|
|
463 .cfi_offset 4, -4
|
|||
|
|
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
464 .loc 1 640 0
|
|||
|
|
465 0026 22F00102 bic r2, r2, #1
|
|||
|
|
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
466 .loc 1 644 0
|
|||
|
|
467 002a 0124 movs r4, #1
|
|||
|
|
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
468 .loc 1 640 0
|
|||
|
|
469 002c 0A60 str r2, [r1]
|
|||
|
|
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
470 .loc 1 615 0
|
|||
|
|
471 002e 0020 movs r0, #0
|
|||
|
|
472 .LVL24:
|
|||
|
|
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
473 .loc 1 644 0
|
|||
|
|
474 0030 83F83A40 strb r4, [r3, #58]
|
|||
|
|
475 .LVL25:
|
|||
|
|
476 .loc 1 652 0
|
|||
|
|
477 0034 5DF8044B ldr r4, [sp], #4
|
|||
|
|
478 .LCFI13:
|
|||
|
|
479 .cfi_restore 4
|
|||
|
|
480 .cfi_def_cfa_offset 0
|
|||
|
|
481 0038 7047 bx lr
|
|||
|
|
482 .cfi_endproc
|
|||
|
|
483 .LFE334:
|
|||
|
|
485 003a 00BF .section .text.HAL_OPAMP_SelfCalibrate,"ax",%progbits
|
|||
|
|
486 .align 1
|
|||
|
|
487 .p2align 2,,3
|
|||
|
|
488 .global HAL_OPAMP_SelfCalibrate
|
|||
|
|
489 .syntax unified
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 22
|
|||
|
|
|
|||
|
|
|
|||
|
|
490 .thumb
|
|||
|
|
491 .thumb_func
|
|||
|
|
492 .fpu fpv4-sp-d16
|
|||
|
|
494 HAL_OPAMP_SelfCalibrate:
|
|||
|
|
495 .LFB335:
|
|||
|
|
653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Run the self calibration of one OPAMP
|
|||
|
|
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @note Calibration is performed in the mode specified in OPAMP init
|
|||
|
|
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * structure (mode normal or high-speed).
|
|||
|
|
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp handle
|
|||
|
|
659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval Updated offset trimming values (PMOS & NMOS), user trimming is enabled
|
|||
|
|
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @note Calibration runs about 25 ms.
|
|||
|
|
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_SelfCalibrate(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
496 .loc 1 665 0
|
|||
|
|
497 .cfi_startproc
|
|||
|
|
498 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
499 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
500 .LVL26:
|
|||
|
|
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** uint32_t trimmingvaluen;
|
|||
|
|
670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** uint32_t trimmingvaluep;
|
|||
|
|
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** uint32_t delta;
|
|||
|
|
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP locked */
|
|||
|
|
675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
501 .loc 1 675 0
|
|||
|
|
502 0000 60B1 cbz r0, .L69
|
|||
|
|
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
503 .loc 1 665 0
|
|||
|
|
504 0002 2DE9F843 push {r3, r4, r5, r6, r7, r8, r9, lr}
|
|||
|
|
505 .LCFI14:
|
|||
|
|
506 .cfi_def_cfa_offset 32
|
|||
|
|
507 .cfi_offset 3, -32
|
|||
|
|
508 .cfi_offset 4, -28
|
|||
|
|
509 .cfi_offset 5, -24
|
|||
|
|
510 .cfi_offset 6, -20
|
|||
|
|
511 .cfi_offset 7, -16
|
|||
|
|
512 .cfi_offset 8, -12
|
|||
|
|
513 .cfi_offset 9, -8
|
|||
|
|
514 .cfi_offset 14, -4
|
|||
|
|
676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_BUSYLOCKED)
|
|||
|
|
515 .loc 1 679 0
|
|||
|
|
516 0006 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
517 000a 052B cmp r3, #5
|
|||
|
|
518 000c 03D0 beq .L71
|
|||
|
|
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 23
|
|||
|
|
|
|||
|
|
|
|||
|
|
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP in calibration mode and calibration not yet enable */
|
|||
|
|
687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp->State == HAL_OPAMP_STATE_READY)
|
|||
|
|
519 .loc 1 687 0
|
|||
|
|
520 000e 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
521 0012 012B cmp r3, #1
|
|||
|
|
522 0014 04D0 beq .L84
|
|||
|
|
523 .L71:
|
|||
|
|
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
524 .loc 1 677 0
|
|||
|
|
525 0016 0120 movs r0, #1
|
|||
|
|
526 .LVL27:
|
|||
|
|
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set Calibration mode */
|
|||
|
|
693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Non-inverting input connected to calibration reference voltage. */
|
|||
|
|
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_FORCEVP);
|
|||
|
|
695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* user trimming values are used for offset calibration */
|
|||
|
|
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_USERTRIM);
|
|||
|
|
698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Enable calibration */
|
|||
|
|
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_CALON);
|
|||
|
|
701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* 1st calibration - N */
|
|||
|
|
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Select 90% VREF */
|
|||
|
|
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_90VDDA);
|
|||
|
|
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Enable the selected opamp */
|
|||
|
|
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN);
|
|||
|
|
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Init trimming counter */
|
|||
|
|
710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Medium value */
|
|||
|
|
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluen = 16UL;
|
|||
|
|
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** delta = 8UL;
|
|||
|
|
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** while (delta != 0UL)
|
|||
|
|
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set candidate trimming */
|
|||
|
|
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVE
|
|||
|
|
718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */
|
|||
|
|
720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Offset trim time: during calibration, minimum time needed between */
|
|||
|
|
721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* two steps to have 1 mV accuracy */
|
|||
|
|
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_Delay(2);
|
|||
|
|
723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Instance->CSR & OPAMP_CSR_OUTCAL) != 0UL)
|
|||
|
|
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP_CSR_OUTCAL is HIGH try higher trimming */
|
|||
|
|
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluen += delta;
|
|||
|
|
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 24
|
|||
|
|
|
|||
|
|
|
|||
|
|
729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP_CSR_OUTCAL is LOW try lower trimming */
|
|||
|
|
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluen -= delta;
|
|||
|
|
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** delta >>= 1;
|
|||
|
|
736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Still need to check if righ calibration is current value or un step below */
|
|||
|
|
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Indeed the first value that causes the OUTCAL bit to change from 1 to 0 */
|
|||
|
|
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVERT
|
|||
|
|
741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */
|
|||
|
|
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Offset trim time: during calibration, minimum time needed between */
|
|||
|
|
744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* two steps to have 1 mV accuracy */
|
|||
|
|
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_Delay(2);
|
|||
|
|
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Instance->CSR & OPAMP_CSR_OUTCAL) != 0UL)
|
|||
|
|
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP_CSR_OUTCAL is actually one value more */
|
|||
|
|
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluen++;
|
|||
|
|
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set right trimming */
|
|||
|
|
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVE
|
|||
|
|
753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* 2nd calibration - P */
|
|||
|
|
756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Select 10% VREF */
|
|||
|
|
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_CALSEL, OPAMP_VREF_10VDDA);
|
|||
|
|
758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Init trimming counter */
|
|||
|
|
760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Medium value */
|
|||
|
|
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluep = 16UL;
|
|||
|
|
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** delta = 8UL;
|
|||
|
|
763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** while (delta != 0UL)
|
|||
|
|
765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set candidate trimming */
|
|||
|
|
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETP, trimmingvaluep << OPAMP_INPUT_NONI
|
|||
|
|
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */
|
|||
|
|
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Offset trim time: during calibration, minimum time needed between */
|
|||
|
|
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* two steps to have 1 mV accuracy */
|
|||
|
|
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_Delay(2);
|
|||
|
|
773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Instance->CSR & OPAMP_CSR_OUTCAL) != 0UL)
|
|||
|
|
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP_CSR_OUTCAL is HIGH try higher trimming */
|
|||
|
|
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluep += delta;
|
|||
|
|
778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluep -= delta;
|
|||
|
|
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** delta >>= 1;
|
|||
|
|
785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 25
|
|||
|
|
|
|||
|
|
|
|||
|
|
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Still need to check if righ calibration is current value or un step below */
|
|||
|
|
788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Indeed the first value that causes the OUTCAL bit to change from 1 to 0U */
|
|||
|
|
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set candidate trimming */
|
|||
|
|
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETP, trimmingvaluep << OPAMP_INPUT_NONINV
|
|||
|
|
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OFFTRIMmax delay 2 ms as per datasheet (electrical characteristics */
|
|||
|
|
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Offset trim time: during calibration, minimum time needed between */
|
|||
|
|
794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* two steps to have 1 mV accuracy */
|
|||
|
|
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_Delay(2);
|
|||
|
|
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((hopamp->Instance->CSR & OPAMP_CSR_OUTCAL) != 0UL)
|
|||
|
|
798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP_CSR_OUTCAL is actually one value more */
|
|||
|
|
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvaluep++;
|
|||
|
|
801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set right trimming */
|
|||
|
|
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETP, trimmingvaluep << OPAMP_INPUT_NONI
|
|||
|
|
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Disable calibration */
|
|||
|
|
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_CALON);
|
|||
|
|
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Disable the OPAMP */
|
|||
|
|
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_OPAMPxEN);
|
|||
|
|
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set operating mode */
|
|||
|
|
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Non-inverting input connected to calibration reference voltage. */
|
|||
|
|
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_FORCEVP);
|
|||
|
|
814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Self calibration is successful */
|
|||
|
|
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Store calibration(user timing) results in init structure. */
|
|||
|
|
817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Write calibration result N */
|
|||
|
|
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.TrimmingValueN = trimmingvaluen;
|
|||
|
|
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Write calibration result P */
|
|||
|
|
822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.TrimmingValueP = trimmingvaluep;
|
|||
|
|
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Select user timing mode */
|
|||
|
|
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* And updated with calibrated settings */
|
|||
|
|
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->Init.UserTrimming = OPAMP_TRIMMING_USER;
|
|||
|
|
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETP, trimmingvaluep << OPAMP_INPUT_NONINV
|
|||
|
|
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVERT
|
|||
|
|
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP can not be calibrated from this mode */
|
|||
|
|
834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
527 .loc 1 838 0
|
|||
|
|
528 0018 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
|
|||
|
|
529 .LVL28:
|
|||
|
|
530 .L69:
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 26
|
|||
|
|
|
|||
|
|
|
|||
|
|
531 .LCFI15:
|
|||
|
|
532 .cfi_def_cfa_offset 0
|
|||
|
|
533 .cfi_restore 3
|
|||
|
|
534 .cfi_restore 4
|
|||
|
|
535 .cfi_restore 5
|
|||
|
|
536 .cfi_restore 6
|
|||
|
|
537 .cfi_restore 7
|
|||
|
|
538 .cfi_restore 8
|
|||
|
|
539 .cfi_restore 9
|
|||
|
|
540 .cfi_restore 14
|
|||
|
|
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
541 .loc 1 677 0
|
|||
|
|
542 001c 0120 movs r0, #1
|
|||
|
|
543 .LVL29:
|
|||
|
|
544 .loc 1 838 0
|
|||
|
|
545 001e 7047 bx lr
|
|||
|
|
546 .LVL30:
|
|||
|
|
547 .L84:
|
|||
|
|
548 .LCFI16:
|
|||
|
|
549 .cfi_def_cfa_offset 32
|
|||
|
|
550 .cfi_offset 3, -32
|
|||
|
|
551 .cfi_offset 4, -28
|
|||
|
|
552 .cfi_offset 5, -24
|
|||
|
|
553 .cfi_offset 6, -20
|
|||
|
|
554 .cfi_offset 7, -16
|
|||
|
|
555 .cfi_offset 8, -12
|
|||
|
|
556 .cfi_offset 9, -8
|
|||
|
|
557 .cfi_offset 14, -4
|
|||
|
|
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
558 .loc 1 694 0
|
|||
|
|
559 0020 0368 ldr r3, [r0]
|
|||
|
|
560 0022 1A68 ldr r2, [r3]
|
|||
|
|
561 0024 42F00202 orr r2, r2, #2
|
|||
|
|
562 0028 1A60 str r2, [r3]
|
|||
|
|
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
563 .loc 1 697 0
|
|||
|
|
564 002a 1A68 ldr r2, [r3]
|
|||
|
|
565 002c 42F01002 orr r2, r2, #16
|
|||
|
|
566 0030 1A60 str r2, [r3]
|
|||
|
|
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
567 .loc 1 700 0
|
|||
|
|
568 0032 1A68 ldr r2, [r3]
|
|||
|
|
569 0034 42F40062 orr r2, r2, #2048
|
|||
|
|
570 0038 1A60 str r2, [r3]
|
|||
|
|
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
571 .loc 1 704 0
|
|||
|
|
572 003a 1A68 ldr r2, [r3]
|
|||
|
|
573 003c 42F44052 orr r2, r2, #12288
|
|||
|
|
574 0040 1A60 str r2, [r3]
|
|||
|
|
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
575 .loc 1 707 0
|
|||
|
|
576 0042 1A68 ldr r2, [r3]
|
|||
|
|
577 0044 42F00102 orr r2, r2, #1
|
|||
|
|
578 0048 0446 mov r4, r0
|
|||
|
|
579 004a 1A60 str r2, [r3]
|
|||
|
|
580 .LVL31:
|
|||
|
|
581 004c 0426 movs r6, #4
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 27
|
|||
|
|
|
|||
|
|
|
|||
|
|
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
582 .loc 1 712 0
|
|||
|
|
583 004e 0827 movs r7, #8
|
|||
|
|
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** delta = 8UL;
|
|||
|
|
584 .loc 1 711 0
|
|||
|
|
585 0050 1025 movs r5, #16
|
|||
|
|
586 .LVL32:
|
|||
|
|
587 .L63:
|
|||
|
|
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
588 .loc 1 717 0
|
|||
|
|
589 0052 1A68 ldr r2, [r3]
|
|||
|
|
590 0054 22F0F852 bic r2, r2, #520093696
|
|||
|
|
591 0058 42EA0562 orr r2, r2, r5, lsl #24
|
|||
|
|
592 005c 1A60 str r2, [r3]
|
|||
|
|
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
593 .loc 1 722 0
|
|||
|
|
594 005e 0220 movs r0, #2
|
|||
|
|
595 0060 FFF7FEFF bl HAL_Delay
|
|||
|
|
596 .LVL33:
|
|||
|
|
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
597 .loc 1 724 0
|
|||
|
|
598 0064 2368 ldr r3, [r4]
|
|||
|
|
599 0066 1A68 ldr r2, [r3]
|
|||
|
|
600 0068 5200 lsls r2, r2, #1
|
|||
|
|
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
601 .loc 1 727 0
|
|||
|
|
602 006a 4CBF ite mi
|
|||
|
|
603 006c ED19 addmi r5, r5, r7
|
|||
|
|
604 .LVL34:
|
|||
|
|
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
605 .loc 1 732 0
|
|||
|
|
606 006e ED1B subpl r5, r5, r7
|
|||
|
|
607 .LVL35:
|
|||
|
|
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
608 .loc 1 714 0
|
|||
|
|
609 0070 013E subs r6, r6, #1
|
|||
|
|
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
610 .loc 1 735 0
|
|||
|
|
611 0072 4FEA5707 lsr r7, r7, #1
|
|||
|
|
612 .LVL36:
|
|||
|
|
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
613 .loc 1 714 0
|
|||
|
|
614 0076 ECD1 bne .L63
|
|||
|
|
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
615 .loc 1 740 0
|
|||
|
|
616 0078 1A68 ldr r2, [r3]
|
|||
|
|
617 007a 2E06 lsls r6, r5, #24
|
|||
|
|
618 007c 22F0F852 bic r2, r2, #520093696
|
|||
|
|
619 0080 3243 orrs r2, r2, r6
|
|||
|
|
620 0082 1A60 str r2, [r3]
|
|||
|
|
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
621 .loc 1 745 0
|
|||
|
|
622 0084 0220 movs r0, #2
|
|||
|
|
623 0086 FFF7FEFF bl HAL_Delay
|
|||
|
|
624 .LVL37:
|
|||
|
|
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
625 .loc 1 747 0
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 28
|
|||
|
|
|
|||
|
|
|
|||
|
|
626 008a 2268 ldr r2, [r4]
|
|||
|
|
627 008c 1368 ldr r3, [r2]
|
|||
|
|
628 008e 5800 lsls r0, r3, #1
|
|||
|
|
629 0090 06D5 bpl .L64
|
|||
|
|
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
630 .loc 1 752 0
|
|||
|
|
631 0092 1368 ldr r3, [r2]
|
|||
|
|
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set right trimming */
|
|||
|
|
632 .loc 1 750 0
|
|||
|
|
633 0094 0135 adds r5, r5, #1
|
|||
|
|
634 .LVL38:
|
|||
|
|
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
635 .loc 1 752 0
|
|||
|
|
636 0096 2E06 lsls r6, r5, #24
|
|||
|
|
637 0098 23F0F853 bic r3, r3, #520093696
|
|||
|
|
638 009c 3343 orrs r3, r3, r6
|
|||
|
|
639 009e 1360 str r3, [r2]
|
|||
|
|
640 .L64:
|
|||
|
|
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
641 .loc 1 757 0
|
|||
|
|
642 00a0 1368 ldr r3, [r2]
|
|||
|
|
643 00a2 23F44053 bic r3, r3, #12288
|
|||
|
|
644 00a6 43F48053 orr r3, r3, #4096
|
|||
|
|
645 00aa 1360 str r3, [r2]
|
|||
|
|
646 .LVL39:
|
|||
|
|
647 00ac 4FF00408 mov r8, #4
|
|||
|
|
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
648 .loc 1 762 0
|
|||
|
|
649 00b0 4FF00809 mov r9, #8
|
|||
|
|
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** delta = 8UL;
|
|||
|
|
650 .loc 1 761 0
|
|||
|
|
651 00b4 1027 movs r7, #16
|
|||
|
|
652 .LVL40:
|
|||
|
|
653 .L67:
|
|||
|
|
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
654 .loc 1 767 0
|
|||
|
|
655 00b6 1368 ldr r3, [r2]
|
|||
|
|
656 00b8 23F47803 bic r3, r3, #16252928
|
|||
|
|
657 00bc 43EAC743 orr r3, r3, r7, lsl #19
|
|||
|
|
658 00c0 1360 str r3, [r2]
|
|||
|
|
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
659 .loc 1 772 0
|
|||
|
|
660 00c2 0220 movs r0, #2
|
|||
|
|
661 00c4 FFF7FEFF bl HAL_Delay
|
|||
|
|
662 .LVL41:
|
|||
|
|
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
663 .loc 1 774 0
|
|||
|
|
664 00c8 2268 ldr r2, [r4]
|
|||
|
|
665 00ca 1368 ldr r3, [r2]
|
|||
|
|
666 00cc 5900 lsls r1, r3, #1
|
|||
|
|
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
667 .loc 1 777 0
|
|||
|
|
668 00ce 4CBF ite mi
|
|||
|
|
669 00d0 4F44 addmi r7, r7, r9
|
|||
|
|
670 .LVL42:
|
|||
|
|
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
671 .loc 1 781 0
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 29
|
|||
|
|
|
|||
|
|
|
|||
|
|
672 00d2 A7EB0907 subpl r7, r7, r9
|
|||
|
|
673 .LVL43:
|
|||
|
|
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
674 .loc 1 764 0
|
|||
|
|
675 00d6 B8F10108 subs r8, r8, #1
|
|||
|
|
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
676 .loc 1 784 0
|
|||
|
|
677 00da 4FEA5909 lsr r9, r9, #1
|
|||
|
|
678 .LVL44:
|
|||
|
|
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
679 .loc 1 764 0
|
|||
|
|
680 00de EAD1 bne .L67
|
|||
|
|
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
681 .loc 1 790 0
|
|||
|
|
682 00e0 1368 ldr r3, [r2]
|
|||
|
|
683 00e2 4FEAC748 lsl r8, r7, #19
|
|||
|
|
684 00e6 23F47803 bic r3, r3, #16252928
|
|||
|
|
685 00ea 43EA0803 orr r3, r3, r8
|
|||
|
|
686 00ee 1360 str r3, [r2]
|
|||
|
|
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
687 .loc 1 795 0
|
|||
|
|
688 00f0 0220 movs r0, #2
|
|||
|
|
689 00f2 FFF7FEFF bl HAL_Delay
|
|||
|
|
690 .LVL45:
|
|||
|
|
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
691 .loc 1 797 0
|
|||
|
|
692 00f6 2368 ldr r3, [r4]
|
|||
|
|
693 00f8 1A68 ldr r2, [r3]
|
|||
|
|
694 00fa 5200 lsls r2, r2, #1
|
|||
|
|
695 00fc 08D5 bpl .L68
|
|||
|
|
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
696 .loc 1 802 0
|
|||
|
|
697 00fe 1A68 ldr r2, [r3]
|
|||
|
|
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set right trimming */
|
|||
|
|
698 .loc 1 800 0
|
|||
|
|
699 0100 0137 adds r7, r7, #1
|
|||
|
|
700 .LVL46:
|
|||
|
|
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
701 .loc 1 802 0
|
|||
|
|
702 0102 4FEAC748 lsl r8, r7, #19
|
|||
|
|
703 0106 22F47802 bic r2, r2, #16252928
|
|||
|
|
704 010a 42EA0802 orr r2, r2, r8
|
|||
|
|
705 010e 1A60 str r2, [r3]
|
|||
|
|
706 .L68:
|
|||
|
|
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
707 .loc 1 806 0
|
|||
|
|
708 0110 1A68 ldr r2, [r3]
|
|||
|
|
709 0112 22F40062 bic r2, r2, #2048
|
|||
|
|
710 0116 1A60 str r2, [r3]
|
|||
|
|
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
711 .loc 1 809 0
|
|||
|
|
712 0118 1A68 ldr r2, [r3]
|
|||
|
|
713 011a 22F00102 bic r2, r2, #1
|
|||
|
|
714 011e 1A60 str r2, [r3]
|
|||
|
|
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
715 .loc 1 813 0
|
|||
|
|
716 0120 1A68 ldr r2, [r3]
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 30
|
|||
|
|
|
|||
|
|
|
|||
|
|
717 0122 22F00202 bic r2, r2, #2
|
|||
|
|
718 0126 1A60 str r2, [r3]
|
|||
|
|
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVERT
|
|||
|
|
719 .loc 1 827 0
|
|||
|
|
720 0128 1A68 ldr r2, [r3]
|
|||
|
|
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
721 .loc 1 819 0
|
|||
|
|
722 012a 6563 str r5, [r4, #52]
|
|||
|
|
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVERT
|
|||
|
|
723 .loc 1 827 0
|
|||
|
|
724 012c 22F47802 bic r2, r2, #16252928
|
|||
|
|
725 0130 42EA0802 orr r2, r2, r8
|
|||
|
|
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETP, trimmingvaluep << OPAMP_INPUT_NONINV
|
|||
|
|
726 .loc 1 826 0
|
|||
|
|
727 0134 1021 movs r1, #16
|
|||
|
|
728 0136 C4E90B17 strd r1, r7, [r4, #44]
|
|||
|
|
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, trimmingvaluen << OPAMP_INPUT_INVERT
|
|||
|
|
729 .loc 1 827 0
|
|||
|
|
730 013a 1A60 str r2, [r3]
|
|||
|
|
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
731 .loc 1 828 0
|
|||
|
|
732 013c 1A68 ldr r2, [r3]
|
|||
|
|
733 013e 22F0F852 bic r2, r2, #520093696
|
|||
|
|
734 0142 1643 orrs r6, r6, r2
|
|||
|
|
735 0144 1E60 str r6, [r3]
|
|||
|
|
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
736 .loc 1 667 0
|
|||
|
|
737 0146 0020 movs r0, #0
|
|||
|
|
738 .LVL47:
|
|||
|
|
739 .loc 1 838 0
|
|||
|
|
740 0148 BDE8F883 pop {r3, r4, r5, r6, r7, r8, r9, pc}
|
|||
|
|
741 .cfi_endproc
|
|||
|
|
742 .LFE335:
|
|||
|
|
744 .section .text.HAL_OPAMP_Lock,"ax",%progbits
|
|||
|
|
745 .align 1
|
|||
|
|
746 .p2align 2,,3
|
|||
|
|
747 .global HAL_OPAMP_Lock
|
|||
|
|
748 .syntax unified
|
|||
|
|
749 .thumb
|
|||
|
|
750 .thumb_func
|
|||
|
|
751 .fpu fpv4-sp-d16
|
|||
|
|
753 HAL_OPAMP_Lock:
|
|||
|
|
754 .LFB336:
|
|||
|
|
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @}
|
|||
|
|
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP_Exported_Functions_Group3 Peripheral Control functions
|
|||
|
|
845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Peripheral Control functions
|
|||
|
|
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @verbatim
|
|||
|
|
848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ##### Peripheral Control functions #####
|
|||
|
|
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..]
|
|||
|
|
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** This subsection provides a set of functions allowing to control the OPAMP data
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 31
|
|||
|
|
|
|||
|
|
|
|||
|
|
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** transfers.
|
|||
|
|
854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @endverbatim
|
|||
|
|
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Lock the selected opamp configuration.
|
|||
|
|
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_Lock(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
755 .loc 1 867 0
|
|||
|
|
756 .cfi_startproc
|
|||
|
|
757 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
758 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
759 @ link register save eliminated.
|
|||
|
|
760 .LVL48:
|
|||
|
|
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP locked */
|
|||
|
|
872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP can be locked when enabled and running in normal mode */
|
|||
|
|
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* It is meaningless otherwise */
|
|||
|
|
874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
761 .loc 1 874 0
|
|||
|
|
762 0000 20B1 cbz r0, .L88
|
|||
|
|
875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State != HAL_OPAMP_STATE_BUSY)
|
|||
|
|
763 .loc 1 878 0
|
|||
|
|
764 0002 90F83A20 ldrb r2, [r0, #58] @ zero_extendqisi2
|
|||
|
|
765 0006 042A cmp r2, #4
|
|||
|
|
766 0008 0346 mov r3, r0
|
|||
|
|
767 000a 01D0 beq .L93
|
|||
|
|
768 .L88:
|
|||
|
|
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
769 .loc 1 876 0
|
|||
|
|
770 000c 0120 movs r0, #1
|
|||
|
|
771 .LVL49:
|
|||
|
|
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Lock OPAMP */
|
|||
|
|
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_LOCK);
|
|||
|
|
889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP state changed to locked */
|
|||
|
|
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** hopamp->State = HAL_OPAMP_STATE_BUSYLOCKED;
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 32
|
|||
|
|
|
|||
|
|
|
|||
|
|
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
772 .loc 1 894 0
|
|||
|
|
773 000e 7047 bx lr
|
|||
|
|
774 .LVL50:
|
|||
|
|
775 .L93:
|
|||
|
|
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
776 .loc 1 888 0
|
|||
|
|
777 0010 0168 ldr r1, [r0]
|
|||
|
|
778 0012 0A68 ldr r2, [r1]
|
|||
|
|
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
779 .loc 1 867 0
|
|||
|
|
780 0014 10B4 push {r4}
|
|||
|
|
781 .LCFI17:
|
|||
|
|
782 .cfi_def_cfa_offset 4
|
|||
|
|
783 .cfi_offset 4, -4
|
|||
|
|
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
784 .loc 1 888 0
|
|||
|
|
785 0016 42F00042 orr r2, r2, #-2147483648
|
|||
|
|
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
786 .loc 1 891 0
|
|||
|
|
787 001a 0524 movs r4, #5
|
|||
|
|
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
788 .loc 1 888 0
|
|||
|
|
789 001c 0A60 str r2, [r1]
|
|||
|
|
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
790 .loc 1 868 0
|
|||
|
|
791 001e 0020 movs r0, #0
|
|||
|
|
792 .LVL51:
|
|||
|
|
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
793 .loc 1 891 0
|
|||
|
|
794 0020 83F83A40 strb r4, [r3, #58]
|
|||
|
|
795 .LVL52:
|
|||
|
|
796 .loc 1 894 0
|
|||
|
|
797 0024 5DF8044B ldr r4, [sp], #4
|
|||
|
|
798 .LCFI18:
|
|||
|
|
799 .cfi_restore 4
|
|||
|
|
800 .cfi_def_cfa_offset 0
|
|||
|
|
801 0028 7047 bx lr
|
|||
|
|
802 .cfi_endproc
|
|||
|
|
803 .LFE336:
|
|||
|
|
805 002a 00BF .section .text.HAL_OPAMP_LockTimerMux,"ax",%progbits
|
|||
|
|
806 .align 1
|
|||
|
|
807 .p2align 2,,3
|
|||
|
|
808 .global HAL_OPAMP_LockTimerMux
|
|||
|
|
809 .syntax unified
|
|||
|
|
810 .thumb
|
|||
|
|
811 .thumb_func
|
|||
|
|
812 .fpu fpv4-sp-d16
|
|||
|
|
814 HAL_OPAMP_LockTimerMux:
|
|||
|
|
815 .LFB337:
|
|||
|
|
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @}
|
|||
|
|
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 33
|
|||
|
|
|
|||
|
|
|
|||
|
|
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Lock the selected opamp timer controlled mux configuration.
|
|||
|
|
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL status
|
|||
|
|
904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef HAL_OPAMP_LockTimerMux(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
816 .loc 1 906 0
|
|||
|
|
817 .cfi_startproc
|
|||
|
|
818 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
819 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
820 @ link register save eliminated.
|
|||
|
|
821 .LVL53:
|
|||
|
|
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_StatusTypeDef status = HAL_OK;
|
|||
|
|
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if OPAMP timer controlled mux is locked */
|
|||
|
|
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* OPAMP timer controlled mux can be locked when enabled */
|
|||
|
|
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* It is meaningless otherwise */
|
|||
|
|
913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
822 .loc 1 913 0
|
|||
|
|
823 0000 60B1 cbz r0, .L98
|
|||
|
|
914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State == HAL_OPAMP_STATE_RESET)
|
|||
|
|
824 .loc 1 917 0
|
|||
|
|
825 0002 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
826 0006 4BB1 cbz r3, .L98
|
|||
|
|
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (READ_BIT(hopamp->Instance->TCMR, OPAMP_TCMR_LOCK) == OPAMP_TCMR_LOCK)
|
|||
|
|
827 .loc 1 921 0
|
|||
|
|
828 0008 0368 ldr r3, [r0]
|
|||
|
|
829 000a 9A69 ldr r2, [r3, #24]
|
|||
|
|
830 000c 002A cmp r2, #0
|
|||
|
|
831 000e 05DB blt .L98
|
|||
|
|
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** status = HAL_ERROR;
|
|||
|
|
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Lock OPAMP */
|
|||
|
|
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->TCMR, OPAMP_TCMR_LOCK);
|
|||
|
|
832 .loc 1 931 0
|
|||
|
|
833 0010 9A69 ldr r2, [r3, #24]
|
|||
|
|
834 0012 42F00042 orr r2, r2, #-2147483648
|
|||
|
|
835 0016 9A61 str r2, [r3, #24]
|
|||
|
|
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
836 .loc 1 907 0
|
|||
|
|
837 0018 0020 movs r0, #0
|
|||
|
|
838 .LVL54:
|
|||
|
|
839 001a 7047 bx lr
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 34
|
|||
|
|
|
|||
|
|
|
|||
|
|
840 .LVL55:
|
|||
|
|
841 .L98:
|
|||
|
|
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
842 .loc 1 915 0
|
|||
|
|
843 001c 0120 movs r0, #1
|
|||
|
|
844 .LVL56:
|
|||
|
|
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return status;
|
|||
|
|
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
845 .loc 1 934 0
|
|||
|
|
846 001e 7047 bx lr
|
|||
|
|
847 .cfi_endproc
|
|||
|
|
848 .LFE337:
|
|||
|
|
850 .section .text.HAL_OPAMP_GetState,"ax",%progbits
|
|||
|
|
851 .align 1
|
|||
|
|
852 .p2align 2,,3
|
|||
|
|
853 .global HAL_OPAMP_GetState
|
|||
|
|
854 .syntax unified
|
|||
|
|
855 .thumb
|
|||
|
|
856 .thumb_func
|
|||
|
|
857 .fpu fpv4-sp-d16
|
|||
|
|
859 HAL_OPAMP_GetState:
|
|||
|
|
860 .LFB338:
|
|||
|
|
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @}
|
|||
|
|
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /** @defgroup OPAMP_Exported_Functions_Group4 Peripheral State functions
|
|||
|
|
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Peripheral State functions
|
|||
|
|
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** *
|
|||
|
|
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @verbatim
|
|||
|
|
944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ##### Peripheral State functions #####
|
|||
|
|
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** ===============================================================================
|
|||
|
|
947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** [..]
|
|||
|
|
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** This subsection permit to get in run-time the status of the peripheral
|
|||
|
|
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** and the data flow.
|
|||
|
|
950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** @endverbatim
|
|||
|
|
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @{
|
|||
|
|
953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Return the OPAMP state
|
|||
|
|
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval HAL state
|
|||
|
|
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** HAL_OPAMP_StateTypeDef HAL_OPAMP_GetState(OPAMP_HandleTypeDef *hopamp)
|
|||
|
|
961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
861 .loc 1 961 0
|
|||
|
|
862 .cfi_startproc
|
|||
|
|
863 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
864 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
865 @ link register save eliminated.
|
|||
|
|
866 .LVL57:
|
|||
|
|
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 35
|
|||
|
|
|
|||
|
|
|
|||
|
|
963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
867 .loc 1 963 0
|
|||
|
|
868 0000 10B1 cbz r0, .L100
|
|||
|
|
964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return HAL_OPAMP_STATE_RESET;
|
|||
|
|
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return hopamp->State;
|
|||
|
|
869 .loc 1 971 0
|
|||
|
|
870 0002 90F83A00 ldrb r0, [r0, #58] @ zero_extendqisi2
|
|||
|
|
871 .LVL58:
|
|||
|
|
872 0006 C0B2 uxtb r0, r0
|
|||
|
|
873 .L100:
|
|||
|
|
972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
874 .loc 1 972 0
|
|||
|
|
875 0008 7047 bx lr
|
|||
|
|
876 .cfi_endproc
|
|||
|
|
877 .LFE338:
|
|||
|
|
879 000a 00BF .section .text.HAL_OPAMP_GetTrimOffset,"ax",%progbits
|
|||
|
|
880 .align 1
|
|||
|
|
881 .p2align 2,,3
|
|||
|
|
882 .global HAL_OPAMP_GetTrimOffset
|
|||
|
|
883 .syntax unified
|
|||
|
|
884 .thumb
|
|||
|
|
885 .thumb_func
|
|||
|
|
886 .fpu fpv4-sp-d16
|
|||
|
|
888 HAL_OPAMP_GetTrimOffset:
|
|||
|
|
889 .LFB339:
|
|||
|
|
973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /**
|
|||
|
|
975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @brief Return the OPAMP factory trimming value
|
|||
|
|
976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param hopamp OPAMP handle
|
|||
|
|
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @param trimmingoffset Trimming offset (P or N)
|
|||
|
|
978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * @retval Trimming value (P or N): range: 0->31
|
|||
|
|
979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** * or OPAMP_FACTORYTRIMMING_DUMMY if trimming value is not available
|
|||
|
|
980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** */
|
|||
|
|
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_TrimmingValueTypeDef HAL_OPAMP_GetTrimOffset(OPAMP_HandleTypeDef *hopamp, uint32_t trimmingof
|
|||
|
|
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
890 .loc 1 983 0
|
|||
|
|
891 .cfi_startproc
|
|||
|
|
892 @ args = 0, pretend = 0, frame = 0
|
|||
|
|
893 @ frame_needed = 0, uses_anonymous_args = 0
|
|||
|
|
894 @ link register save eliminated.
|
|||
|
|
895 .LVL59:
|
|||
|
|
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** uint32_t oldusertrimming = 0UL;
|
|||
|
|
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** OPAMP_TrimmingValueTypeDef oldtrimmingvaluep = 0UL, oldtrimmingvaluen = 0UL, trimmingvalue;
|
|||
|
|
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the OPAMP handle allocation */
|
|||
|
|
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Value can be retrieved in HAL_OPAMP_STATE_READY state */
|
|||
|
|
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (hopamp == NULL)
|
|||
|
|
896 .loc 1 989 0
|
|||
|
|
897 0000 70B3 cbz r0, .L108
|
|||
|
|
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 36
|
|||
|
|
|
|||
|
|
|
|||
|
|
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return OPAMP_FACTORYTRIMMING_DUMMY;
|
|||
|
|
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else if (hopamp->State != HAL_OPAMP_STATE_READY)
|
|||
|
|
898 .loc 1 993 0
|
|||
|
|
899 0002 90F83A30 ldrb r3, [r0, #58] @ zero_extendqisi2
|
|||
|
|
900 0006 012B cmp r3, #1
|
|||
|
|
901 0008 2AD1 bne .L108
|
|||
|
|
994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return OPAMP_FACTORYTRIMMING_DUMMY;
|
|||
|
|
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the parameter */
|
|||
|
|
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_ALL_INSTANCE(hopamp->Instance));
|
|||
|
|
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** assert_param(IS_OPAMP_FACTORYTRIMMING(trimmingoffset));
|
|||
|
|
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check the trimming mode */
|
|||
|
|
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if ((READ_BIT(hopamp->Instance->CSR, OPAMP_CSR_USERTRIM)) != 0UL)
|
|||
|
|
902 .loc 1 1004 0
|
|||
|
|
903 000a 0368 ldr r3, [r0]
|
|||
|
|
904 000c 1A68 ldr r2, [r3]
|
|||
|
|
905 000e 12F01002 ands r2, r2, #16
|
|||
|
|
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** uint32_t oldusertrimming = 0UL;
|
|||
|
|
906 .loc 1 983 0
|
|||
|
|
907 0012 30B4 push {r4, r5}
|
|||
|
|
908 .LCFI19:
|
|||
|
|
909 .cfi_def_cfa_offset 8
|
|||
|
|
910 .cfi_offset 4, -8
|
|||
|
|
911 .cfi_offset 5, -4
|
|||
|
|
912 .loc 1 1004 0
|
|||
|
|
913 0014 27D0 beq .L109
|
|||
|
|
914 .LVL60:
|
|||
|
|
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* User trimming is used */
|
|||
|
|
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** oldusertrimming = OPAMP_TRIMMING_USER;
|
|||
|
|
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Store the TrimmingValueP & TrimmingValueN */
|
|||
|
|
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** oldtrimmingvaluep = (hopamp->Instance->CSR & OPAMP_CSR_TRIMOFFSETP) >> OPAMP_INPUT_NONINVERTI
|
|||
|
|
915 .loc 1 1009 0
|
|||
|
|
916 0016 1D68 ldr r5, [r3]
|
|||
|
|
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** oldtrimmingvaluen = (hopamp->Instance->CSR & OPAMP_CSR_TRIMOFFSETN) >> OPAMP_INPUT_INVERTING;
|
|||
|
|
917 .loc 1 1010 0
|
|||
|
|
918 0018 1C68 ldr r4, [r3]
|
|||
|
|
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** oldtrimmingvaluen = (hopamp->Instance->CSR & OPAMP_CSR_TRIMOFFSETN) >> OPAMP_INPUT_INVERTING;
|
|||
|
|
919 .loc 1 1009 0
|
|||
|
|
920 001a C5F3C445 ubfx r5, r5, #19, #5
|
|||
|
|
921 .LVL61:
|
|||
|
|
922 .loc 1 1010 0
|
|||
|
|
923 001e C4F30464 ubfx r4, r4, #24, #5
|
|||
|
|
924 .LVL62:
|
|||
|
|
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Store the TrimmingValueP & TrimmingValueN */
|
|||
|
|
925 .loc 1 1007 0
|
|||
|
|
926 0022 1022 movs r2, #16
|
|||
|
|
927 .LVL63:
|
|||
|
|
928 .L104:
|
|||
|
|
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Set factory timing mode */
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 37
|
|||
|
|
|
|||
|
|
|
|||
|
|
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** CLEAR_BIT(hopamp->Instance->CSR, OPAMP_CSR_USERTRIM);
|
|||
|
|
929 .loc 1 1014 0
|
|||
|
|
930 0024 1868 ldr r0, [r3]
|
|||
|
|
931 .LVL64:
|
|||
|
|
932 0026 20F01000 bic r0, r0, #16
|
|||
|
|
933 002a 1860 str r0, [r3]
|
|||
|
|
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Get factory trimming */
|
|||
|
|
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (trimmingoffset == OPAMP_FACTORYTRIMMING_P)
|
|||
|
|
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Return TrimOffsetP */
|
|||
|
|
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvalue = ((hopamp->Instance->CSR & OPAMP_CSR_TRIMOFFSETP) >> OPAMP_INPUT_NONINVERTING)
|
|||
|
|
934 .loc 1 1020 0
|
|||
|
|
935 002c 1868 ldr r0, [r3]
|
|||
|
|
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
936 .loc 1 1017 0
|
|||
|
|
937 002e 0129 cmp r1, #1
|
|||
|
|
938 .loc 1 1020 0
|
|||
|
|
939 0030 0CBF ite eq
|
|||
|
|
940 0032 C0F3C440 ubfxeq r0, r0, #19, #5
|
|||
|
|
941 .LVL65:
|
|||
|
|
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** else
|
|||
|
|
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Return TrimOffsetN */
|
|||
|
|
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** trimmingvalue = ((hopamp->Instance->CSR & OPAMP_CSR_TRIMOFFSETN) >> OPAMP_INPUT_INVERTING);
|
|||
|
|
942 .loc 1 1025 0
|
|||
|
|
943 0036 C0F30460 ubfxne r0, r0, #24, #5
|
|||
|
|
944 .LVL66:
|
|||
|
|
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Restore user trimming configuration if it was formerly set */
|
|||
|
|
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Check if user trimming was used */
|
|||
|
|
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** if (oldusertrimming == OPAMP_TRIMMING_USER)
|
|||
|
|
945 .loc 1 1030 0
|
|||
|
|
946 003a 7AB1 cbz r2, .L102
|
|||
|
|
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** {
|
|||
|
|
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** /* Restore user trimming */
|
|||
|
|
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** SET_BIT(hopamp->Instance->CSR, OPAMP_CSR_USERTRIM);
|
|||
|
|
947 .loc 1 1033 0
|
|||
|
|
948 003c 1A68 ldr r2, [r3]
|
|||
|
|
949 .LVL67:
|
|||
|
|
950 003e 42F01002 orr r2, r2, #16
|
|||
|
|
951 0042 1A60 str r2, [r3]
|
|||
|
|
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETP, oldtrimmingvaluep << OPAMP_INPUT_NON
|
|||
|
|
952 .loc 1 1034 0
|
|||
|
|
953 0044 1A68 ldr r2, [r3]
|
|||
|
|
954 0046 22F47802 bic r2, r2, #16252928
|
|||
|
|
955 004a 42EAC545 orr r5, r2, r5, lsl #19
|
|||
|
|
956 .LVL68:
|
|||
|
|
957 004e 1D60 str r5, [r3]
|
|||
|
|
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** MODIFY_REG(hopamp->Instance->CSR, OPAMP_CSR_TRIMOFFSETN, oldtrimmingvaluen << OPAMP_INPUT_INV
|
|||
|
|
958 .loc 1 1035 0
|
|||
|
|
959 0050 1A68 ldr r2, [r3]
|
|||
|
|
960 0052 22F0F852 bic r2, r2, #520093696
|
|||
|
|
961 0056 42EA0464 orr r4, r2, r4, lsl #24
|
|||
|
|
962 .LVL69:
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 38
|
|||
|
|
|
|||
|
|
|
|||
|
|
963 005a 1C60 str r4, [r3]
|
|||
|
|
964 .L102:
|
|||
|
|
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** return trimmingvalue;
|
|||
|
|
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
965 .loc 1 1039 0
|
|||
|
|
966 005c 30BC pop {r4, r5}
|
|||
|
|
967 .LCFI20:
|
|||
|
|
968 .cfi_restore 5
|
|||
|
|
969 .cfi_restore 4
|
|||
|
|
970 .cfi_def_cfa_offset 0
|
|||
|
|
971 005e 7047 bx lr
|
|||
|
|
972 .LVL70:
|
|||
|
|
973 .L108:
|
|||
|
|
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c **** }
|
|||
|
|
974 .loc 1 991 0
|
|||
|
|
975 0060 4FF0FF30 mov r0, #-1
|
|||
|
|
976 .LVL71:
|
|||
|
|
977 .loc 1 1039 0
|
|||
|
|
978 0064 7047 bx lr
|
|||
|
|
979 .LVL72:
|
|||
|
|
980 .L109:
|
|||
|
|
981 .LCFI21:
|
|||
|
|
982 .cfi_def_cfa_offset 8
|
|||
|
|
983 .cfi_offset 4, -8
|
|||
|
|
984 .cfi_offset 5, -4
|
|||
|
|
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_opamp.c ****
|
|||
|
|
985 .loc 1 985 0
|
|||
|
|
986 0066 1446 mov r4, r2
|
|||
|
|
987 0068 1546 mov r5, r2
|
|||
|
|
988 006a DBE7 b .L104
|
|||
|
|
989 .cfi_endproc
|
|||
|
|
990 .LFE339:
|
|||
|
|
992 .text
|
|||
|
|
993 .Letext0:
|
|||
|
|
994 .file 2 "/usr/include/newlib/machine/_default_types.h"
|
|||
|
|
995 .file 3 "/usr/include/newlib/sys/_stdint.h"
|
|||
|
|
996 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
|
|||
|
|
997 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
|
|||
|
|
998 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
|
|||
|
|
999 .file 7 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g4xx.h"
|
|||
|
|
1000 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
|
|||
|
|
1001 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
|
|||
|
|
1002 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_opamp.h"
|
|||
|
|
1003 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
|
|||
|
|
1004 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
|
|||
|
|
ARM GAS /tmp/ccuO0EEy.s page 39
|
|||
|
|
|
|||
|
|
|
|||
|
|
DEFINED SYMBOLS
|
|||
|
|
*ABS*:0000000000000000 stm32g4xx_hal_opamp.c
|
|||
|
|
/tmp/ccuO0EEy.s:16 .text.HAL_OPAMP_MspInit:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:24 .text.HAL_OPAMP_MspInit:0000000000000000 HAL_OPAMP_MspInit
|
|||
|
|
/tmp/ccuO0EEy.s:39 .text.HAL_OPAMP_Init:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:47 .text.HAL_OPAMP_Init:0000000000000000 HAL_OPAMP_Init
|
|||
|
|
/tmp/ccuO0EEy.s:245 .text.HAL_OPAMP_Init:0000000000000100 $d
|
|||
|
|
/tmp/ccuO0EEy.s:251 .text.HAL_OPAMP_MspDeInit:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:259 .text.HAL_OPAMP_MspDeInit:0000000000000000 HAL_OPAMP_MspDeInit
|
|||
|
|
/tmp/ccuO0EEy.s:270 .text.HAL_OPAMP_DeInit:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:278 .text.HAL_OPAMP_DeInit:0000000000000000 HAL_OPAMP_DeInit
|
|||
|
|
/tmp/ccuO0EEy.s:352 .text.HAL_OPAMP_Start:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:360 .text.HAL_OPAMP_Start:0000000000000000 HAL_OPAMP_Start
|
|||
|
|
/tmp/ccuO0EEy.s:417 .text.HAL_OPAMP_Stop:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:425 .text.HAL_OPAMP_Stop:0000000000000000 HAL_OPAMP_Stop
|
|||
|
|
/tmp/ccuO0EEy.s:486 .text.HAL_OPAMP_SelfCalibrate:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:494 .text.HAL_OPAMP_SelfCalibrate:0000000000000000 HAL_OPAMP_SelfCalibrate
|
|||
|
|
/tmp/ccuO0EEy.s:745 .text.HAL_OPAMP_Lock:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:753 .text.HAL_OPAMP_Lock:0000000000000000 HAL_OPAMP_Lock
|
|||
|
|
/tmp/ccuO0EEy.s:806 .text.HAL_OPAMP_LockTimerMux:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:814 .text.HAL_OPAMP_LockTimerMux:0000000000000000 HAL_OPAMP_LockTimerMux
|
|||
|
|
/tmp/ccuO0EEy.s:851 .text.HAL_OPAMP_GetState:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:859 .text.HAL_OPAMP_GetState:0000000000000000 HAL_OPAMP_GetState
|
|||
|
|
/tmp/ccuO0EEy.s:880 .text.HAL_OPAMP_GetTrimOffset:0000000000000000 $t
|
|||
|
|
/tmp/ccuO0EEy.s:888 .text.HAL_OPAMP_GetTrimOffset:0000000000000000 HAL_OPAMP_GetTrimOffset
|
|||
|
|
|
|||
|
|
UNDEFINED SYMBOLS
|
|||
|
|
HAL_Delay
|