Files
bassofono/codice/build/stm32g4xx_hal_cordic.lst
2021-07-02 22:19:04 +02:00

3291 lines
206 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
ARM GAS /tmp/cc1IKhbe.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_cordic.c"
12 .text
13 .Ltext0:
14 .cfi_sections .debug_frame
15 .section .text.HAL_CORDIC_MspInit,"ax",%progbits
16 .align 1
17 .p2align 2,,3
18 .weak HAL_CORDIC_MspInit
19 .syntax unified
20 .thumb
21 .thumb_func
22 .fpu fpv4-sp-d16
24 HAL_CORDIC_MspInit:
25 .LFB331:
26 .file 1 "Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c"
1:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
2:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ******************************************************************************
3:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @file stm32g4xx_hal_cordic.c
4:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @author MCD Application Team
5:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief CORDIC HAL module driver.
6:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * functionalities of the CORDIC peripheral:
8:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * + Initialization and de-initialization functions
9:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * + Peripheral Control functions
10:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * + Callback functions
11:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * + IRQ handler management
12:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * + Peripheral State functions
13:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
14:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @verbatim
15:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ================================================================================
16:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ##### How to use this driver #####
17:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ================================================================================
18:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..]
19:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** The CORDIC HAL driver can be used as follows:
20:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
21:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (#) Initialize the CORDIC low level resources by implementing the HAL_CORDIC_MspInit():
22:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Enable the CORDIC interface clock using __HAL_RCC_CORDIC_CLK_ENABLE()
23:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) In case of using interrupts (e.g. HAL_CORDIC_Calculate_IT())
24:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) Configure the CORDIC interrupt priority using HAL_NVIC_SetPriority()
25:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) Enable the CORDIC IRQ handler using HAL_NVIC_EnableIRQ()
26:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) In CORDIC IRQ handler, call HAL_CORDIC_IRQHandler()
27:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) In case of using DMA to control data transfer (e.g. HAL_CORDIC_Calculate_DMA())
28:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) Enable the DMA2 interface clock using
29:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __HAL_RCC_DMA2_CLK_ENABLE()
30:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) Configure and enable two DMA channels one for managing data transfer from
31:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** memory to peripheral (input channel) and another channel for managing data
32:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** transfer from peripheral to memory (output channel)
ARM GAS /tmp/cc1IKhbe.s page 2
33:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) Associate the initialized DMA handle to the CORDIC DMA handle
34:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** using __HAL_LINKDMA()
35:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+++) Configure the priority and enable the NVIC for the transfer complete
36:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** interrupt on the two DMA channels.
37:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Resort to HAL_NVIC_SetPriority() and HAL_NVIC_EnableIRQ()
38:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
39:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (#) Initialize the CORDIC HAL using HAL_CORDIC_Init(). This function
40:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) resorts to HAL_CORDIC_MspInit() for low-level initialization,
41:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
42:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (#) Configure CORDIC processing (calculation) using HAL_CORDIC_Configure().
43:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** This function configures:
44:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Processing functions: Cosine, Sine, Phase, Modulus, Arctangent,
45:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Hyperbolic cosine, Hyperbolic sine, Hyperbolic arctangent,
46:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Natural log, Square root
47:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Scaling factor: 1 to 2exp(-7)
48:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Width of input data: 32 bits input data size (Q1.31 format) or 16 bits
49:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** input data size (Q1.15 format)
50:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Width of output data: 32 bits output data size (Q1.31 format) or 16 bits
51:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** output data size (Q1.15 format)
52:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Number of 32-bit write expected for one calculation: One 32-bits write
53:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** or Two 32-bit write
54:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Number of 32-bit read expected after one calculation: One 32-bits read
55:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** or Two 32-bit read
56:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Precision: 1 to 15 cycles for calculation (the more cycles, the better precision)
57:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
58:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (#) Four processing (calculation) functions are available:
59:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Polling mode: processing API is blocking function
60:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** i.e. it processes the data and wait till the processing is finished
61:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** API is HAL_CORDIC_Calculate
62:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Polling Zero-overhead mode: processing API is blocking function
63:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** i.e. it processes the data and wait till the processing is finished
64:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** A bit faster than standard polling mode, but blocking also AHB bus
65:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** API is HAL_CORDIC_CalculateZO
66:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) Interrupt mode: processing API is not blocking functions
67:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** i.e. it processes the data under interrupt
68:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** API is HAL_CORDIC_Calculate_IT
69:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) DMA mode: processing API is not blocking functions and the CPU is
70:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** not used for data transfer,
71:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** i.e. the data transfer is ensured by DMA
72:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** API is HAL_CORDIC_Calculate_DMA
73:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
74:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (#) Call HAL_CORDIC_DeInit() to de-initialize the CORDIC peripheral. This function
75:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (++) resorts to HAL_CORDIC_MspDeInit() for low-level de-initialization,
76:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
77:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *** Callback registration ***
78:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** =============================================
79:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
80:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** The compilation define USE_HAL_CORDIC_REGISTER_CALLBACKS when set to 1
81:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** allows the user to configure dynamically the driver callbacks.
82:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Use Function @ref HAL_CORDIC_RegisterCallback() to register an interrupt callback.
83:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
84:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Function @ref HAL_CORDIC_RegisterCallback() allows to register following callbacks:
85:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) ErrorCallback : Error Callback.
86:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) CalculateCpltCallback : Calculate complete Callback.
87:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) MspInitCallback : CORDIC MspInit.
88:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) MspDeInitCallback : CORDIC MspDeInit.
89:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** This function takes as parameters the HAL peripheral handle, the Callback ID
ARM GAS /tmp/cc1IKhbe.s page 3
90:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** and a pointer to the user callback function.
91:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
92:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Use function @ref HAL_CORDIC_UnRegisterCallback() to reset a callback to the default
93:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** weak function.
94:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @ref HAL_CORDIC_UnRegisterCallback takes as parameters the HAL peripheral handle,
95:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** and the Callback ID.
96:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** This function allows to reset following callbacks:
97:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) ErrorCallback : Error Callback.
98:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) CalculateCpltCallback : Calculate complete Callback.
99:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) MspInitCallback : CORDIC MspInit.
100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) MspDeInitCallback : CORDIC MspDeInit.
101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** By default, after the HAL_CORDIC_Init() and when the state is HAL_CORDIC_STATE_RESET,
103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** all callbacks are set to the corresponding weak functions:
104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** examples @ref HAL_CORDIC_ErrorCallback(), @ref HAL_CORDIC_CalculateCpltCallback().
105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Exception done for MspInit and MspDeInit functions that are
106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** reset to the legacy weak function in the HAL_CORDIC_Init()/ @ref HAL_CORDIC_DeInit() only when
107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** these callbacks are null (not registered beforehand).
108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if not, MspInit or MspDeInit are not null, the HAL_CORDIC_Init()/ @ref HAL_CORDIC_DeInit()
109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** keep and use the user MspInit/MspDeInit callbacks (registered beforehand)
110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Callbacks can be registered/unregistered in HAL_CORDIC_STATE_READY state only.
112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Exception done MspInit/MspDeInit that can be registered/unregistered
113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** in HAL_CORDIC_STATE_READY or HAL_CORDIC_STATE_RESET state,
114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** thus registered (user) MspInit/DeInit callbacks can be used during the Init/DeInit.
115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** In that case first register the MspInit/MspDeInit user callbacks
116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** using @ref HAL_CORDIC_RegisterCallback() before calling @ref HAL_CORDIC_DeInit()
117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** or HAL_CORDIC_Init() function.
118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** When The compilation define USE_HAL_CORDIC_REGISTER_CALLBACKS is set to 0 or
120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** not defined, the callback registration feature is not available and all callbacks
121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** are set to the corresponding weak functions.
122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @endverbatim
124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ******************************************************************************
126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @attention
127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * All rights reserved.</center></h2>
130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * This software component is licensed by ST under BSD 3-Clause license,
132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the "License"; You may not use this file except in compliance with the
133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * License. You may obtain a copy of the License at:
134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * opensource.org/licenses/BSD-3-Clause
135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ******************************************************************************
137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Includes ------------------------------------------------------------------*/
140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #include "stm32g4xx_hal.h"
141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if defined(CORDIC)
143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #ifdef HAL_CORDIC_MODULE_ENABLED
144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @addtogroup STM32G4xx_HAL_Driver
146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
ARM GAS /tmp/cc1IKhbe.s page 4
147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC CORDIC
150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief CORDIC HAL driver modules.
151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Private typedef -----------------------------------------------------------*/
155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Private define ------------------------------------------------------------*/
156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Private macro -------------------------------------------------------------*/
157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Private variables ---------------------------------------------------------*/
158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Private function prototypes -----------------------------------------------*/
159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Private_Functions CORDIC Private Functions
161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_WriteInDataIncrementPtr(CORDIC_HandleTypeDef *hcordic, int32_t **ppInBuff);
164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_ReadOutDataIncrementPtr(CORDIC_HandleTypeDef *hcordic, int32_t **ppOutBuff);
165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_DMAInCplt(DMA_HandleTypeDef *hdma);
166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_DMAOutCplt(DMA_HandleTypeDef *hdma);
167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_DMAError(DMA_HandleTypeDef *hdma);
168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Exported functions --------------------------------------------------------*/
173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Exported_Functions CORDIC Exported Functions
175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Exported_Functions_Group1 Initialization and de-initialization functions
179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Initialization and Configuration functions.
180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @verbatim
182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ##### Initialization and de-initialization functions #####
184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..] This section provides functions allowing to:
186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Initialize the CORDIC peripheral and the associated handle
187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) DeInitialize the CORDIC peripheral
188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Initialize the CORDIC MSP (MCU Specific Package)
189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) De-Initialize the CORDIC MSP
190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..]
192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @endverbatim
194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Initialize the CORDIC peripheral and the associated handle.
199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure.
200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_Init(CORDIC_HandleTypeDef *hcordic)
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
ARM GAS /tmp/cc1IKhbe.s page 5
204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the CORDIC handle allocation */
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic == NULL)
206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the instance */
212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_ALL_INSTANCE(hcordic->Instance));
213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_RESET)
216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Allocate lock resource and initialize it */
218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->Lock = HAL_UNLOCKED;
219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset callbacks to legacy functions */
221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCallback = HAL_CORDIC_ErrorCallback; /* Legacy weak ErrorCallback
222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->CalculateCpltCallback = HAL_CORDIC_CalculateCpltCallback; /* Legacy weak CalculateCplt
223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->MspInitCallback == NULL)
225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspInitCallback = HAL_CORDIC_MspInit; /* Legacy weak MspInit */
227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Initialize the low level hardware */
230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspInitCallback(hcordic);
231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #else
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_RESET)
234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Allocate lock resource and initialize it */
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->Lock = HAL_UNLOCKED;
237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Initialize the low level hardware */
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_MspInit(hcordic);
240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* (USE_HAL_CORDIC_REGISTER_CALLBACKS) */
242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code to none */
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_NONE;
245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset pInBuff and pOutBuff */
247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pInBuff = NULL;
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pOutBuff = NULL;
249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset NbCalcToOrder and NbCalcToGet */
251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToOrder = 0U;
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToGet = 0U;
253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset DMADirection */
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->DMADirection = CORDIC_DMA_DIR_NONE;
256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change CORDIC peripheral state */
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
ARM GAS /tmp/cc1IKhbe.s page 6
261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_OK;
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief DeInitialize the CORDIC peripheral.
266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure.
267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_DeInit(CORDIC_HandleTypeDef *hcordic)
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the CORDIC handle allocation */
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic == NULL)
273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the parameters */
279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_ALL_INSTANCE(hcordic->Instance));
280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change CORDIC peripheral state */
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_BUSY;
283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->MspDeInitCallback == NULL)
286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspDeInitCallback = HAL_CORDIC_MspDeInit;
288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* De-Initialize the low level hardware */
291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspDeInitCallback(hcordic);
292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #else
293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* De-Initialize the low level hardware: CLOCK, NVIC, DMA */
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_MspDeInit(hcordic);
295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code to none */
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_NONE;
299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset pInBuff and pOutBuff */
301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pInBuff = NULL;
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pOutBuff = NULL;
303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset NbCalcToOrder and NbCalcToGet */
305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToOrder = 0U;
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToGet = 0U;
307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset DMADirection */
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->DMADirection = CORDIC_DMA_DIR_NONE;
310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change CORDIC peripheral state */
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_RESET;
313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset Lock */
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->Lock = HAL_UNLOCKED;
316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
ARM GAS /tmp/cc1IKhbe.s page 7
318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_OK;
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Initialize the CORDIC MSP.
323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic CORDIC handle
324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __weak void HAL_CORDIC_MspInit(CORDIC_HandleTypeDef *hcordic)
327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
27 .loc 1 327 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:
328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Prevent unused argument(s) compilation warning */
329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** UNUSED(hcordic);
330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* NOTE : This function should not be modified, when the callback is needed,
332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** the HAL_CORDIC_MspInit can be implemented in the user file
333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
33 .loc 1 334 0
34 0000 7047 bx lr
35 .cfi_endproc
36 .LFE331:
38 0002 00BF .section .text.HAL_CORDIC_Init,"ax",%progbits
39 .align 1
40 .p2align 2,,3
41 .global HAL_CORDIC_Init
42 .syntax unified
43 .thumb
44 .thumb_func
45 .fpu fpv4-sp-d16
47 HAL_CORDIC_Init:
48 .LFB329:
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the CORDIC handle allocation */
49 .loc 1 203 0
50 .cfi_startproc
51 @ args = 0, pretend = 0, frame = 0
52 @ frame_needed = 0, uses_anonymous_args = 0
53 .LVL1:
205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
54 .loc 1 205 0
55 0000 B0B1 cbz r0, .L6
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
56 .loc 1 233 0
57 0002 90F82130 ldrb r3, [r0, #33] @ zero_extendqisi2
203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the CORDIC handle allocation */
58 .loc 1 203 0
59 0006 10B5 push {r4, lr}
60 .LCFI0:
61 .cfi_def_cfa_offset 8
62 .cfi_offset 4, -8
63 .cfi_offset 14, -4
233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
ARM GAS /tmp/cc1IKhbe.s page 8
64 .loc 1 233 0
65 0008 03F0FF02 and r2, r3, #255
66 000c 0446 mov r4, r0
67 000e 53B1 cbz r3, .L11
68 .LVL2:
69 .L5:
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
70 .loc 1 244 0
71 0010 0020 movs r0, #0
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
72 .loc 1 258 0
73 0012 0123 movs r3, #1
244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
74 .loc 1 244 0
75 0014 6062 str r0, [r4, #36]
248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
76 .loc 1 248 0
77 0016 C4E90100 strd r0, r0, [r4, #4]
252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
78 .loc 1 252 0
79 001a C4E90300 strd r0, r0, [r4, #12]
255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
80 .loc 1 255 0
81 001e 6061 str r0, [r4, #20]
258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
82 .loc 1 258 0
83 0020 84F82130 strb r3, [r4, #33]
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
84 .loc 1 262 0
85 0024 10BD pop {r4, pc}
86 .LVL3:
87 .L11:
236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
88 .loc 1 236 0
89 0026 80F82020 strb r2, [r0, #32]
239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
90 .loc 1 239 0
91 002a FFF7FEFF bl HAL_CORDIC_MspInit
92 .LVL4:
93 002e EFE7 b .L5
94 .LVL5:
95 .L6:
96 .LCFI1:
97 .cfi_def_cfa_offset 0
98 .cfi_restore 4
99 .cfi_restore 14
208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
100 .loc 1 208 0
101 0030 0120 movs r0, #1
102 .LVL6:
262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
103 .loc 1 262 0
104 0032 7047 bx lr
105 .cfi_endproc
106 .LFE329:
108 .section .text.HAL_CORDIC_MspDeInit,"ax",%progbits
109 .align 1
ARM GAS /tmp/cc1IKhbe.s page 9
110 .p2align 2,,3
111 .weak HAL_CORDIC_MspDeInit
112 .syntax unified
113 .thumb
114 .thumb_func
115 .fpu fpv4-sp-d16
117 HAL_CORDIC_MspDeInit:
118 .LFB349:
119 .cfi_startproc
120 @ args = 0, pretend = 0, frame = 0
121 @ frame_needed = 0, uses_anonymous_args = 0
122 @ link register save eliminated.
123 0000 7047 bx lr
124 .cfi_endproc
125 .LFE349:
127 0002 00BF .section .text.HAL_CORDIC_DeInit,"ax",%progbits
128 .align 1
129 .p2align 2,,3
130 .global HAL_CORDIC_DeInit
131 .syntax unified
132 .thumb
133 .thumb_func
134 .fpu fpv4-sp-d16
136 HAL_CORDIC_DeInit:
137 .LFB330:
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the CORDIC handle allocation */
138 .loc 1 270 0
139 .cfi_startproc
140 @ args = 0, pretend = 0, frame = 0
141 @ frame_needed = 0, uses_anonymous_args = 0
142 .LVL7:
272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
143 .loc 1 272 0
144 0000 90B1 cbz r0, .L15
270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the CORDIC handle allocation */
145 .loc 1 270 0
146 0002 10B5 push {r4, lr}
147 .LCFI2:
148 .cfi_def_cfa_offset 8
149 .cfi_offset 4, -8
150 .cfi_offset 14, -4
282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
151 .loc 1 282 0
152 0004 0223 movs r3, #2
153 0006 0446 mov r4, r0
154 0008 80F82130 strb r3, [r0, #33]
294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
155 .loc 1 294 0
156 000c FFF7FEFF bl HAL_CORDIC_MspDeInit
157 .LVL8:
298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
158 .loc 1 298 0
159 0010 0020 movs r0, #0
160 0012 6062 str r0, [r4, #36]
302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
161 .loc 1 302 0
162 0014 C4E90100 strd r0, r0, [r4, #4]
ARM GAS /tmp/cc1IKhbe.s page 10
306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
163 .loc 1 306 0
164 0018 C4E90300 strd r0, r0, [r4, #12]
309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
165 .loc 1 309 0
166 001c 6061 str r0, [r4, #20]
312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
167 .loc 1 312 0
168 001e 84F82100 strb r0, [r4, #33]
315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
169 .loc 1 315 0
170 0022 84F82000 strb r0, [r4, #32]
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
171 .loc 1 319 0
172 0026 10BD pop {r4, pc}
173 .LVL9:
174 .L15:
175 .LCFI3:
176 .cfi_def_cfa_offset 0
177 .cfi_restore 4
178 .cfi_restore 14
275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
179 .loc 1 275 0
180 0028 0120 movs r0, #1
181 .LVL10:
319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
182 .loc 1 319 0
183 002a 7047 bx lr
184 .cfi_endproc
185 .LFE330:
187 .section .text.HAL_CORDIC_Configure,"ax",%progbits
188 .align 1
189 .p2align 2,,3
190 .global HAL_CORDIC_Configure
191 .syntax unified
192 .thumb
193 .thumb_func
194 .fpu fpv4-sp-d16
196 HAL_CORDIC_Configure:
197 .LFB333:
335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief DeInitialize the CORDIC MSP.
338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic CORDIC handle
339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
340:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
341:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __weak void HAL_CORDIC_MspDeInit(CORDIC_HandleTypeDef *hcordic)
342:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
343:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Prevent unused argument(s) compilation warning */
344:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** UNUSED(hcordic);
345:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
346:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* NOTE : This function should not be modified, when the callback is needed,
347:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** the HAL_CORDIC_MspDeInit can be implemented in the user file
348:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
349:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
350:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
351:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
ARM GAS /tmp/cc1IKhbe.s page 11
352:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
353:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Register a CORDIC CallBack.
354:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * To be used instead of the weak predefined callback.
355:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
356:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
357:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param CallbackID ID of the callback to be registered
358:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * This parameter can be one of the following values:
359:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_ERROR_CB_ID error Callback ID
360:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_CALCULATE_CPLT_CB_ID calculate complete Callback ID
361:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_MSPINIT_CB_ID MspInit callback ID
362:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_MSPDEINIT_CB_ID MspDeInit callback ID
363:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pCallback pointer to the Callback function
364:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
365:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
366:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_RegisterCallback(CORDIC_HandleTypeDef *hcordic, HAL_CORDIC_CallbackIDT
367:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** void (* pCallback)(CORDIC_HandleTypeDef *_hcordic))
368:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
369:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef status = HAL_OK;
370:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
371:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (pCallback == NULL)
372:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
373:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
374:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
375:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
376:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
377:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
378:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
379:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
380:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
381:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
382:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** switch (CallbackID)
383:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
384:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_ERROR_CB_ID :
385:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCallback = pCallback;
386:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
387:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
388:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_CALCULATE_CPLT_CB_ID :
389:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->CalculateCpltCallback = pCallback;
390:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
391:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
392:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPINIT_CB_ID :
393:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspInitCallback = pCallback;
394:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
395:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
396:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPDEINIT_CB_ID :
397:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspDeInitCallback = pCallback;
398:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
399:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
400:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** default :
401:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
402:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
403:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
404:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
405:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
406:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
407:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
408:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
ARM GAS /tmp/cc1IKhbe.s page 12
409:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else if (hcordic->State == HAL_CORDIC_STATE_RESET)
410:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
411:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** switch (CallbackID)
412:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
413:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPINIT_CB_ID :
414:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspInitCallback = pCallback;
415:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
416:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
417:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPDEINIT_CB_ID :
418:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspDeInitCallback = pCallback;
419:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
420:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
421:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** default :
422:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
423:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
424:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
425:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
426:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
427:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
428:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
429:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
430:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
431:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
432:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
433:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
434:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
435:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
436:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
437:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
438:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
439:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return status;
440:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
441:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
442:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
443:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
444:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
445:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Unregister a CORDIC CallBack.
446:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * CORDIC callback is redirected to the weak predefined callback.
447:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
448:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
449:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param CallbackID ID of the callback to be unregistered
450:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * This parameter can be one of the following values:
451:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_ERROR_CB_ID error Callback ID
452:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_CALCULATE_CPLT_CB_ID calculate complete Callback ID
453:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_MSPINIT_CB_ID MspInit callback ID
454:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref HAL_CORDIC_MSPDEINIT_CB_ID MspDeInit callback ID
455:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
456:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
457:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_UnRegisterCallback(CORDIC_HandleTypeDef *hcordic, HAL_CORDIC_CallbackI
458:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
459:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef status = HAL_OK;
460:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
461:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
462:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
463:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** switch (CallbackID)
464:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
465:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_ERROR_CB_ID :
ARM GAS /tmp/cc1IKhbe.s page 13
466:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCallback = HAL_CORDIC_ErrorCallback;
467:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
468:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
469:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_CALCULATE_CPLT_CB_ID :
470:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->CalculateCpltCallback = HAL_CORDIC_CalculateCpltCallback;
471:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
472:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
473:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPINIT_CB_ID :
474:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspInitCallback = HAL_CORDIC_MspInit;
475:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
476:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
477:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPDEINIT_CB_ID :
478:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspDeInitCallback = HAL_CORDIC_MspDeInit;
479:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
480:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
481:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** default :
482:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
483:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
484:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
485:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
486:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
487:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
488:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
489:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
490:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else if (hcordic->State == HAL_CORDIC_STATE_RESET)
491:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
492:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** switch (CallbackID)
493:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
494:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPINIT_CB_ID :
495:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspInitCallback = HAL_CORDIC_MspInit;
496:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
497:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
498:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** case HAL_CORDIC_MSPDEINIT_CB_ID :
499:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->MspDeInitCallback = HAL_CORDIC_MspDeInit;
500:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
501:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
502:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** default :
503:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
504:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
505:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
506:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
507:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
508:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** break;
509:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
510:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
511:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
512:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
513:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
514:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_INVALID_CALLBACK;
515:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
516:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
517:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
518:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
519:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
520:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return status;
521:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
522:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
ARM GAS /tmp/cc1IKhbe.s page 14
523:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
524:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
525:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
526:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
527:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
528:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Exported_Functions_Group2 Peripheral Control functions
529:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Control functions.
530:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
531:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @verbatim
532:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
533:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ##### Peripheral Control functions #####
534:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
535:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..] This section provides functions allowing to:
536:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Configure the CORDIC peripheral: function, precision, scaling factor,
537:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** number of input data and output data, size of input data and output data.
538:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Calculate output data of CORDIC processing on input date, using the
539:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** existing CORDIC configuration
540:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..] Four processing functions are available for calculation:
541:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Polling mode
542:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Polling mode, with Zero-Overhead register access
543:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) Interrupt mode
544:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) DMA mode
545:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
546:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @endverbatim
547:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
548:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
549:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
550:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
551:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Configure the CORDIC processing according to the specified
552:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** parameters in the CORDIC_ConfigTypeDef structure.
553:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
554:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
555:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param sConfig pointer to a CORDIC_ConfigTypeDef structure that
556:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * contains the CORDIC configuration information.
557:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
558:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
559:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_Configure(CORDIC_HandleTypeDef *hcordic, CORDIC_ConfigTypeDef *sConfig
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
198 .loc 1 560 0
199 .cfi_startproc
200 @ args = 0, pretend = 0, frame = 0
201 @ frame_needed = 0, uses_anonymous_args = 0
202 @ link register save eliminated.
203 .LVL11:
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef status = HAL_OK;
562:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
563:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the parameters */
564:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_FUNCTION(sConfig->Function));
565:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_PRECISION(sConfig->Precision));
566:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_SCALE(sConfig->Scale));
567:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_NBWRITE(sConfig->NbWrite));
568:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_NBREAD(sConfig->NbRead));
569:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_INSIZE(sConfig->InSize));
570:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_OUTSIZE(sConfig->OutSize));
571:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
572:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check handle state is ready */
573:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
ARM GAS /tmp/cc1IKhbe.s page 15
204 .loc 1 573 0
205 0000 90F82130 ldrb r3, [r0, #33] @ zero_extendqisi2
206 0004 012B cmp r3, #1
207 0006 05D0 beq .L27
574:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
575:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Apply all configuration parameters in CORDIC control register */
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** MODIFY_REG(hcordic->Instance->CSR, \
577:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (CORDIC_CSR_FUNC | CORDIC_CSR_PRECISION | CORDIC_CSR_SCALE | \
578:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_CSR_NARGS | CORDIC_CSR_NRES | CORDIC_CSR_ARGSIZE | CORDIC_CSR_RESSIZE), \
579:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (sConfig->Function | sConfig->Precision | sConfig->Scale | \
580:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** sConfig->NbWrite | sConfig->NbRead | sConfig->InSize | sConfig->OutSize));
581:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
582:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
583:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
584:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
585:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_NOT_READY;
208 .loc 1 585 0
209 0008 436A ldr r3, [r0, #36]
210 000a 43F00203 orr r3, r3, #2
211 000e 4362 str r3, [r0, #36]
212 .LVL12:
586:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
587:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
588:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** status = HAL_ERROR;
213 .loc 1 588 0
214 0010 0120 movs r0, #1
215 .LVL13:
589:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
590:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
591:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
592:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return status;
593:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
216 .loc 1 593 0
217 0012 7047 bx lr
218 .LVL14:
219 .L27:
560:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef status = HAL_OK;
220 .loc 1 560 0
221 0014 70B4 push {r4, r5, r6}
222 .LCFI4:
223 .cfi_def_cfa_offset 12
224 .cfi_offset 4, -12
225 .cfi_offset 5, -8
226 .cfi_offset 6, -4
576:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (CORDIC_CSR_FUNC | CORDIC_CSR_PRECISION | CORDIC_CSR_SCALE | \
227 .loc 1 576 0
228 0016 0B68 ldr r3, [r1]
229 0018 8C69 ldr r4, [r1, #24]
230 001a 4A68 ldr r2, [r1, #4]
231 001c 0E69 ldr r6, [r1, #16]
232 001e 0068 ldr r0, [r0]
233 .LVL15:
234 0020 2343 orrs r3, r3, r4
235 0022 1343 orrs r3, r3, r2
236 0024 D1E90254 ldrd r5, r4, [r1, #8]
237 0028 4A69 ldr r2, [r1, #20]
238 002a 0168 ldr r1, [r0]
ARM GAS /tmp/cc1IKhbe.s page 16
239 .LVL16:
240 002c 3343 orrs r3, r3, r6
241 002e 1343 orrs r3, r3, r2
242 0030 044A ldr r2, .L28
243 0032 2B43 orrs r3, r3, r5
244 0034 2343 orrs r3, r3, r4
245 0036 0A40 ands r2, r2, r1
246 0038 1343 orrs r3, r3, r2
247 003a 0360 str r3, [r0]
248 .loc 1 593 0
249 003c 70BC pop {r4, r5, r6}
250 .LCFI5:
251 .cfi_restore 6
252 .cfi_restore 5
253 .cfi_restore 4
254 .cfi_def_cfa_offset 0
561:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
255 .loc 1 561 0
256 003e 0020 movs r0, #0
257 .LVL17:
258 .loc 1 593 0
259 0040 7047 bx lr
260 .L29:
261 0042 00BF .align 2
262 .L28:
263 0044 00F887FF .word -7866368
264 .cfi_endproc
265 .LFE333:
267 .section .text.HAL_CORDIC_Calculate,"ax",%progbits
268 .align 1
269 .p2align 2,,3
270 .global HAL_CORDIC_Calculate
271 .syntax unified
272 .thumb
273 .thumb_func
274 .fpu fpv4-sp-d16
276 HAL_CORDIC_Calculate:
277 .LFB334:
594:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
595:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
596:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Carry out data of CORDIC processing in polling mode,
597:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * according to the existing CORDIC configuration.
598:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
599:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module.
600:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pInBuff Pointer to buffer containing input data for CORDIC processing.
601:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pOutBuff Pointer to buffer where output data of CORDIC processing will be stored.
602:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param NbCalc Number of CORDIC calculation to process.
603:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param Timeout Specify Timeout value
604:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
605:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
606:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_Calculate(CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t *pO
607:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t NbCalc, uint32_t Timeout)
608:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
278 .loc 1 608 0
279 .cfi_startproc
280 @ args = 4, pretend = 0, frame = 8
281 @ frame_needed = 0, uses_anonymous_args = 0
ARM GAS /tmp/cc1IKhbe.s page 17
282 .LVL18:
283 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
284 .LCFI6:
285 .cfi_def_cfa_offset 24
286 .cfi_offset 4, -24
287 .cfi_offset 5, -20
288 .cfi_offset 6, -16
289 .cfi_offset 7, -12
290 .cfi_offset 8, -8
291 .cfi_offset 14, -4
292 0004 0446 mov r4, r0
293 .LVL19:
294 0006 82B0 sub sp, sp, #8
295 .LCFI7:
296 .cfi_def_cfa_offset 32
609:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t tickstart;
610:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t index;
611:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *p_tmp_in_buff = pInBuff;
612:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *p_tmp_out_buff = pOutBuff;
613:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
614:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check parameters setting */
615:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((pInBuff == NULL) || (pOutBuff == NULL) || (NbCalc == 0U))
297 .loc 1 615 0
298 0008 71B1 cbz r1, .L31
299 000a 1646 mov r6, r2
300 .loc 1 615 0 is_stmt 0 discriminator 1
301 000c 62B1 cbz r2, .L31
302 .loc 1 615 0 discriminator 2
303 000e 5BB1 cbz r3, .L31
616:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
617:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_PARAM;
619:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
620:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
622:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
623:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
624:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check handle state is ready */
625:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
304 .loc 1 625 0 is_stmt 1
305 0010 90F82120 ldrb r2, [r0, #33] @ zero_extendqisi2
306 .LVL20:
307 0014 012A cmp r2, #1
308 0016 0FD0 beq .L65
626:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
627:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset CORDIC error code */
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_NONE;
629:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
630:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_BUSY;
632:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
633:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Get tick */
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tickstart = HAL_GetTick();
635:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
636:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Write of input data in Write Data register, and increment input buffer pointer */
637:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_WriteInDataIncrementPtr(hcordic, &p_tmp_in_buff);
638:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
ARM GAS /tmp/cc1IKhbe.s page 18
639:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Calculation is started.
640:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Provide next set of input data, until number of calculation is achieved */
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** for (index = (NbCalc - 1U); index > 0U; index--)
642:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
643:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Write of input data in Write Data register, and increment input buffer pointer */
644:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_WriteInDataIncrementPtr(hcordic, &p_tmp_in_buff);
645:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
646:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Wait for RRDY flag to be raised */
647:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** do
648:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
649:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check for the Timeout */
650:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (Timeout != HAL_MAX_DELAY)
651:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((HAL_GetTick() - tickstart) > Timeout)
653:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
654:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_TIMEOUT;
656:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
657:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
659:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
660:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
662:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
663:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** } while (HAL_IS_BIT_CLR(hcordic->Instance->CSR, CORDIC_CSR_RRDY));
665:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
666:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Read output data from Read Data register, and increment output buffer pointer */
667:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_ReadOutDataIncrementPtr(hcordic, &p_tmp_out_buff);
668:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
669:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
670:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Read output data from Read Data register, and increment output buffer pointer */
671:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_ReadOutDataIncrementPtr(hcordic, &p_tmp_out_buff);
672:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
673:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
675:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
676:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_OK;
678:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
679:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
680:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
681:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
682:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_NOT_READY;
309 .loc 1 682 0
310 0018 436A ldr r3, [r0, #36]
311 .LVL21:
312 001a 43F00203 orr r3, r3, #2
313 001e 4362 str r3, [r0, #36]
314 .LVL22:
683:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
684:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
685:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
315 .loc 1 685 0
316 0020 0120 movs r0, #1
317 .LVL23:
686:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
ARM GAS /tmp/cc1IKhbe.s page 19
687:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
318 .loc 1 687 0
319 0022 02B0 add sp, sp, #8
320 .LCFI8:
321 .cfi_remember_state
322 .cfi_def_cfa_offset 24
323 @ sp needed
324 0024 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
325 .LVL24:
326 .L31:
327 .LCFI9:
328 .cfi_restore_state
618:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
329 .loc 1 618 0
330 0028 636A ldr r3, [r4, #36]
331 .LVL25:
332 002a 43F00103 orr r3, r3, #1
333 002e 6362 str r3, [r4, #36]
334 .LVL26:
621:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
335 .loc 1 621 0
336 0030 0120 movs r0, #1
337 .LVL27:
338 .L33:
339 .loc 1 687 0
340 0032 02B0 add sp, sp, #8
341 .LCFI10:
342 .cfi_remember_state
343 .cfi_def_cfa_offset 24
344 @ sp needed
345 0034 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
346 .LVL28:
347 .L65:
348 .LCFI11:
349 .cfi_restore_state
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
350 .loc 1 631 0
351 0038 0222 movs r2, #2
628:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
352 .loc 1 628 0
353 003a 0020 movs r0, #0
354 .LVL29:
355 003c 6062 str r0, [r4, #36]
631:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
356 .loc 1 631 0
357 003e 84F82120 strb r2, [r4, #33]
358 0042 CDE90013 strd r1, r3, [sp]
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
359 .loc 1 634 0
360 0046 FFF7FEFF bl HAL_GetTick
361 .LVL30:
362 .LBB22:
363 .LBB23:
688:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
689:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
690:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Carry out data of CORDIC processing in Zero-Overhead mode (output data being read
691:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * soon as input data are written), according to the existing CORDIC configuration.
ARM GAS /tmp/cc1IKhbe.s page 20
692:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
693:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module.
694:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pInBuff Pointer to buffer containing input data for CORDIC processing.
695:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pOutBuff Pointer to buffer where output data of CORDIC processing will be stored.
696:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param NbCalc Number of CORDIC calculation to process.
697:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param Timeout Specify Timeout value
698:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
699:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
700:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_CalculateZO(CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t *
701:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t NbCalc, uint32_t Timeout)
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
703:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t tickstart;
704:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t index;
705:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *p_tmp_in_buff = pInBuff;
706:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *p_tmp_out_buff = pOutBuff;
707:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
708:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check parameters setting */
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((pInBuff == NULL) || (pOutBuff == NULL) || (NbCalc == 0U))
710:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
711:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_PARAM;
713:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
714:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
716:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
717:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
718:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check handle state is ready */
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
720:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
721:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset CORDIC error code */
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_NONE;
723:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
724:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_BUSY;
726:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
727:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Get tick */
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tickstart = HAL_GetTick();
729:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
730:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Write of input data in Write Data register, and increment input buffer pointer */
731:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_WriteInDataIncrementPtr(hcordic, &p_tmp_in_buff);
732:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
733:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Calculation is started.
734:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** Provide next set of input data, until number of calculation is achieved */
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** for (index = (NbCalc - 1U); index > 0U; index--)
736:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
737:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Write of input data in Write Data register, and increment input buffer pointer */
738:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_WriteInDataIncrementPtr(hcordic, &p_tmp_in_buff);
739:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
740:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Read output data from Read Data register, and increment output buffer pointer
741:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** The reading is performed in Zero-Overhead mode:
742:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** reading is ordered immediately without waiting result ready flag */
743:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_ReadOutDataIncrementPtr(hcordic, &p_tmp_out_buff);
744:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
745:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check for the Timeout */
746:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (Timeout != HAL_MAX_DELAY)
747:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((HAL_GetTick() - tickstart) > Timeout)
ARM GAS /tmp/cc1IKhbe.s page 21
749:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
750:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_TIMEOUT;
752:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
753:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
755:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
756:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
758:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
759:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
760:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
761:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
762:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Read output data from Read Data register, and increment output buffer pointer
763:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** The reading is performed in Zero-Overhead mode:
764:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** reading is ordered immediately without waiting result ready flag */
765:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_ReadOutDataIncrementPtr(hcordic, &p_tmp_out_buff);
766:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
767:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
769:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
770:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_OK;
772:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
773:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
774:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
775:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_NOT_READY;
777:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
778:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
780:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
782:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
783:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
784:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Carry out data of CORDIC processing in interrupt mode,
785:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * according to the existing CORDIC configuration.
786:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
787:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module.
788:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pInBuff Pointer to buffer containing input data for CORDIC processing.
789:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pOutBuff Pointer to buffer where output data of CORDIC processing will be stored.
790:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param NbCalc Number of CORDIC calculation to process.
791:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
792:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
793:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_Calculate_IT(CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t
794:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t NbCalc)
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
796:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *tmp_pInBuff = pInBuff;
797:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
798:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check parameters setting */
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((pInBuff == NULL) || (pOutBuff == NULL) || (NbCalc == 0U))
800:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
801:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_PARAM;
803:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
804:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
ARM GAS /tmp/cc1IKhbe.s page 22
806:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
807:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
808:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check handle state is ready */
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
810:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
811:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset CORDIC error code */
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_NONE;
813:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
814:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_BUSY;
816:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
817:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Store the buffers addresses and number of calculations in handle,
818:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** provisioning initial write of input data that will be done */
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_IS_BIT_SET(hcordic->Instance->CSR, CORDIC_CSR_NARGS))
820:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
821:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Two writes of input data are expected */
822:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tmp_pInBuff++;
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tmp_pInBuff++;
824:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
825:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
826:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
827:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* One write of input data is expected */
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tmp_pInBuff++;
829:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pInBuff = tmp_pInBuff;
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pOutBuff = pOutBuff;
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToOrder = NbCalc - 1U;
833:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToGet = NbCalc;
834:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
835:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Enable Result Ready Interrupt */
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __HAL_CORDIC_ENABLE_IT(hcordic, CORDIC_IT_IEN);
837:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
838:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set back pointer to start of input data buffer */
839:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tmp_pInBuff = pInBuff;
840:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
841:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Initiate the processing by providing input data
842:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** in the Write Data register */
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** WRITE_REG(hcordic->Instance->WDATA, (uint32_t)*tmp_pInBuff);
844:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
845:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if second write of input data is expected */
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_IS_BIT_SET(hcordic->Instance->CSR, CORDIC_CSR_NARGS))
847:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
848:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Increment pointer to input data */
849:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** tmp_pInBuff++;
850:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
851:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Perform second write of input data */
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** WRITE_REG(hcordic->Instance->WDATA, (uint32_t)*tmp_pInBuff);
853:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
854:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
855:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_OK;
857:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
858:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
859:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
860:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_NOT_READY;
862:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
ARM GAS /tmp/cc1IKhbe.s page 23
863:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
865:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
867:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
868:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
869:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Carry out input and/or output data of CORDIC processing in DMA mode,
870:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * according to the existing CORDIC configuration.
871:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
872:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module.
873:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pInBuff Pointer to buffer containing input data for CORDIC processing.
874:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param pOutBuff Pointer to buffer where output data of CORDIC processing will be stored.
875:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param NbCalc Number of CORDIC calculation to process.
876:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param DMADirection Direction of DMA transfers.
877:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * This parameter can be one of the following values:
878:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @arg @ref CORDIC_DMA_Direction CORDIC DMA direction
879:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @note pInBuff or pOutBuff is unused in case of unique DMADirection transfer, and can
880:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * be set to NULL value in this case.
881:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @note pInBuff and pOutBuff buffers must be 32-bit aligned to ensure a correct
882:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * DMA transfer to and from the Peripheral.
883:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL status
884:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
885:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_StatusTypeDef HAL_CORDIC_Calculate_DMA(CORDIC_HandleTypeDef *hcordic, int32_t *pInBuff, int32_t
886:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t NbCalc, uint32_t DMADirection)
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
888:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t sizeinbuff;
889:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t sizeoutbuff;
890:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t inputaddr;
891:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t outputaddr;
892:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
893:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check the parameters */
894:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** assert_param(IS_CORDIC_DMA_DIRECTION(DMADirection));
895:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
896:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check parameters setting */
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (NbCalc == 0U)
898:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
899:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
900:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_PARAM;
901:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
902:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
903:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
904:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
905:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
906:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if CORDIC DMA direction "Out" is requested */
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((DMADirection == CORDIC_DMA_DIR_OUT) || (DMADirection == CORDIC_DMA_DIR_IN_OUT))
908:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
909:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check parameters setting */
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (pOutBuff == NULL)
911:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
912:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
913:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_PARAM;
914:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
915:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
916:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
917:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
918:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
919:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
ARM GAS /tmp/cc1IKhbe.s page 24
920:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if CORDIC DMA direction "In" is requested */
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((DMADirection == CORDIC_DMA_DIR_IN) || (DMADirection == CORDIC_DMA_DIR_IN_OUT))
922:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
923:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check parameters setting */
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (pInBuff == NULL)
925:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
926:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_PARAM;
928:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
929:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
931:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
932:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
933:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->State == HAL_CORDIC_STATE_READY)
935:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
936:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Reset CORDIC error code */
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode = HAL_CORDIC_ERROR_NONE;
938:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
939:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_BUSY;
941:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
942:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Get DMA direction */
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->DMADirection = DMADirection;
944:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
945:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if CORDIC DMA direction "Out" is requested */
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((DMADirection == CORDIC_DMA_DIR_OUT) || (DMADirection == CORDIC_DMA_DIR_IN_OUT))
947:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
948:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the CORDIC DMA transfer complete callback */
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->hdmaOut->XferCpltCallback = CORDIC_DMAOutCplt;
950:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the DMA error callback */
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->hdmaOut->XferErrorCallback = CORDIC_DMAError;
952:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
953:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check number of output data at each calculation,
954:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** to retrieve the size of output data buffer */
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_IS_BIT_SET(hcordic->Instance->CSR, CORDIC_CSR_NRES))
956:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** sizeoutbuff = 2U * NbCalc;
958:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
959:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
960:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
961:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** sizeoutbuff = NbCalc;
962:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
963:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
964:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** outputaddr = (uint32_t)pOutBuff;
965:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
966:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Enable the DMA stream managing CORDIC output data read */
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_DMA_Start_IT(hcordic->hdmaOut, (uint32_t)&hcordic->Instance->RDATA, outputaddr, sizeo
968:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
969:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
970:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_DMA;
971:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
972:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
973:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
974:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
975:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
976:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Enable output data Read DMA requests */
ARM GAS /tmp/cc1IKhbe.s page 25
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** SET_BIT(hcordic->Instance->CSR, CORDIC_DMA_REN);
978:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
979:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
980:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if CORDIC DMA direction "In" is requested */
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if ((DMADirection == CORDIC_DMA_DIR_IN) || (DMADirection == CORDIC_DMA_DIR_IN_OUT))
982:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
983:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the CORDIC DMA transfer complete callback */
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->hdmaIn->XferCpltCallback = CORDIC_DMAInCplt;
985:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the DMA error callback */
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->hdmaIn->XferErrorCallback = CORDIC_DMAError;
987:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
988:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check number of input data expected for each calculation,
989:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** to retrieve the size of input data buffer */
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_IS_BIT_SET(hcordic->Instance->CSR, CORDIC_CSR_NARGS))
991:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** sizeinbuff = 2U * NbCalc;
993:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
994:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
995:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
996:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** sizeinbuff = NbCalc;
997:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
998:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
999:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** inputaddr = (uint32_t)pInBuff;
1000:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1001:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Enable the DMA stream managing CORDIC input data write */
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_DMA_Start_IT(hcordic->hdmaIn, inputaddr, (uint32_t)&hcordic->Instance->WDATA, sizeinb
1003:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1004:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Update the error code */
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_DMA;
1006:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1007:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return error status */
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
1009:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1010:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1011:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Enable input data Write DMA request */
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** SET_BIT(hcordic->Instance->CSR, CORDIC_DMA_WEN);
1013:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1014:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1015:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
1016:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_OK;
1017:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1018:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** else
1019:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1020:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC error code */
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_NOT_READY;
1022:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1023:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return function status */
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return HAL_ERROR;
1025:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1027:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1028:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1029:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
1030:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1031:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1032:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Exported_Functions_Group3 Callback functions
1033:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Callback functions.
ARM GAS /tmp/cc1IKhbe.s page 26
1034:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
1035:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @verbatim
1036:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
1037:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ##### Callback functions #####
1038:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
1039:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..] This section provides Interruption and DMA callback functions:
1040:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) DMA or Interrupt calculate complete
1041:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (+) DMA or Interrupt error
1042:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1043:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @endverbatim
1044:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
1045:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1046:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1047:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1048:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief CORDIC error callback.
1049:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1050:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
1051:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
1052:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1053:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __weak void HAL_CORDIC_ErrorCallback(CORDIC_HandleTypeDef *hcordic)
1054:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1055:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Prevent unused argument(s) compilation warning */
1056:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** UNUSED(hcordic);
1057:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1058:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* NOTE : This function should not be modified; when the callback is needed,
1059:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** the HAL_CORDIC_ErrorCallback can be implemented in the user file
1060:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1061:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1062:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1063:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1064:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief CORDIC calculate complete callback.
1065:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1066:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
1067:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
1068:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1069:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __weak void HAL_CORDIC_CalculateCpltCallback(CORDIC_HandleTypeDef *hcordic)
1070:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1071:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Prevent unused argument(s) compilation warning */
1072:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** UNUSED(hcordic);
1073:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1074:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* NOTE : This function should not be modified; when the callback is needed,
1075:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** the HAL_CORDIC_CalculateCpltCallback can be implemented in the user file
1076:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1077:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1078:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1079:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1080:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
1081:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1082:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1083:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Exported_Functions_Group4 IRQ handler management
1084:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief IRQ handler.
1085:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
1086:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @verbatim
1087:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
1088:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ##### IRQ handler management #####
1089:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
1090:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..] This section provides IRQ handler function.
ARM GAS /tmp/cc1IKhbe.s page 27
1091:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1092:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @endverbatim
1093:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
1094:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1095:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1096:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1097:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Handle CORDIC interrupt request.
1098:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1099:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
1100:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
1101:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1102:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** void HAL_CORDIC_IRQHandler(CORDIC_HandleTypeDef *hcordic)
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1104:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if calculation complete interrupt is enabled and if result ready
1105:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** flag is raised */
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (__HAL_CORDIC_GET_IT_SOURCE(hcordic, CORDIC_IT_IEN) != 0U)
1107:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (__HAL_CORDIC_GET_FLAG(hcordic, CORDIC_FLAG_RRDY) != 0U)
1109:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1110:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Decrement number of calculations to get */
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToGet--;
1112:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1113:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Read output data from Read Data register, and increment output buffer pointer */
1114:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_ReadOutDataIncrementPtr(hcordic, &(hcordic->pOutBuff));
1115:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1116:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if calculations are still to be ordered */
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->NbCalcToOrder > 0U)
1118:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1119:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Decrement number of calculations to order */
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToOrder--;
1121:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1122:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Continue the processing by providing another write of input data
1123:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** in the Write Data register, and increment input buffer pointer */
1124:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_WriteInDataIncrementPtr(hcordic, &(hcordic->pInBuff));
1125:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1126:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1127:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if all calculations results are got */
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->NbCalcToGet == 0U)
1129:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1130:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Disable Result Ready Interrupt */
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** __HAL_CORDIC_DISABLE_IT(hcordic, CORDIC_IT_IEN);
1132:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1133:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state */
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
1135:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1136:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Call calculation complete callback */
1137:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
1138:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call registered callback*/
1139:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->CalculateCpltCallback(hcordic);
1140:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #else
1141:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call legacy weak (surcharged) callback*/
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_CalculateCpltCallback(hcordic);
1143:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1144:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1145:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1146:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
ARM GAS /tmp/cc1IKhbe.s page 28
1148:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1149:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1150:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
1151:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1152:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1153:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @defgroup CORDIC_Exported_Functions_Group5 Peripheral State functions
1154:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Peripheral State functions.
1155:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** *
1156:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @verbatim
1157:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
1158:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ##### Peripheral State functions #####
1159:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** ==============================================================================
1160:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** [..]
1161:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** This subsection permits to get in run-time the status of the peripheral.
1162:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1163:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** @endverbatim
1164:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
1165:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1166:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1167:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1168:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Return the CORDIC handle state.
1169:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1170:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
1171:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval HAL state
1172:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1173:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_StateTypeDef HAL_CORDIC_GetState(CORDIC_HandleTypeDef *hcordic)
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1175:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return CORDIC handle state */
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return hcordic->State;
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1178:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1179:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1180:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Return the CORDIC peripheral error.
1181:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1182:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module
1183:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @note The returned error is a bit-map combination of possible errors
1184:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval Error bit-map
1185:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1186:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t HAL_CORDIC_GetError(CORDIC_HandleTypeDef *hcordic)
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1188:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return CORDIC error code */
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** return hcordic->ErrorCode;
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1191:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1192:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1193:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
1194:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1195:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1196:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1197:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @}
1198:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1199:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1200:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /** @addtogroup CORDIC_Private_Functions
1201:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @{
1202:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1203:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1204:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
ARM GAS /tmp/cc1IKhbe.s page 29
1205:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Write input data for CORDIC processing, and increment input buffer pointer.
1206:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1207:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module.
1208:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param ppInBuff Pointer to pointer to input buffer.
1209:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval none
1210:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1211:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_WriteInDataIncrementPtr(CORDIC_HandleTypeDef *hcordic, int32_t **ppInBuff)
1212:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1213:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* First write of input data in the Write Data register */
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** WRITE_REG(hcordic->Instance->WDATA, (uint32_t) **ppInBuff);
364 .loc 1 1214 0
365 004a 0099 ldr r1, [sp]
1215:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1216:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Increment input data pointer */
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (*ppInBuff)++;
1218:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1219:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if second write of input data is expected */
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_IS_BIT_SET(hcordic->Instance->CSR, CORDIC_CSR_NARGS))
366 .loc 1 1220 0
367 004c 019B ldr r3, [sp, #4]
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
368 .loc 1 1214 0
369 004e 0A68 ldr r2, [r1]
370 .LBE23:
371 .LBE22:
634:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
372 .loc 1 634 0
373 0050 8046 mov r8, r0
374 .LVL31:
375 .LBB25:
376 .LBB24:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
377 .loc 1 1214 0
378 0052 2068 ldr r0, [r4]
379 .LVL32:
380 0054 4260 str r2, [r0, #4]
381 .LVL33:
382 .loc 1 1220 0
383 0056 0268 ldr r2, [r0]
384 0058 12F4801F tst r2, #1048576
1221:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1222:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Second write of input data in the Write Data register */
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** WRITE_REG(hcordic->Instance->WDATA, (uint32_t) **ppInBuff);
385 .loc 1 1223 0
386 005c 1BBF ittet ne
387 005e 4A68 ldrne r2, [r1, #4]
388 0060 4260 strne r2, [r0, #4]
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
389 .loc 1 1217 0
390 0062 0D1D addeq r5, r1, #4
1224:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1225:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Increment input data pointer */
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (*ppInBuff)++;
391 .loc 1 1226 0
392 0064 01F10805 addne r5, r1, #8
393 .LVL34:
394 .LBE24:
ARM GAS /tmp/cc1IKhbe.s page 30
395 .LBE25:
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
396 .loc 1 641 0
397 0068 5F1E subs r7, r3, #1
398 .LVL35:
399 006a 1AD0 beq .L37
400 .LVL36:
401 .L46:
402 .LBB26:
403 .LBB27:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
404 .loc 1 1214 0
405 006c 2B68 ldr r3, [r5]
406 006e 4360 str r3, [r0, #4]
407 .LVL37:
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
408 .loc 1 1220 0
409 0070 0368 ldr r3, [r0]
410 0072 D902 lsls r1, r3, #11
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
411 .loc 1 1223 0
412 0074 44BF itt mi
413 0076 6B68 ldrmi r3, [r5, #4]
414 0078 4360 strmi r3, [r0, #4]
415 007a 089B ldr r3, [sp, #32]
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
416 .loc 1 1217 0
417 007c 54BF ite pl
418 007e 0435 addpl r5, r5, #4
419 .LVL38:
420 .loc 1 1226 0
421 0080 0835 addmi r5, r5, #8
422 .LVL39:
423 0082 0133 adds r3, r3, #1
424 0084 1DD1 bne .L40
425 .LVL40:
426 .L41:
427 .LBE27:
428 .LBE26:
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
429 .loc 1 664 0
430 0086 0368 ldr r3, [r0]
431 0088 002B cmp r3, #0
432 008a FCDA bge .L41
433 .L42:
434 .LVL41:
435 .LBB28:
436 .LBB29:
1227:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1228:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1229:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1230:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1231:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief Read output data of CORDIC processing, and increment output buffer pointer.
1232:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hcordic pointer to a CORDIC_HandleTypeDef structure that contains
1233:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * the configuration information for CORDIC module.
1234:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param ppOutBuff Pointer to pointer to output buffer.
1235:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval none
ARM GAS /tmp/cc1IKhbe.s page 31
1236:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1237:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_ReadOutDataIncrementPtr(CORDIC_HandleTypeDef *hcordic, int32_t **ppOutBuff)
1238:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1239:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* First read of output data from the Read Data register */
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** **ppOutBuff = (int32_t)READ_REG(hcordic->Instance->RDATA);
437 .loc 1 1240 0
438 008c 8368 ldr r3, [r0, #8]
439 008e 3360 str r3, [r6]
440 .LVL42:
1241:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1242:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Increment output data pointer */
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (*ppOutBuff)++;
1244:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1245:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if second read of output data is expected */
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (HAL_IS_BIT_SET(hcordic->Instance->CSR, CORDIC_CSR_NRES))
441 .loc 1 1246 0
442 0090 0368 ldr r3, [r0]
443 0092 1A03 lsls r2, r3, #12
1247:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1248:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Second read of output data from the Read Data register */
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** **ppOutBuff = (int32_t)READ_REG(hcordic->Instance->RDATA);
444 .loc 1 1249 0
445 0094 45BF ittet mi
446 0096 8368 ldrmi r3, [r0, #8]
447 0098 7360 strmi r3, [r6, #4]
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
448 .loc 1 1243 0
449 009a 0436 addpl r6, r6, #4
450 .LVL43:
1250:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1251:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Increment output data pointer */
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** (*ppOutBuff)++;
451 .loc 1 1252 0
452 009c 0836 addmi r6, r6, #8
453 .LVL44:
454 .LBE29:
455 .LBE28:
641:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
456 .loc 1 641 0
457 009e 013F subs r7, r7, #1
458 .LVL45:
459 00a0 E4D1 bne .L46
460 .LVL46:
461 .L37:
462 .LBB30:
463 .LBB31:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
464 .loc 1 1240 0
465 00a2 8368 ldr r3, [r0, #8]
466 00a4 3360 str r3, [r6]
467 .LVL47:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
468 .loc 1 1246 0
469 00a6 0368 ldr r3, [r0]
470 00a8 1B03 lsls r3, r3, #12
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
471 .loc 1 1249 0
ARM GAS /tmp/cc1IKhbe.s page 32
472 00aa 44BF itt mi
473 00ac 8368 ldrmi r3, [r0, #8]
474 00ae 7360 strmi r3, [r6, #4]
475 .LVL48:
476 .LBE31:
477 .LBE30:
674:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
478 .loc 1 674 0
479 00b0 0123 movs r3, #1
480 00b2 84F82130 strb r3, [r4, #33]
677:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
481 .loc 1 677 0
482 00b6 0020 movs r0, #0
483 00b8 BBE7 b .L33
484 .LVL49:
485 .L66:
486 00ba 2068 ldr r0, [r4]
664:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
487 .loc 1 664 0
488 00bc 0368 ldr r3, [r0]
489 00be 002B cmp r3, #0
490 00c0 E4DB blt .L42
491 .L40:
652:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
492 .loc 1 652 0
493 00c2 FFF7FEFF bl HAL_GetTick
494 .LVL50:
495 00c6 089B ldr r3, [sp, #32]
496 00c8 A0EB0800 sub r0, r0, r8
497 00cc 9842 cmp r0, r3
498 00ce F4D9 bls .L66
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
499 .loc 1 658 0
500 00d0 0123 movs r3, #1
655:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
501 .loc 1 655 0
502 00d2 0422 movs r2, #4
503 00d4 6262 str r2, [r4, #36]
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
504 .loc 1 661 0
505 00d6 1846 mov r0, r3
658:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
506 .loc 1 658 0
507 00d8 84F82130 strb r3, [r4, #33]
661:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
508 .loc 1 661 0
509 00dc A9E7 b .L33
510 .cfi_endproc
511 .LFE334:
513 00de 00BF .section .text.HAL_CORDIC_CalculateZO,"ax",%progbits
514 .align 1
515 .p2align 2,,3
516 .global HAL_CORDIC_CalculateZO
517 .syntax unified
518 .thumb
519 .thumb_func
520 .fpu fpv4-sp-d16
ARM GAS /tmp/cc1IKhbe.s page 33
522 HAL_CORDIC_CalculateZO:
523 .LFB335:
702:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t tickstart;
524 .loc 1 702 0
525 .cfi_startproc
526 @ args = 4, pretend = 0, frame = 8
527 @ frame_needed = 0, uses_anonymous_args = 0
528 .LVL51:
529 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
530 .LCFI12:
531 .cfi_def_cfa_offset 24
532 .cfi_offset 4, -24
533 .cfi_offset 5, -20
534 .cfi_offset 6, -16
535 .cfi_offset 7, -12
536 .cfi_offset 8, -8
537 .cfi_offset 14, -4
538 0004 0546 mov r5, r0
539 .LVL52:
540 0006 82B0 sub sp, sp, #8
541 .LCFI13:
542 .cfi_def_cfa_offset 32
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
543 .loc 1 709 0
544 0008 71B1 cbz r1, .L68
545 000a 1646 mov r6, r2
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
546 .loc 1 709 0 is_stmt 0 discriminator 1
547 000c 62B1 cbz r2, .L68
709:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
548 .loc 1 709 0 discriminator 2
549 000e 5BB1 cbz r3, .L68
719:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
550 .loc 1 719 0 is_stmt 1
551 0010 90F82120 ldrb r2, [r0, #33] @ zero_extendqisi2
552 .LVL53:
553 0014 012A cmp r2, #1
554 0016 0FD0 beq .L104
776:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
555 .loc 1 776 0
556 0018 436A ldr r3, [r0, #36]
557 .LVL54:
558 001a 43F00203 orr r3, r3, #2
559 001e 4362 str r3, [r0, #36]
560 .LVL55:
779:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
561 .loc 1 779 0
562 0020 0120 movs r0, #1
563 .LVL56:
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
564 .loc 1 781 0
565 0022 02B0 add sp, sp, #8
566 .LCFI14:
567 .cfi_remember_state
568 .cfi_def_cfa_offset 24
569 @ sp needed
570 0024 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
ARM GAS /tmp/cc1IKhbe.s page 34
571 .LVL57:
572 .L68:
573 .LCFI15:
574 .cfi_restore_state
712:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
575 .loc 1 712 0
576 0028 6B6A ldr r3, [r5, #36]
577 .LVL58:
578 002a 43F00103 orr r3, r3, #1
579 002e 6B62 str r3, [r5, #36]
580 .LVL59:
715:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
581 .loc 1 715 0
582 0030 0120 movs r0, #1
583 .LVL60:
584 .L70:
781:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
585 .loc 1 781 0
586 0032 02B0 add sp, sp, #8
587 .LCFI16:
588 .cfi_remember_state
589 .cfi_def_cfa_offset 24
590 @ sp needed
591 0034 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
592 .LVL61:
593 .L104:
594 .LCFI17:
595 .cfi_restore_state
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
596 .loc 1 725 0
597 0038 0222 movs r2, #2
722:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
598 .loc 1 722 0
599 003a 0020 movs r0, #0
600 .LVL62:
601 003c 6862 str r0, [r5, #36]
725:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
602 .loc 1 725 0
603 003e 85F82120 strb r2, [r5, #33]
604 0042 CDE90013 strd r1, r3, [sp]
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
605 .loc 1 728 0
606 0046 FFF7FEFF bl HAL_GetTick
607 .LVL63:
608 .LBB32:
609 .LBB33:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
610 .loc 1 1214 0
611 004a 0099 ldr r1, [sp]
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
612 .loc 1 1220 0
613 004c 019B ldr r3, [sp, #4]
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
614 .loc 1 1214 0
615 004e 0A68 ldr r2, [r1]
616 .LBE33:
617 .LBE32:
ARM GAS /tmp/cc1IKhbe.s page 35
728:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
618 .loc 1 728 0
619 0050 8046 mov r8, r0
620 .LVL64:
621 .LBB35:
622 .LBB34:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
623 .loc 1 1214 0
624 0052 2868 ldr r0, [r5]
625 .LVL65:
626 0054 4260 str r2, [r0, #4]
627 .LVL66:
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
628 .loc 1 1220 0
629 0056 0268 ldr r2, [r0]
630 0058 12F4801F tst r2, #1048576
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
631 .loc 1 1223 0
632 005c 1BBF ittet ne
633 005e 4A68 ldrne r2, [r1, #4]
634 0060 4260 strne r2, [r0, #4]
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
635 .loc 1 1217 0
636 0062 0C1D addeq r4, r1, #4
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
637 .loc 1 1226 0
638 0064 01F10804 addne r4, r1, #8
639 .LVL67:
640 .LBE34:
641 .LBE35:
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
642 .loc 1 735 0
643 0068 5F1E subs r7, r3, #1
644 .LVL68:
645 006a 17D0 beq .L74
646 006c 089B ldr r3, [sp, #32]
647 006e 0133 adds r3, r3, #1
648 0070 23D1 bne .L75
649 .LVL69:
650 .L80:
651 .LBB36:
652 .LBB37:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
653 .loc 1 1214 0
654 0072 2368 ldr r3, [r4]
655 0074 4360 str r3, [r0, #4]
656 .LVL70:
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
657 .loc 1 1220 0
658 0076 0368 ldr r3, [r0]
659 0078 DA02 lsls r2, r3, #11
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
660 .loc 1 1223 0
661 007a 44BF itt mi
662 007c 6368 ldrmi r3, [r4, #4]
663 007e 4360 strmi r3, [r0, #4]
664 .LBE37:
ARM GAS /tmp/cc1IKhbe.s page 36
665 .LBE36:
666 .LBB41:
667 .LBB42:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
668 .loc 1 1240 0
669 0080 8368 ldr r3, [r0, #8]
670 0082 3360 str r3, [r6]
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
671 .loc 1 1246 0
672 0084 0368 ldr r3, [r0]
673 .LBE42:
674 .LBE41:
675 .LBB46:
676 .LBB38:
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
677 .loc 1 1217 0
678 0086 54BF ite pl
679 0088 0434 addpl r4, r4, #4
680 .LVL71:
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
681 .loc 1 1226 0
682 008a 0834 addmi r4, r4, #8
683 .LVL72:
684 .LBE38:
685 .LBE46:
686 .LBB47:
687 .LBB43:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
688 .loc 1 1246 0
689 008c 1B03 lsls r3, r3, #12
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
690 .loc 1 1249 0
691 008e 45BF ittet mi
692 0090 8368 ldrmi r3, [r0, #8]
693 0092 7360 strmi r3, [r6, #4]
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
694 .loc 1 1243 0
695 0094 0436 addpl r6, r6, #4
696 .LVL73:
697 .loc 1 1252 0
698 0096 0836 addmi r6, r6, #8
699 .LVL74:
700 .LBE43:
701 .LBE47:
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
702 .loc 1 735 0
703 0098 013F subs r7, r7, #1
704 .LVL75:
705 009a EAD1 bne .L80
706 .LVL76:
707 .L74:
708 .LBB48:
709 .LBB49:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
710 .loc 1 1240 0
711 009c 8368 ldr r3, [r0, #8]
712 009e 3360 str r3, [r6]
ARM GAS /tmp/cc1IKhbe.s page 37
713 .LVL77:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
714 .loc 1 1246 0
715 00a0 0368 ldr r3, [r0]
716 00a2 1B03 lsls r3, r3, #12
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
717 .loc 1 1249 0
718 00a4 44BF itt mi
719 00a6 8368 ldrmi r3, [r0, #8]
720 00a8 7360 strmi r3, [r6, #4]
721 .LVL78:
722 .LBE49:
723 .LBE48:
768:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
724 .loc 1 768 0
725 00aa 0123 movs r3, #1
726 00ac 85F82130 strb r3, [r5, #33]
771:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
727 .loc 1 771 0
728 00b0 0020 movs r0, #0
729 00b2 BEE7 b .L70
730 .LVL79:
731 .L105:
735:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
732 .loc 1 735 0
733 00b4 013F subs r7, r7, #1
734 .LVL80:
735 00b6 2868 ldr r0, [r5]
736 00b8 F0D0 beq .L74
737 .LVL81:
738 .L75:
739 .LBB50:
740 .LBB39:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
741 .loc 1 1214 0
742 00ba 2368 ldr r3, [r4]
743 00bc 4360 str r3, [r0, #4]
744 .LVL82:
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
745 .loc 1 1220 0
746 00be 0368 ldr r3, [r0]
747 00c0 D902 lsls r1, r3, #11
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
748 .loc 1 1223 0
749 00c2 44BF itt mi
750 00c4 6368 ldrmi r3, [r4, #4]
751 00c6 4360 strmi r3, [r0, #4]
752 .LBE39:
753 .LBE50:
754 .LBB51:
755 .LBB44:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
756 .loc 1 1240 0
757 00c8 8368 ldr r3, [r0, #8]
758 00ca 3360 str r3, [r6]
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
759 .loc 1 1246 0
ARM GAS /tmp/cc1IKhbe.s page 38
760 00cc 0368 ldr r3, [r0]
761 .LBE44:
762 .LBE51:
763 .LBB52:
764 .LBB40:
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
765 .loc 1 1217 0
766 00ce 54BF ite pl
767 00d0 0434 addpl r4, r4, #4
768 .LVL83:
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
769 .loc 1 1226 0
770 00d2 0834 addmi r4, r4, #8
771 .LVL84:
772 .LBE40:
773 .LBE52:
774 .LBB53:
775 .LBB45:
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
776 .loc 1 1246 0
777 00d4 1A03 lsls r2, r3, #12
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
778 .loc 1 1249 0
779 00d6 45BF ittet mi
780 00d8 8368 ldrmi r3, [r0, #8]
781 00da 7360 strmi r3, [r6, #4]
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
782 .loc 1 1243 0
783 00dc 0436 addpl r6, r6, #4
784 .LVL85:
785 .loc 1 1252 0
786 00de 0836 addmi r6, r6, #8
787 .LVL86:
788 .LBE45:
789 .LBE53:
748:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
790 .loc 1 748 0
791 00e0 FFF7FEFF bl HAL_GetTick
792 .LVL87:
793 00e4 089B ldr r3, [sp, #32]
794 00e6 A0EB0800 sub r0, r0, r8
795 00ea 9842 cmp r0, r3
796 00ec E2D9 bls .L105
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
797 .loc 1 754 0
798 00ee 0123 movs r3, #1
751:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
799 .loc 1 751 0
800 00f0 0422 movs r2, #4
801 00f2 6A62 str r2, [r5, #36]
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
802 .loc 1 757 0
803 00f4 1846 mov r0, r3
754:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
804 .loc 1 754 0
805 00f6 85F82130 strb r3, [r5, #33]
757:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
ARM GAS /tmp/cc1IKhbe.s page 39
806 .loc 1 757 0
807 00fa 9AE7 b .L70
808 .cfi_endproc
809 .LFE335:
811 .section .text.HAL_CORDIC_Calculate_IT,"ax",%progbits
812 .align 1
813 .p2align 2,,3
814 .global HAL_CORDIC_Calculate_IT
815 .syntax unified
816 .thumb
817 .thumb_func
818 .fpu fpv4-sp-d16
820 HAL_CORDIC_Calculate_IT:
821 .LFB336:
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *tmp_pInBuff = pInBuff;
822 .loc 1 795 0
823 .cfi_startproc
824 @ args = 0, pretend = 0, frame = 0
825 @ frame_needed = 0, uses_anonymous_args = 0
826 @ link register save eliminated.
827 .LVL88:
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
828 .loc 1 799 0
829 0000 69B1 cbz r1, .L107
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
830 .loc 1 799 0 is_stmt 0 discriminator 1
831 0002 62B1 cbz r2, .L107
799:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
832 .loc 1 799 0 discriminator 2
833 0004 5BB1 cbz r3, .L107
795:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** int32_t *tmp_pInBuff = pInBuff;
834 .loc 1 795 0 is_stmt 1
835 0006 70B4 push {r4, r5, r6}
836 .LCFI18:
837 .cfi_def_cfa_offset 12
838 .cfi_offset 4, -12
839 .cfi_offset 5, -8
840 .cfi_offset 6, -4
809:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
841 .loc 1 809 0
842 0008 90F82140 ldrb r4, [r0, #33] @ zero_extendqisi2
843 000c 012C cmp r4, #1
844 000e 0CD0 beq .L123
861:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
845 .loc 1 861 0
846 0010 436A ldr r3, [r0, #36]
847 .LVL89:
848 0012 43F00203 orr r3, r3, #2
849 0016 4362 str r3, [r0, #36]
864:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
850 .loc 1 864 0
851 0018 0120 movs r0, #1
852 .LVL90:
853 .L109:
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
854 .loc 1 866 0
855 001a 70BC pop {r4, r5, r6}
ARM GAS /tmp/cc1IKhbe.s page 40
856 .LCFI19:
857 .cfi_restore 6
858 .cfi_restore 5
859 .cfi_restore 4
860 .cfi_def_cfa_offset 0
861 001c 7047 bx lr
862 .LVL91:
863 .L107:
802:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
864 .loc 1 802 0
865 001e 436A ldr r3, [r0, #36]
866 .LVL92:
867 0020 43F00103 orr r3, r3, #1
868 0024 4362 str r3, [r0, #36]
805:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
869 .loc 1 805 0
870 0026 0120 movs r0, #1
871 .LVL93:
866:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
872 .loc 1 866 0
873 0028 7047 bx lr
874 .LVL94:
875 .L123:
876 .LCFI20:
877 .cfi_def_cfa_offset 12
878 .cfi_offset 4, -12
879 .cfi_offset 5, -8
880 .cfi_offset 6, -4
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
881 .loc 1 812 0
882 002a 0026 movs r6, #0
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
883 .loc 1 819 0
884 002c 0468 ldr r4, [r0]
812:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
885 .loc 1 812 0
886 002e 4662 str r6, [r0, #36]
815:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
887 .loc 1 815 0
888 0030 0225 movs r5, #2
889 0032 80F82150 strb r5, [r0, #33]
819:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
890 .loc 1 819 0
891 0036 2568 ldr r5, [r4]
892 0038 ED02 lsls r5, r5, #11
893 .LVL95:
823:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
894 .loc 1 823 0
895 003a 4CBF ite mi
896 003c 01F10806 addmi r6, r1, #8
897 .LVL96:
828:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
898 .loc 1 828 0
899 0040 0E1D addpl r6, r1, #4
900 .LVL97:
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
901 .loc 1 836 0
ARM GAS /tmp/cc1IKhbe.s page 41
902 0042 2568 ldr r5, [r4]
830:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->pOutBuff = pOutBuff;
903 .loc 1 830 0
904 0044 4660 str r6, [r0, #4]
832:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToGet = NbCalc;
905 .loc 1 832 0
906 0046 5E1E subs r6, r3, #1
907 .LVL98:
908 0048 C0E90363 strd r6, r3, [r0, #12]
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
909 .loc 1 836 0
910 004c 45F48035 orr r5, r5, #65536
831:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->NbCalcToOrder = NbCalc - 1U;
911 .loc 1 831 0
912 0050 8260 str r2, [r0, #8]
836:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
913 .loc 1 836 0
914 0052 2560 str r5, [r4]
915 .LVL99:
843:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
916 .loc 1 843 0
917 0054 0B68 ldr r3, [r1]
918 .LVL100:
919 0056 6360 str r3, [r4, #4]
846:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
920 .loc 1 846 0
921 0058 2068 ldr r0, [r4]
922 .LVL101:
923 005a 10F48010 ands r0, r0, #1048576
924 005e DCD0 beq .L109
925 .LVL102:
852:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
926 .loc 1 852 0
927 0060 4B68 ldr r3, [r1, #4]
928 0062 6360 str r3, [r4, #4]
856:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
929 .loc 1 856 0
930 0064 0020 movs r0, #0
931 0066 D8E7 b .L109
932 .cfi_endproc
933 .LFE336:
935 .section .text.HAL_CORDIC_Calculate_DMA,"ax",%progbits
936 .align 1
937 .p2align 2,,3
938 .global HAL_CORDIC_Calculate_DMA
939 .syntax unified
940 .thumb
941 .thumb_func
942 .fpu fpv4-sp-d16
944 HAL_CORDIC_Calculate_DMA:
945 .LFB337:
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t sizeinbuff;
946 .loc 1 887 0
947 .cfi_startproc
948 @ args = 4, pretend = 0, frame = 0
949 @ frame_needed = 0, uses_anonymous_args = 0
950 .LVL103:
ARM GAS /tmp/cc1IKhbe.s page 42
951 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
952 .LCFI21:
953 .cfi_def_cfa_offset 24
954 .cfi_offset 4, -24
955 .cfi_offset 5, -20
956 .cfi_offset 6, -16
957 .cfi_offset 7, -12
958 .cfi_offset 8, -8
959 .cfi_offset 14, -4
887:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** uint32_t sizeinbuff;
960 .loc 1 887 0
961 0004 069D ldr r5, [sp, #24]
962 0006 0446 mov r4, r0
897:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
963 .loc 1 897 0
964 0008 B3B1 cbz r3, .L151
965 000a 1E46 mov r6, r3
907:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
966 .loc 1 907 0
967 000c AB1E subs r3, r5, #2
968 .LVL104:
969 000e 012B cmp r3, #1
970 0010 0F46 mov r7, r1
971 0012 0CD9 bls .L153
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
972 .loc 1 921 0
973 0014 012D cmp r5, #1
974 0016 0DD0 beq .L129
975 .L130:
934:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
976 .loc 1 934 0
977 0018 94F82110 ldrb r1, [r4, #33] @ zero_extendqisi2
978 .LVL105:
979 001c 0129 cmp r1, #1
980 001e 12D0 beq .L154
1021:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
981 .loc 1 1021 0
982 0020 636A ldr r3, [r4, #36]
983 0022 43F00203 orr r3, r3, #2
984 0026 6362 str r3, [r4, #36]
985 .LVL106:
1024:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
986 .loc 1 1024 0
987 0028 0120 movs r0, #1
988 .LVL107:
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
989 .loc 1 1026 0
990 002a BDE8F081 pop {r4, r5, r6, r7, r8, pc}
991 .LVL108:
992 .L153:
910:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
993 .loc 1 910 0
994 002e 1AB1 cbz r2, .L151
921:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
995 .loc 1 921 0 discriminator 1
996 0030 032D cmp r5, #3
997 0032 F1D1 bne .L130
ARM GAS /tmp/cc1IKhbe.s page 43
998 .L129:
924:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
999 .loc 1 924 0
1000 0034 002F cmp r7, #0
1001 0036 EFD1 bne .L130
1002 .LVL109:
1003 .L151:
927:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1004 .loc 1 927 0
1005 0038 636A ldr r3, [r4, #36]
1006 003a 43F00103 orr r3, r3, #1
1007 003e 6362 str r3, [r4, #36]
1008 .LVL110:
930:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1009 .loc 1 930 0
1010 0040 0120 movs r0, #1
1011 .LVL111:
1012 .L126:
1026:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1013 .loc 1 1026 0
1014 0042 BDE8F081 pop {r4, r5, r6, r7, r8, pc}
1015 .LVL112:
1016 .L154:
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1017 .loc 1 937 0
1018 0046 0020 movs r0, #0
1019 .LVL113:
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1020 .loc 1 940 0
1021 0048 0221 movs r1, #2
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1022 .loc 1 946 0
1023 004a 012B cmp r3, #1
937:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1024 .loc 1 937 0
1025 004c 6062 str r0, [r4, #36]
943:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1026 .loc 1 943 0
1027 004e 6561 str r5, [r4, #20]
940:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1028 .loc 1 940 0
1029 0050 84F82110 strb r1, [r4, #33]
946:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1030 .loc 1 946 0
1031 0054 19D9 bls .L155
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1032 .loc 1 981 0
1033 0056 012D cmp r5, #1
1034 0058 F3D1 bne .L126
1035 005a DFF87480 ldr r8, .L156+4
1036 005e 2268 ldr r2, [r4]
1037 .LVL114:
1038 .L135:
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1039 .loc 1 990 0
1040 0060 1368 ldr r3, [r2]
984:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the DMA error callback */
ARM GAS /tmp/cc1IKhbe.s page 44
1041 .loc 1 984 0
1042 0062 A069 ldr r0, [r4, #24]
1043 0064 1949 ldr r1, .L156
1044 0066 C162 str r1, [r0, #44]
990:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1045 .loc 1 990 0
1046 0068 DB02 lsls r3, r3, #11
992:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1047 .loc 1 992 0
1048 006a 48BF it mi
1049 006c 7600 lslmi r6, r6, #1
1050 .LVL115:
986:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1051 .loc 1 986 0
1052 006e C0F83480 str r8, [r0, #52]
1002:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1053 .loc 1 1002 0
1054 0072 3346 mov r3, r6
1055 0074 0432 adds r2, r2, #4
1056 0076 3946 mov r1, r7
1057 0078 FFF7FEFF bl HAL_DMA_Start_IT
1058 .LVL116:
1059 007c 00BB cbnz r0, .L152
1012:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1060 .loc 1 1012 0
1061 007e 2268 ldr r2, [r4]
1062 0080 1368 ldr r3, [r2]
1063 0082 43F48023 orr r3, r3, #262144
1064 0086 1360 str r3, [r2]
1065 0088 DBE7 b .L126
1066 .LVL117:
1067 .L155:
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1068 .loc 1 955 0
1069 008a 2168 ldr r1, [r4]
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the DMA error callback */
1070 .loc 1 949 0
1071 008c E069 ldr r0, [r4, #28]
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1072 .loc 1 955 0
1073 008e 0B68 ldr r3, [r1]
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the DMA error callback */
1074 .loc 1 949 0
1075 0090 DFF840C0 ldr ip, .L156+8
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1076 .loc 1 951 0
1077 0094 DFF83880 ldr r8, .L156+4
949:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set the DMA error callback */
1078 .loc 1 949 0
1079 0098 C0F82CC0 str ip, [r0, #44]
955:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1080 .loc 1 955 0
1081 009c 1B03 lsls r3, r3, #12
957:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1082 .loc 1 957 0
1083 009e 4CBF ite mi
1084 00a0 7300 lslmi r3, r6, #1
ARM GAS /tmp/cc1IKhbe.s page 45
1085 .LVL118:
1086 00a2 3346 movpl r3, r6
1087 .LVL119:
951:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1088 .loc 1 951 0
1089 00a4 C0F83480 str r8, [r0, #52]
967:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1090 .loc 1 967 0
1091 00a8 0831 adds r1, r1, #8
1092 00aa FFF7FEFF bl HAL_DMA_Start_IT
1093 .LVL120:
1094 00ae 38B9 cbnz r0, .L152
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1095 .loc 1 977 0
1096 00b0 2268 ldr r2, [r4]
1097 00b2 1368 ldr r3, [r2]
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1098 .loc 1 981 0
1099 00b4 032D cmp r5, #3
977:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1100 .loc 1 977 0
1101 00b6 43F40033 orr r3, r3, #131072
1102 00ba 1360 str r3, [r2]
981:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1103 .loc 1 981 0
1104 00bc D0D0 beq .L135
1105 00be C0E7 b .L126
1106 .LVL121:
1107 .L152:
1005:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1108 .loc 1 1005 0
1109 00c0 636A ldr r3, [r4, #36]
1110 00c2 43F00803 orr r3, r3, #8
1111 00c6 6362 str r3, [r4, #36]
1112 .LVL122:
1008:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1113 .loc 1 1008 0
1114 00c8 0120 movs r0, #1
1115 00ca BAE7 b .L126
1116 .L157:
1117 .align 2
1118 .L156:
1119 00cc 00000000 .word CORDIC_DMAInCplt
1120 00d0 00000000 .word CORDIC_DMAError
1121 00d4 00000000 .word CORDIC_DMAOutCplt
1122 .cfi_endproc
1123 .LFE337:
1125 .section .text.HAL_CORDIC_ErrorCallback,"ax",%progbits
1126 .align 1
1127 .p2align 2,,3
1128 .weak HAL_CORDIC_ErrorCallback
1129 .syntax unified
1130 .thumb
1131 .thumb_func
1132 .fpu fpv4-sp-d16
1134 HAL_CORDIC_ErrorCallback:
1135 .LFB351:
ARM GAS /tmp/cc1IKhbe.s page 46
1136 .cfi_startproc
1137 @ args = 0, pretend = 0, frame = 0
1138 @ frame_needed = 0, uses_anonymous_args = 0
1139 @ link register save eliminated.
1140 0000 7047 bx lr
1141 .cfi_endproc
1142 .LFE351:
1144 0002 00BF .section .text.CORDIC_DMAError,"ax",%progbits
1145 .align 1
1146 .p2align 2,,3
1147 .syntax unified
1148 .thumb
1149 .thumb_func
1150 .fpu fpv4-sp-d16
1152 CORDIC_DMAError:
1153 .LFB347:
1253:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1254:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1255:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1256:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1257:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief DMA CORDIC Input Data process complete callback.
1258:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hdma DMA handle.
1259:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
1260:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1261:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_DMAInCplt(DMA_HandleTypeDef *hdma)
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1264:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1265:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Disable the DMA transfer for input request */
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CLEAR_BIT(hcordic->Instance->CSR, CORDIC_DMA_WEN);
1267:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1268:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if DMA direction is CORDIC Input only (no DMA for CORDIC Output) */
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** if (hcordic->DMADirection == CORDIC_DMA_DIR_IN)
1270:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1271:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC DMA direction to none */
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->DMADirection = CORDIC_DMA_DIR_NONE;
1273:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1274:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state to ready */
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
1276:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1277:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Call calculation complete callback */
1278:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
1279:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call registered callback*/
1280:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->CalculateCpltCallback(hcordic);
1281:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #else
1282:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call legacy weak (surcharged) callback*/
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_CalculateCpltCallback(hcordic);
1284:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1285:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1287:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1288:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1289:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief DMA CORDIC Output Data process complete callback.
1290:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hdma DMA handle.
1291:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
1292:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1293:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_DMAOutCplt(DMA_HandleTypeDef *hdma)
ARM GAS /tmp/cc1IKhbe.s page 47
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1296:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1297:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Disable the DMA transfer for output request */
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CLEAR_BIT(hcordic->Instance->CSR, CORDIC_DMA_REN);
1299:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1300:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC DMA direction to none */
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->DMADirection = CORDIC_DMA_DIR_NONE;
1302:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1303:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Change the CORDIC state to ready */
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
1305:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1306:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Call calculation complete callback */
1307:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
1308:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call registered callback*/
1309:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->CalculateCpltCallback(hcordic);
1310:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #else
1311:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call legacy weak (surcharged) callback*/
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_CalculateCpltCallback(hcordic);
1313:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1315:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1316:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /**
1317:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @brief DMA CORDIC communication error callback.
1318:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @param hdma DMA handle.
1319:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** * @retval None
1320:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** */
1321:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** static void CORDIC_DMAError(DMA_HandleTypeDef *hdma)
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1154 .loc 1 1322 0
1155 .cfi_startproc
1156 @ args = 0, pretend = 0, frame = 0
1157 @ frame_needed = 0, uses_anonymous_args = 0
1158 .LVL123:
1323:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1159 .loc 1 1323 0
1160 0000 806A ldr r0, [r0, #40]
1161 .LVL124:
1322:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1162 .loc 1 1322 0
1163 0002 08B5 push {r3, lr}
1164 .LCFI22:
1165 .cfi_def_cfa_offset 8
1166 .cfi_offset 3, -8
1167 .cfi_offset 14, -4
1324:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1325:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC handle state to error */
1326:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->State = HAL_CORDIC_STATE_READY;
1168 .loc 1 1326 0
1169 0004 0123 movs r3, #1
1170 0006 80F82130 strb r3, [r0, #33]
1327:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1328:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Set CORDIC handle error code to DMA error */
1329:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCode |= HAL_CORDIC_ERROR_DMA;
1171 .loc 1 1329 0
1172 000a 436A ldr r3, [r0, #36]
1173 000c 43F00803 orr r3, r3, #8
ARM GAS /tmp/cc1IKhbe.s page 48
1174 0010 4362 str r3, [r0, #36]
1330:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1331:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Call user callback */
1332:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #if USE_HAL_CORDIC_REGISTER_CALLBACKS == 1
1333:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call registered callback*/
1334:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** hcordic->ErrorCallback(hcordic);
1335:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #else
1336:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /*Call legacy weak (surcharged) callback*/
1337:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** HAL_CORDIC_ErrorCallback(hcordic);
1175 .loc 1 1337 0
1176 0012 FFF7FEFF bl HAL_CORDIC_ErrorCallback
1177 .LVL125:
1338:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1339:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1178 .loc 1 1339 0
1179 0016 08BD pop {r3, pc}
1180 .cfi_endproc
1181 .LFE347:
1183 .section .text.HAL_CORDIC_CalculateCpltCallback,"ax",%progbits
1184 .align 1
1185 .p2align 2,,3
1186 .weak HAL_CORDIC_CalculateCpltCallback
1187 .syntax unified
1188 .thumb
1189 .thumb_func
1190 .fpu fpv4-sp-d16
1192 HAL_CORDIC_CalculateCpltCallback:
1193 .LFB353:
1194 .cfi_startproc
1195 @ args = 0, pretend = 0, frame = 0
1196 @ frame_needed = 0, uses_anonymous_args = 0
1197 @ link register save eliminated.
1198 0000 7047 bx lr
1199 .cfi_endproc
1200 .LFE353:
1202 0002 00BF .section .text.CORDIC_DMAInCplt,"ax",%progbits
1203 .align 1
1204 .p2align 2,,3
1205 .syntax unified
1206 .thumb
1207 .thumb_func
1208 .fpu fpv4-sp-d16
1210 CORDIC_DMAInCplt:
1211 .LFB345:
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1212 .loc 1 1262 0
1213 .cfi_startproc
1214 @ args = 0, pretend = 0, frame = 0
1215 @ frame_needed = 0, uses_anonymous_args = 0
1216 .LVL126:
1263:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1217 .loc 1 1263 0
1218 0000 806A ldr r0, [r0, #40]
1219 .LVL127:
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1220 .loc 1 1266 0
1221 0002 0268 ldr r2, [r0]
ARM GAS /tmp/cc1IKhbe.s page 49
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1222 .loc 1 1269 0
1223 0004 4169 ldr r1, [r0, #20]
1262:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1224 .loc 1 1262 0
1225 0006 08B5 push {r3, lr}
1226 .LCFI23:
1227 .cfi_def_cfa_offset 8
1228 .cfi_offset 3, -8
1229 .cfi_offset 14, -4
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1230 .loc 1 1266 0
1231 0008 1368 ldr r3, [r2]
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1232 .loc 1 1269 0
1233 000a 0129 cmp r1, #1
1266:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1234 .loc 1 1266 0
1235 000c 23F48023 bic r3, r3, #262144
1236 0010 1360 str r3, [r2]
1269:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1237 .loc 1 1269 0
1238 0012 00D0 beq .L165
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1239 .loc 1 1286 0
1240 0014 08BD pop {r3, pc}
1241 .L165:
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1242 .loc 1 1272 0
1243 0016 0023 movs r3, #0
1275:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1244 .loc 1 1275 0
1245 0018 80F82110 strb r1, [r0, #33]
1272:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1246 .loc 1 1272 0
1247 001c 4361 str r3, [r0, #20]
1283:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1248 .loc 1 1283 0
1249 001e FFF7FEFF bl HAL_CORDIC_CalculateCpltCallback
1250 .LVL128:
1286:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1251 .loc 1 1286 0
1252 0022 08BD pop {r3, pc}
1253 .cfi_endproc
1254 .LFE345:
1256 .section .text.CORDIC_DMAOutCplt,"ax",%progbits
1257 .align 1
1258 .p2align 2,,3
1259 .syntax unified
1260 .thumb
1261 .thumb_func
1262 .fpu fpv4-sp-d16
1264 CORDIC_DMAOutCplt:
1265 .LFB346:
1294:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** CORDIC_HandleTypeDef *hcordic = (CORDIC_HandleTypeDef *)((DMA_HandleTypeDef *)hdma)->Parent;
1266 .loc 1 1294 0
1267 .cfi_startproc
ARM GAS /tmp/cc1IKhbe.s page 50
1268 @ args = 0, pretend = 0, frame = 0
1269 @ frame_needed = 0, uses_anonymous_args = 0
1270 .LVL129:
1271 0000 38B5 push {r3, r4, r5, lr}
1272 .LCFI24:
1273 .cfi_def_cfa_offset 16
1274 .cfi_offset 3, -16
1275 .cfi_offset 4, -12
1276 .cfi_offset 5, -8
1277 .cfi_offset 14, -4
1295:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1278 .loc 1 1295 0
1279 0002 836A ldr r3, [r0, #40]
1280 .LVL130:
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1281 .loc 1 1298 0
1282 0004 1968 ldr r1, [r3]
1283 0006 0A68 ldr r2, [r1]
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1284 .loc 1 1301 0
1285 0008 0025 movs r5, #0
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1286 .loc 1 1298 0
1287 000a 22F40032 bic r2, r2, #131072
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1288 .loc 1 1304 0
1289 000e 0124 movs r4, #1
1298:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1290 .loc 1 1298 0
1291 0010 0A60 str r2, [r1]
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1292 .loc 1 1312 0
1293 0012 1846 mov r0, r3
1294 .LVL131:
1301:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1295 .loc 1 1301 0
1296 0014 5D61 str r5, [r3, #20]
1304:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1297 .loc 1 1304 0
1298 0016 83F82140 strb r4, [r3, #33]
1312:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1299 .loc 1 1312 0
1300 001a FFF7FEFF bl HAL_CORDIC_CalculateCpltCallback
1301 .LVL132:
1314:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1302 .loc 1 1314 0
1303 001e 38BD pop {r3, r4, r5, pc}
1304 .cfi_endproc
1305 .LFE346:
1307 .section .text.HAL_CORDIC_IRQHandler,"ax",%progbits
1308 .align 1
1309 .p2align 2,,3
1310 .global HAL_CORDIC_IRQHandler
1311 .syntax unified
1312 .thumb
1313 .thumb_func
1314 .fpu fpv4-sp-d16
ARM GAS /tmp/cc1IKhbe.s page 51
1316 HAL_CORDIC_IRQHandler:
1317 .LFB340:
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if calculation complete interrupt is enabled and if result ready
1318 .loc 1 1103 0
1319 .cfi_startproc
1320 @ args = 0, pretend = 0, frame = 0
1321 @ frame_needed = 0, uses_anonymous_args = 0
1322 .LVL133:
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1323 .loc 1 1106 0
1324 0000 0268 ldr r2, [r0]
1103:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Check if calculation complete interrupt is enabled and if result ready
1325 .loc 1 1103 0
1326 0002 38B5 push {r3, r4, r5, lr}
1327 .LCFI25:
1328 .cfi_def_cfa_offset 16
1329 .cfi_offset 3, -16
1330 .cfi_offset 4, -12
1331 .cfi_offset 5, -8
1332 .cfi_offset 14, -4
1106:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1333 .loc 1 1106 0
1334 0004 1368 ldr r3, [r2]
1335 0006 DC03 lsls r4, r3, #15
1336 0008 02D5 bpl .L168
1108:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1337 .loc 1 1108 0
1338 000a 1368 ldr r3, [r2]
1339 000c 002B cmp r3, #0
1340 000e 00DB blt .L183
1341 .L168:
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1342 .loc 1 1147 0
1343 0010 38BD pop {r3, r4, r5, pc}
1344 .L183:
1345 .LBB54:
1346 .LBB55:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1347 .loc 1 1240 0
1348 0012 8368 ldr r3, [r0, #8]
1349 .LBE55:
1350 .LBE54:
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1351 .loc 1 1111 0
1352 0014 0469 ldr r4, [r0, #16]
1353 .LBB58:
1354 .LBB56:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1355 .loc 1 1240 0
1356 0016 9568 ldr r5, [r2, #8]
1357 0018 1946 mov r1, r3
1358 .LBE56:
1359 .LBE58:
1111:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1360 .loc 1 1111 0
1361 001a 013C subs r4, r4, #1
1362 001c 0461 str r4, [r0, #16]
ARM GAS /tmp/cc1IKhbe.s page 52
1363 .LVL134:
1364 .LBB59:
1365 .LBB57:
1240:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1366 .loc 1 1240 0
1367 001e 41F8045B str r5, [r1], #4
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1368 .loc 1 1246 0
1369 0022 1468 ldr r4, [r2]
1243:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1370 .loc 1 1243 0
1371 0024 8160 str r1, [r0, #8]
1246:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1372 .loc 1 1246 0
1373 0026 2103 lsls r1, r4, #12
1374 0028 03D5 bpl .L172
1249:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1375 .loc 1 1249 0
1376 002a 9168 ldr r1, [r2, #8]
1377 002c 5960 str r1, [r3, #4]
1252:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1378 .loc 1 1252 0
1379 002e 0833 adds r3, r3, #8
1380 0030 8360 str r3, [r0, #8]
1381 .L172:
1382 .LVL135:
1383 .LBE57:
1384 .LBE59:
1117:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1385 .loc 1 1117 0
1386 0032 C368 ldr r3, [r0, #12]
1387 0034 73B1 cbz r3, .L174
1388 .LBB60:
1389 .LBB61:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1390 .loc 1 1214 0
1391 0036 4468 ldr r4, [r0, #4]
1392 .LBE61:
1393 .LBE60:
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1394 .loc 1 1120 0
1395 0038 013B subs r3, r3, #1
1396 .LBB64:
1397 .LBB62:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1398 .loc 1 1214 0
1399 003a 2146 mov r1, r4
1400 .LBE62:
1401 .LBE64:
1120:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1402 .loc 1 1120 0
1403 003c C360 str r3, [r0, #12]
1404 .LVL136:
1405 .LBB65:
1406 .LBB63:
1214:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1407 .loc 1 1214 0
ARM GAS /tmp/cc1IKhbe.s page 53
1408 003e 51F8043B ldr r3, [r1], #4
1409 0042 5360 str r3, [r2, #4]
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1410 .loc 1 1220 0
1411 0044 1368 ldr r3, [r2]
1217:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1412 .loc 1 1217 0
1413 0046 4160 str r1, [r0, #4]
1220:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1414 .loc 1 1220 0
1415 0048 DB02 lsls r3, r3, #11
1416 004a 03D5 bpl .L174
1223:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1417 .loc 1 1223 0
1418 004c 6368 ldr r3, [r4, #4]
1419 004e 5360 str r3, [r2, #4]
1226:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1420 .loc 1 1226 0
1421 0050 0834 adds r4, r4, #8
1422 0052 4460 str r4, [r0, #4]
1423 .LVL137:
1424 .L174:
1425 .LBE63:
1426 .LBE65:
1128:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** {
1427 .loc 1 1128 0
1428 0054 0369 ldr r3, [r0, #16]
1429 0056 002B cmp r3, #0
1430 0058 DAD1 bne .L168
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1431 .loc 1 1131 0
1432 005a 1168 ldr r1, [r2]
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1433 .loc 1 1134 0
1434 005c 0124 movs r4, #1
1131:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1435 .loc 1 1131 0
1436 005e 21F48031 bic r1, r1, #65536
1437 0062 1160 str r1, [r2]
1134:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1438 .loc 1 1134 0
1439 0064 80F82140 strb r4, [r0, #33]
1142:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** #endif /* USE_HAL_CORDIC_REGISTER_CALLBACKS */
1440 .loc 1 1142 0
1441 0068 FFF7FEFF bl HAL_CORDIC_CalculateCpltCallback
1442 .LVL138:
1147:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1443 .loc 1 1147 0
1444 006c 38BD pop {r3, r4, r5, pc}
1445 .cfi_endproc
1446 .LFE340:
1448 006e 00BF .section .text.HAL_CORDIC_GetState,"ax",%progbits
1449 .align 1
1450 .p2align 2,,3
1451 .global HAL_CORDIC_GetState
1452 .syntax unified
1453 .thumb
ARM GAS /tmp/cc1IKhbe.s page 54
1454 .thumb_func
1455 .fpu fpv4-sp-d16
1457 HAL_CORDIC_GetState:
1458 .LFB341:
1174:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return CORDIC handle state */
1459 .loc 1 1174 0
1460 .cfi_startproc
1461 @ args = 0, pretend = 0, frame = 0
1462 @ frame_needed = 0, uses_anonymous_args = 0
1463 @ link register save eliminated.
1464 .LVL139:
1176:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1465 .loc 1 1176 0
1466 0000 90F82100 ldrb r0, [r0, #33] @ zero_extendqisi2
1467 .LVL140:
1177:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1468 .loc 1 1177 0
1469 0004 7047 bx lr
1470 .cfi_endproc
1471 .LFE341:
1473 0006 00BF .section .text.HAL_CORDIC_GetError,"ax",%progbits
1474 .align 1
1475 .p2align 2,,3
1476 .global HAL_CORDIC_GetError
1477 .syntax unified
1478 .thumb
1479 .thumb_func
1480 .fpu fpv4-sp-d16
1482 HAL_CORDIC_GetError:
1483 .LFB342:
1187:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** /* Return CORDIC error code */
1484 .loc 1 1187 0
1485 .cfi_startproc
1486 @ args = 0, pretend = 0, frame = 0
1487 @ frame_needed = 0, uses_anonymous_args = 0
1488 @ link register save eliminated.
1489 .LVL141:
1189:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c **** }
1490 .loc 1 1189 0
1491 0000 406A ldr r0, [r0, #36]
1492 .LVL142:
1190:Drivers/STM32G4xx_HAL_Driver/Src/stm32g4xx_hal_cordic.c ****
1493 .loc 1 1190 0
1494 0002 7047 bx lr
1495 .cfi_endproc
1496 .LFE342:
1498 .text
1499 .Letext0:
1500 .file 2 "/usr/include/newlib/machine/_default_types.h"
1501 .file 3 "/usr/include/newlib/sys/_stdint.h"
1502 .file 4 "Drivers/CMSIS/Include/core_cm4.h"
1503 .file 5 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h"
1504 .file 6 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h"
1505 .file 7 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h"
1506 .file 8 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h"
1507 .file 9 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cordic.h"
1508 .file 10 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h"
ARM GAS /tmp/cc1IKhbe.s page 55
1509 .file 11 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h"
1510 .file 12 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h"
ARM GAS /tmp/cc1IKhbe.s page 56
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32g4xx_hal_cordic.c
/tmp/cc1IKhbe.s:16 .text.HAL_CORDIC_MspInit:0000000000000000 $t
/tmp/cc1IKhbe.s:24 .text.HAL_CORDIC_MspInit:0000000000000000 HAL_CORDIC_MspInit
/tmp/cc1IKhbe.s:39 .text.HAL_CORDIC_Init:0000000000000000 $t
/tmp/cc1IKhbe.s:47 .text.HAL_CORDIC_Init:0000000000000000 HAL_CORDIC_Init
/tmp/cc1IKhbe.s:109 .text.HAL_CORDIC_MspDeInit:0000000000000000 $t
/tmp/cc1IKhbe.s:117 .text.HAL_CORDIC_MspDeInit:0000000000000000 HAL_CORDIC_MspDeInit
/tmp/cc1IKhbe.s:128 .text.HAL_CORDIC_DeInit:0000000000000000 $t
/tmp/cc1IKhbe.s:136 .text.HAL_CORDIC_DeInit:0000000000000000 HAL_CORDIC_DeInit
/tmp/cc1IKhbe.s:188 .text.HAL_CORDIC_Configure:0000000000000000 $t
/tmp/cc1IKhbe.s:196 .text.HAL_CORDIC_Configure:0000000000000000 HAL_CORDIC_Configure
/tmp/cc1IKhbe.s:263 .text.HAL_CORDIC_Configure:0000000000000044 $d
/tmp/cc1IKhbe.s:268 .text.HAL_CORDIC_Calculate:0000000000000000 $t
/tmp/cc1IKhbe.s:276 .text.HAL_CORDIC_Calculate:0000000000000000 HAL_CORDIC_Calculate
/tmp/cc1IKhbe.s:514 .text.HAL_CORDIC_CalculateZO:0000000000000000 $t
/tmp/cc1IKhbe.s:522 .text.HAL_CORDIC_CalculateZO:0000000000000000 HAL_CORDIC_CalculateZO
/tmp/cc1IKhbe.s:812 .text.HAL_CORDIC_Calculate_IT:0000000000000000 $t
/tmp/cc1IKhbe.s:820 .text.HAL_CORDIC_Calculate_IT:0000000000000000 HAL_CORDIC_Calculate_IT
/tmp/cc1IKhbe.s:936 .text.HAL_CORDIC_Calculate_DMA:0000000000000000 $t
/tmp/cc1IKhbe.s:944 .text.HAL_CORDIC_Calculate_DMA:0000000000000000 HAL_CORDIC_Calculate_DMA
/tmp/cc1IKhbe.s:1119 .text.HAL_CORDIC_Calculate_DMA:00000000000000cc $d
/tmp/cc1IKhbe.s:1210 .text.CORDIC_DMAInCplt:0000000000000000 CORDIC_DMAInCplt
/tmp/cc1IKhbe.s:1152 .text.CORDIC_DMAError:0000000000000000 CORDIC_DMAError
/tmp/cc1IKhbe.s:1264 .text.CORDIC_DMAOutCplt:0000000000000000 CORDIC_DMAOutCplt
/tmp/cc1IKhbe.s:1126 .text.HAL_CORDIC_ErrorCallback:0000000000000000 $t
/tmp/cc1IKhbe.s:1134 .text.HAL_CORDIC_ErrorCallback:0000000000000000 HAL_CORDIC_ErrorCallback
/tmp/cc1IKhbe.s:1145 .text.CORDIC_DMAError:0000000000000000 $t
/tmp/cc1IKhbe.s:1184 .text.HAL_CORDIC_CalculateCpltCallback:0000000000000000 $t
/tmp/cc1IKhbe.s:1192 .text.HAL_CORDIC_CalculateCpltCallback:0000000000000000 HAL_CORDIC_CalculateCpltCallback
/tmp/cc1IKhbe.s:1203 .text.CORDIC_DMAInCplt:0000000000000000 $t
/tmp/cc1IKhbe.s:1257 .text.CORDIC_DMAOutCplt:0000000000000000 $t
/tmp/cc1IKhbe.s:1308 .text.HAL_CORDIC_IRQHandler:0000000000000000 $t
/tmp/cc1IKhbe.s:1316 .text.HAL_CORDIC_IRQHandler:0000000000000000 HAL_CORDIC_IRQHandler
/tmp/cc1IKhbe.s:1449 .text.HAL_CORDIC_GetState:0000000000000000 $t
/tmp/cc1IKhbe.s:1457 .text.HAL_CORDIC_GetState:0000000000000000 HAL_CORDIC_GetState
/tmp/cc1IKhbe.s:1474 .text.HAL_CORDIC_GetError:0000000000000000 $t
/tmp/cc1IKhbe.s:1482 .text.HAL_CORDIC_GetError:0000000000000000 HAL_CORDIC_GetError
UNDEFINED SYMBOLS
HAL_GetTick
HAL_DMA_Start_IT