ARM GAS /tmp/ccaPmNum.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 "rx.c" 12 .text 13 .Ltext0: 14 .cfi_sections .debug_frame 15 .section .text.rx_mixer,"ax",%progbits 16 .align 1 17 .p2align 2,,3 18 .global rx_mixer 19 .syntax unified 20 .thumb 21 .thumb_func 22 .fpu fpv4-sp-d16 24 rx_mixer: 25 .LFB404: 26 .file 1 "Core/Src/rx.c" 1:Core/Src/rx.c **** #include 2:Core/Src/rx.c **** #include 3:Core/Src/rx.c **** #include 4:Core/Src/rx.c **** 5:Core/Src/rx.c **** #include "FIRFilterCode.h" 6:Core/Src/rx.c **** #include "bassofono.h" 7:Core/Src/rx.c **** #include "rx.h" 8:Core/Src/rx.c **** 9:Core/Src/rx.c **** int32_t rx_signal; 10:Core/Src/rx.c **** 11:Core/Src/rx.c **** // filtro 2 12:Core/Src/rx.c **** arm_fir_decimate_instance_q31 st2_filter_I_struct; 13:Core/Src/rx.c **** arm_fir_decimate_instance_q31 st2_filter_Q_struct; 14:Core/Src/rx.c **** q31_t st2_filter_I_state[ST2_FILTER_BLOCK_SIZE + ST2_FILTER_TAP_NUM - 1]; 15:Core/Src/rx.c **** q31_t st2_filter_Q_state[ST2_FILTER_BLOCK_SIZE + ST2_FILTER_TAP_NUM - 1]; 16:Core/Src/rx.c **** 17:Core/Src/rx.c **** // filtro audio 18:Core/Src/rx.c **** arm_fir_instance_q31 audio_filter_struct; 19:Core/Src/rx.c **** q31_t audio_filter_state[AUDIO_FILTER_BLOCK_SIZE + AUDIO_FILTER_TAP_NUM - 1]; 20:Core/Src/rx.c **** int32_t audio_filter_coeffs[AUDIO_FILTER_TAP_NUM]; 21:Core/Src/rx.c **** 22:Core/Src/rx.c **** int32_t ms_hbf_filter_taps[MS_HBF_TAP_NUM] = { 23:Core/Src/rx.c **** -181552, 0, 3414100, 0, 24:Core/Src/rx.c **** -16841686, 0, 80782761, 134217728, 25:Core/Src/rx.c **** 80782761, 0, -16841686, 0, 26:Core/Src/rx.c **** 3414100, 0, -181552, 27:Core/Src/rx.c **** }; 28:Core/Src/rx.c **** 29:Core/Src/rx.c **** // fir 127t 0,02fc 32bit x SSB 30:Core/Src/rx.c **** int32_t st2_filter_taps[ST2_FILTER_TAP_NUM] = { 31:Core/Src/rx.c **** -1126183, -1060446, -1001030, -944190, 32:Core/Src/rx.c **** -885669, -820733, -744204, -650507, ARM GAS /tmp/ccaPmNum.s page 2 33:Core/Src/rx.c **** -533714, -387602, -205707, 18609, 34:Core/Src/rx.c **** 292094, 621539, 1013699, 1475225, 35:Core/Src/rx.c **** 2012590, 2632009, 3339367, 4140147, 36:Core/Src/rx.c **** 5039355, 6041454, 7150298, 8369068, 37:Core/Src/rx.c **** 9700219, 11145427, 12705542, 14380553, 38:Core/Src/rx.c **** 16169554, 18070720, 20081290, 22197560, 39:Core/Src/rx.c **** 24414882, 26727671, 29129426, 31612749, 40:Core/Src/rx.c **** 34169384, 36790257, 39465521, 42184622, 41:Core/Src/rx.c **** 44936354, 47708936, 50490086, 53267102, 42:Core/Src/rx.c **** 56026952, 58756364, 61441918, 64070145, 43:Core/Src/rx.c **** 66627626, 69101088, 71477504, 73744193, 44:Core/Src/rx.c **** 75888914, 77899962, 79766252, 81477413, 45:Core/Src/rx.c **** 83023862, 84396881, 85588686, 86592486, 46:Core/Src/rx.c **** 87402540, 88014198, 88423939, 88629403, 47:Core/Src/rx.c **** 88629403, 88423939, 88014198, 87402540, 48:Core/Src/rx.c **** 86592486, 85588686, 84396881, 83023862, 49:Core/Src/rx.c **** 81477413, 79766252, 77899962, 75888914, 50:Core/Src/rx.c **** 73744193, 71477504, 69101088, 66627626, 51:Core/Src/rx.c **** 64070145, 61441918, 58756364, 56026952, 52:Core/Src/rx.c **** 53267102, 50490086, 47708936, 44936354, 53:Core/Src/rx.c **** 42184622, 39465521, 36790257, 34169384, 54:Core/Src/rx.c **** 31612749, 29129426, 26727671, 24414882, 55:Core/Src/rx.c **** 22197560, 20081290, 18070720, 16169554, 56:Core/Src/rx.c **** 14380553, 12705542, 11145427, 9700219, 57:Core/Src/rx.c **** 8369068, 7150298, 6041454, 5039355, 58:Core/Src/rx.c **** 4140147, 3339367, 2632009, 2012590, 59:Core/Src/rx.c **** 1475225, 1013699, 621539, 292094, 60:Core/Src/rx.c **** 18609, -205707, -387602, -533714, 61:Core/Src/rx.c **** -650507, -744204, -820733, -885669, 62:Core/Src/rx.c **** -944190, -1001030, -1060446, -1126183, 63:Core/Src/rx.c **** }; 64:Core/Src/rx.c **** 65:Core/Src/rx.c **** // fir 127t 0,08fc 32bit x DC & AM 66:Core/Src/rx.c **** int32_t st2_wide_taps[ST2_FILTER_TAP_NUM] = { 67:Core/Src/rx.c **** -97978, 335568, 778895, 1221284, 68:Core/Src/rx.c **** 1647428, 2035927, 2358700, 2581561, 69:Core/Src/rx.c **** 2666121, 2573011, 2266239, 1718351, 70:Core/Src/rx.c **** 915904, -135341, -1406144, -2841077, 71:Core/Src/rx.c **** -4357945, -5849758, -7189482, -8237567, 72:Core/Src/rx.c **** -8851951, -8900018, -8271675, -6892581, 73:Core/Src/rx.c **** -4736355, -1834599, 1716434, 5753496, 74:Core/Src/rx.c **** 10049098, 14319768, 18239836, 21460339, 75:Core/Src/rx.c **** 23632183, 24432297, 23591167, 20919867, 76:Core/Src/rx.c **** 16334581, 9876614, 1726037, -7792580, 77:Core/Src/rx.c **** -18213471, -28942584, -39280046, -48451497, 78:Core/Src/rx.c **** -55646916, -60065020, -60960793, -57693344, 79:Core/Src/rx.c **** -49771152, -36891699, -18972776, 3826929, 80:Core/Src/rx.c **** 31099731, 62194426, 96235614, 132156305, 81:Core/Src/rx.c **** 168742396, 204686835, 238650645, 269327486, 82:Core/Src/rx.c **** 295508153, 316141338, 330387150, 337660283, 83:Core/Src/rx.c **** 337660283, 330387150, 316141338, 295508153, 84:Core/Src/rx.c **** 269327486, 238650645, 204686835, 168742396, 85:Core/Src/rx.c **** 132156305, 96235614, 62194426, 31099731, 86:Core/Src/rx.c **** 3826929, -18972776, -36891699, -49771152, 87:Core/Src/rx.c **** -57693344, -60960793, -60065020, -55646916, 88:Core/Src/rx.c **** -48451497, -39280046, -28942584, -18213471, 89:Core/Src/rx.c **** -7792580, 1726037, 9876614, 16334581, ARM GAS /tmp/ccaPmNum.s page 3 90:Core/Src/rx.c **** 20919867, 23591167, 24432297, 23632183, 91:Core/Src/rx.c **** 21460339, 18239836, 14319768, 10049098, 92:Core/Src/rx.c **** 5753496, 1716434, -1834599, -4736355, 93:Core/Src/rx.c **** -6892581, -8271675, -8900018, -8851951, 94:Core/Src/rx.c **** -8237567, -7189482, -5849758, -4357945, 95:Core/Src/rx.c **** -2841077, -1406144, -135341, 915904, 96:Core/Src/rx.c **** 1718351, 2266239, 2573011, 2666121, 97:Core/Src/rx.c **** 2581561, 2358700, 2035927, 1647428, 98:Core/Src/rx.c **** 1221284, 778895, 335568, -97978, 99:Core/Src/rx.c **** }; 100:Core/Src/rx.c **** 101:Core/Src/rx.c **** int32_t audio_filter_coeffs[AUDIO_FILTER_TAP_NUM]; 102:Core/Src/rx.c **** 103:Core/Src/rx.c **** // mix 104:Core/Src/rx.c **** 105:Core/Src/rx.c **** void rx_mixer(uint16_t *in, uint16_t size, q31_t *I_out, q31_t *Q_out, int32_t nco_freq){ 27 .loc 1 105 0 28 .cfi_startproc 29 @ args = 4, pretend = 0, frame = 2136 30 @ frame_needed = 0, uses_anonymous_args = 0 31 .LVL0: 32 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 33 .LCFI0: 34 .cfi_def_cfa_offset 36 35 .cfi_offset 4, -36 36 .cfi_offset 5, -32 37 .cfi_offset 6, -28 38 .cfi_offset 7, -24 39 .cfi_offset 8, -20 40 .cfi_offset 9, -16 41 .cfi_offset 10, -12 42 .cfi_offset 11, -8 43 .cfi_offset 14, -4 106:Core/Src/rx.c **** uint16_t i = 0, j = 0, k = 0; 107:Core/Src/rx.c **** static int32_t phase_accu; 108:Core/Src/rx.c **** int32_t scaled_in, sin, cos, tmp; 109:Core/Src/rx.c **** q31_t I_tmp2[ST2_BUFFER_SIZE], Q_tmp2[ST2_BUFFER_SIZE]; 110:Core/Src/rx.c **** // rb 111:Core/Src/rx.c **** static uint8_t mixed_samples_ringbuffer_index, mixed_samples_2m_ringbuffer_index; 112:Core/Src/rx.c **** static q31_t I_mixed_rb[MIXED_SAMPLES_RINGBUFFER_SIZE], Q_mixed_rb[MIXED_SAMPLES_RINGBUFFER 113:Core/Src/rx.c **** static q31_t I_mixed_2m_rb[MIXED_SAMPLES_2M_RINGBUFFER_SIZE], Q_mixed_2m_rb[MIXED_SAMPLES_2 114:Core/Src/rx.c **** 115:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 44 .loc 1 115 0 45 0004 0C4C ldr r4, .L19 46 .LBB42: 47 .LBB43: 48 .file 2 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h" 1:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 2:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** ****************************************************************************** 3:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @file stm32g4xx_ll_cordic.h 4:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @author MCD Application Team 5:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Header file of CORDIC LL module. 6:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** ****************************************************************************** 7:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @attention 8:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * 9:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** *

© Copyright (c) 2019 STMicroelectronics. ARM GAS /tmp/ccaPmNum.s page 4 10:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * All rights reserved.

11:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * 12:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * This software component is licensed by ST under BSD 3-Clause license, 13:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * the "License"; You may not use this file except in compliance with the 14:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * License. You may obtain a copy of the License at: 15:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * opensource.org/licenses/BSD-3-Clause 16:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * 17:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** ****************************************************************************** 18:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 19:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 20:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Define to prevent recursive inclusion -------------------------------------*/ 21:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #ifndef STM32G4xx_LL_CORDIC_H 22:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define STM32G4xx_LL_CORDIC_H 23:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 24:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #ifdef __cplusplus 25:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** extern "C" { 26:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #endif 27:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 28:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Includes ------------------------------------------------------------------*/ 29:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #include "stm32g4xx.h" 30:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 31:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @addtogroup STM32G4xx_LL_Driver 32:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 33:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 34:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 35:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #if defined(CORDIC) 36:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 37:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL CORDIC 38:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 39:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 40:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 41:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Private variables ---------------------------------------------------------*/ 42:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 43:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Private constants ---------------------------------------------------------*/ 44:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 45:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Private macros ------------------------------------------------------------*/ 46:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 47:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Exported types ------------------------------------------------------------*/ 48:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 49:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Exported constants --------------------------------------------------------*/ 50:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_Exported_Constants CORDIC Exported Constants 51:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 52:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 53:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 54:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_GET_FLAG Get Flags Defines 55:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Flags defines which can be used with LL_CORDIC_ReadReg function. 56:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 57:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 58:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FLAG_RRDY CORDIC_CSR_RRDY 59:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 60:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 61:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 62:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 63:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_IT IT Defines 64:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief IT defines which can be used with LL_CORDIC_ReadReg and LL_CORDIC_WriteReg functions. 65:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 66:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ ARM GAS /tmp/ccaPmNum.s page 5 67:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_IT_IEN CORDIC_CSR_IEN /*!< Result Ready interrupt en 68:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 69:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 70:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 71:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 72:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_FUNCTION FUNCTION 73:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 74:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 75:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_COSINE (0x00000000U) 76:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_SINE ((uint32_t)(CORDIC_CSR_FUNC_0)) 77:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_PHASE ((uint32_t)(CORDIC_CSR_FUNC_1)) 78:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_MODULUS ((uint32_t)(CORDIC_CSR_FUNC_1 | CORDIC_CSR_FUNC_0)) 79:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_ARCTANGENT ((uint32_t)(CORDIC_CSR_FUNC_2)) 80:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_HCOSINE ((uint32_t)(CORDIC_CSR_FUNC_2 | CORDIC_CSR_FUNC_0)) 81:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_HSINE ((uint32_t)(CORDIC_CSR_FUNC_2 | CORDIC_CSR_FUNC_1)) 82:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_HARCTANGENT ((uint32_t)(CORDIC_CSR_FUNC_2 | CORDIC_CSR_FUNC_1 | CORD 83:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_NATURALLOG ((uint32_t)(CORDIC_CSR_FUNC_3)) 84:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_FUNCTION_SQUAREROOT ((uint32_t)(CORDIC_CSR_FUNC_3 | CORDIC_CSR_FUNC_0)) 85:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 86:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 87:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 88:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 89:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_PRECISION PRECISION 90:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 91:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 92:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_1CYCLE ((uint32_t)(CORDIC_CSR_PRECISION_0)) 93:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_2CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_1)) 94:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_3CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_1 | CORDIC_CSR_PRECISIO 95:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_4CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_2)) 96:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_5CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECISIO 97:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_6CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECISIO 98:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_7CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_2\ 99:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** | CORDIC_CSR_PRECISION_1 | CORDIC_CSR_PRECIS 100:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_8CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3)) 101:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_9CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISIO 102:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_10CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISIO 103:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_11CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3\ 104:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** | CORDIC_CSR_PRECISION_1 | CORDIC_CSR_PRECIS 105:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_12CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3 | CORDIC_CSR_PRECISIO 106:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_13CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3\ 107:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** | CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECIS 108:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_14CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3\ 109:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** | CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECIS 110:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_PRECISION_15CYCLES ((uint32_t)(CORDIC_CSR_PRECISION_3\ 111:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** | CORDIC_CSR_PRECISION_2 | CORDIC_CSR_PRECIS 112:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** | CORDIC_CSR_PRECISION_0)) 113:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 114:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 115:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 116:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 117:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_SCALE SCALE 118:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 119:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 120:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_0 (0x00000000U) 121:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_1 ((uint32_t)(CORDIC_CSR_SCALE_0)) 122:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_2 ((uint32_t)(CORDIC_CSR_SCALE_1)) 123:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_3 ((uint32_t)(CORDIC_CSR_SCALE_1 | CORDIC_CSR_SCALE_0)) ARM GAS /tmp/ccaPmNum.s page 6 124:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_4 ((uint32_t)(CORDIC_CSR_SCALE_2)) 125:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_5 ((uint32_t)(CORDIC_CSR_SCALE_2 | CORDIC_CSR_SCALE_0)) 126:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_6 ((uint32_t)(CORDIC_CSR_SCALE_2 | CORDIC_CSR_SCALE_1)) 127:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_SCALE_7 ((uint32_t)(CORDIC_CSR_SCALE_2 | CORDIC_CSR_SCALE_1 | CO 128:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 129:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 130:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 131:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 132:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_NBWRITE NBWRITE 133:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 134:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 135:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_NBWRITE_1 (0x00000000U) /*!< One 32-bits write contain 136:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 32-bit data input (Q1.31 137:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 16-bit data input (Q1.15 138:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** in one 32 bits Data */ 139:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_NBWRITE_2 CORDIC_CSR_NARGS /*!< Two 32-bit write containi 140:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** (Q1.31 format) */ 141:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 142:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 143:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 144:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 145:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_NBREAD NBREAD 146:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 147:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 148:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_NBREAD_1 (0x00000000U) /*!< One 32-bits read containi 149:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 32-bit data output (Q1.31 150:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 16-bit data output (Q1.15 151:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** in one 32 bits Data */ 152:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_NBREAD_2 CORDIC_CSR_NRES /*!< Two 32-bit Data containin 153:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** (Q1.31 format) */ 154:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 155:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 156:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 157:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 158:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_INSIZE INSIZE 159:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 160:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 161:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_INSIZE_32BITS (0x00000000U) /*!< 32 bits input data size ( 162:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_INSIZE_16BITS CORDIC_CSR_ARGSIZE /*!< 16 bits input data size ( 163:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 164:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 165:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 166:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 167:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_OUTSIZE OUTSIZE 168:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 169:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 170:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_OUTSIZE_32BITS (0x00000000U) /*!< 32 bits output data size 171:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_OUTSIZE_16BITS CORDIC_CSR_RESSIZE /*!< 16 bits output data size 172:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 173:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 174:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 175:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 176:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EC_DMA_REG_DATA DMA register data 177:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 178:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 179:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_DMA_REG_DATA_IN (0x00000000U) /*!< Get address of input data 180:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_DMA_REG_DATA_OUT (0x00000001U) /*!< Get address of output dat ARM GAS /tmp/ccaPmNum.s page 7 181:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 182:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 183:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 184:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 185:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 186:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 187:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 188:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 189:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Exported macro ------------------------------------------------------------*/ 190:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_Exported_Macros CORDIC Exported Macros 191:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 192:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 193:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 194:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EM_WRITE_READ Common Write and read registers Macros 195:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 196:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 197:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 198:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 199:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Write a value in CORDIC register. 200:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param __INSTANCE__ CORDIC Instance 201:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param __REG__ Register to be written 202:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param __VALUE__ Value to be written in the register 203:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 204:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 205:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VA 206:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 207:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 208:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Read a value in CORDIC register. 209:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param __INSTANCE__ CORDIC Instance 210:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param __REG__ Register to be read 211:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Register value 212:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 213:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** #define LL_CORDIC_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__) 214:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 215:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 216:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 217:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 218:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 219:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 220:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 221:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 222:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 223:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* Exported functions --------------------------------------------------------*/ 224:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 225:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_Exported_Functions CORDIC Exported Functions 226:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 227:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 228:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 229:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EF_Configuration CORDIC Configuration functions 230:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 231:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 232:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 233:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 234:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure the CORDIC processing. 235:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @note This function set all parameters of CORDIC processing. 236:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * These parameters can also be set individually using 237:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * dedicated functions: ARM GAS /tmp/ccaPmNum.s page 8 238:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetFunction() 239:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetPrecision() 240:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetScale() 241:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetNbWrite() 242:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetNbRead() 243:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetInSize() 244:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * - @ref LL_CORDIC_SetOutSize() 245:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR FUNC LL_CORDIC_Configure\n 246:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * CSR PRECISION LL_CORDIC_Configure\n 247:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * CSR SCALE LL_CORDIC_Configure\n 248:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * CSR NARGS LL_CORDIC_Configure\n 249:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * CSR NRES LL_CORDIC_Configure\n 250:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * CSR ARGSIZE LL_CORDIC_Configure\n 251:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * CSR RESIZE LL_CORDIC_Configure 252:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC instance 253:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Function parameter can be one of the following values: 254:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_COSINE 255:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_SINE 256:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_PHASE 257:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_MODULUS 258:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_ARCTANGENT 259:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HCOSINE 260:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HSINE 261:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HARCTANGENT 262:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_NATURALLOG 263:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_SQUAREROOT 264:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Precision parameter can be one of the following values: 265:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_1CYCLE 266:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_2CYCLES 267:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_3CYCLES 268:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_4CYCLES 269:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_5CYCLES 270:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_6CYCLES 271:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_7CYCLES 272:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_8CYCLES 273:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_9CYCLES 274:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_10CYCLES 275:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_11CYCLES 276:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_12CYCLES 277:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_13CYCLES 278:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_14CYCLES 279:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_15CYCLES 280:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Scale parameter can be one of the following values: 281:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_0 282:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_1 283:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_2 284:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_3 285:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_4 286:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_5 287:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_6 288:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_7 289:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param NbWrite parameter can be one of the following values: 290:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBWRITE_1 291:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBWRITE_2 292:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param NbRead parameter can be one of the following values: 293:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBREAD_1 294:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBREAD_2 ARM GAS /tmp/ccaPmNum.s page 9 295:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param InSize parameter can be one of the following values: 296:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_INSIZE_32BITS 297:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_INSIZE_16BITS 298:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param OutSize parameter can be one of the following values: 299:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_OUTSIZE_32BITS 300:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_OUTSIZE_16BITS 301:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 302:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 303:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_Config(CORDIC_TypeDef *CORDICx, uint32_t Function, uint32_t Precisio 304:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** uint32_t NbWrite, uint32_t NbRead, uint32_t InSize, uint32_t 305:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 306:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, 307:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** CORDIC_CSR_FUNC | CORDIC_CSR_PRECISION | CORDIC_CSR_SCALE | 308:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** CORDIC_CSR_NARGS | CORDIC_CSR_NRES | CORDIC_CSR_ARGSIZE | CORDIC_CSR_RESSIZE, 309:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** Function | Precision | Scale | 310:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** NbWrite | NbRead | InSize | OutSize); 311:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 312:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 313:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 314:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure function. 315:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR FUNC LL_CORDIC_SetFunction 316:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 317:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Function parameter can be one of the following values: 318:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_COSINE 319:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_SINE 320:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_PHASE 321:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_MODULUS 322:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_ARCTANGENT 323:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HCOSINE 324:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HSINE 325:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HARCTANGENT 326:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_NATURALLOG 327:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_SQUAREROOT 328:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 329:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 330:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetFunction(CORDIC_TypeDef *CORDICx, uint32_t Function) 331:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 332:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_FUNC, Function); 333:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 334:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 335:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 336:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return function. 337:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR FUNC LL_CORDIC_GetFunction 338:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 339:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 340:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_COSINE 341:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_SINE 342:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_PHASE 343:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_MODULUS 344:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_ARCTANGENT 345:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HCOSINE 346:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HSINE 347:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_HARCTANGENT 348:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_NATURALLOG 349:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_FUNCTION_SQUAREROOT 350:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 351:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetFunction(CORDIC_TypeDef *CORDICx) ARM GAS /tmp/ccaPmNum.s page 10 352:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 353:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_FUNC)); 354:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 355:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 356:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 357:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure precision in cycles number. 358:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR PRECISION LL_CORDIC_SetPrecision 359:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 360:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Precision parameter can be one of the following values: 361:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_1CYCLE 362:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_2CYCLES 363:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_3CYCLES 364:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_4CYCLES 365:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_5CYCLES 366:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_6CYCLES 367:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_7CYCLES 368:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_8CYCLES 369:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_9CYCLES 370:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_10CYCLES 371:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_11CYCLES 372:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_12CYCLES 373:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_13CYCLES 374:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_14CYCLES 375:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_15CYCLES 376:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 377:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 378:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetPrecision(CORDIC_TypeDef *CORDICx, uint32_t Precision) 379:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 380:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_PRECISION, Precision); 381:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 382:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 383:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 384:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return precision in cycles number. 385:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR PRECISION LL_CORDIC_GetPrecision 386:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 387:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 388:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_1CYCLE 389:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_2CYCLES 390:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_3CYCLES 391:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_4CYCLES 392:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_5CYCLES 393:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_6CYCLES 394:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_7CYCLES 395:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_8CYCLES 396:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_9CYCLES 397:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_10CYCLES 398:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_11CYCLES 399:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_12CYCLES 400:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_13CYCLES 401:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_14CYCLES 402:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_PRECISION_15CYCLES 403:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 404:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetPrecision(CORDIC_TypeDef *CORDICx) 405:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 406:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_PRECISION)); 407:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 408:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** ARM GAS /tmp/ccaPmNum.s page 11 409:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 410:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure scaling factor. 411:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR SCALE LL_CORDIC_SetScale 412:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 413:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Scale parameter can be one of the following values: 414:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_0 415:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_1 416:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_2 417:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_3 418:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_4 419:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_5 420:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_6 421:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_7 422:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 423:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 424:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetScale(CORDIC_TypeDef *CORDICx, uint32_t Scale) 425:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 426:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_SCALE, Scale); 427:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 428:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 429:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 430:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return scaling factor. 431:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR SCALE LL_CORDIC_GetScale 432:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 433:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 434:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_0 435:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_1 436:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_2 437:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_3 438:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_4 439:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_5 440:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_6 441:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_SCALE_7 442:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 443:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetScale(CORDIC_TypeDef *CORDICx) 444:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 445:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_SCALE)); 446:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 447:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 448:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 449:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure number of 32-bit write expected for one calculation. 450:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR NARGS LL_CORDIC_SetNbWrite 451:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 452:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param NbWrite parameter can be one of the following values: 453:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBWRITE_1 454:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBWRITE_2 455:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 456:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 457:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetNbWrite(CORDIC_TypeDef *CORDICx, uint32_t NbWrite) 458:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 459:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_NARGS, NbWrite); 460:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 461:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 462:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 463:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return number of 32-bit write expected for one calculation. 464:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR NARGS LL_CORDIC_GetNbWrite 465:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance ARM GAS /tmp/ccaPmNum.s page 12 466:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 467:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBWRITE_1 468:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBWRITE_2 469:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 470:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetNbWrite(CORDIC_TypeDef *CORDICx) 471:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 472:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_NARGS)); 473:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 474:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 475:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 476:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure number of 32-bit read expected after one calculation. 477:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR NRES LL_CORDIC_SetNbRead 478:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 479:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param NbRead parameter can be one of the following values: 480:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBREAD_1 481:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBREAD_2 482:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 483:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 484:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetNbRead(CORDIC_TypeDef *CORDICx, uint32_t NbRead) 485:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 486:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_NRES, NbRead); 487:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 488:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 489:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 490:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return number of 32-bit read expected after one calculation. 491:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR NRES LL_CORDIC_GetNbRead 492:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 493:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 494:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBREAD_1 495:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_NBREAD_2 496:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 497:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetNbRead(CORDIC_TypeDef *CORDICx) 498:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 499:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_NRES)); 500:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 501:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 502:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 503:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure width of input data. 504:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR ARGSIZE LL_CORDIC_SetInSize 505:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 506:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param InSize parameter can be one of the following values: 507:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_INSIZE_32BITS 508:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_INSIZE_16BITS 509:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 510:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 511:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetInSize(CORDIC_TypeDef *CORDICx, uint32_t InSize) 512:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 513:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_ARGSIZE, InSize); 514:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 515:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 516:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 517:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return width of input data. 518:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR ARGSIZE LL_CORDIC_GetInSize 519:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 520:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 521:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_INSIZE_32BITS 522:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_INSIZE_16BITS ARM GAS /tmp/ccaPmNum.s page 13 523:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 524:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetInSize(CORDIC_TypeDef *CORDICx) 525:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 526:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_ARGSIZE)); 527:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 528:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 529:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 530:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Configure width of output data. 531:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR RESIZE LL_CORDIC_SetOutSize 532:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 533:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param OutSize parameter can be one of the following values: 534:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_OUTSIZE_32BITS 535:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_OUTSIZE_16BITS 536:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 537:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 538:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_SetOutSize(CORDIC_TypeDef *CORDICx, uint32_t OutSize) 539:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 540:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** MODIFY_REG(CORDICx->CSR, CORDIC_CSR_RESSIZE, OutSize); 541:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 542:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 543:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 544:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return width of output data. 545:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR RESIZE LL_CORDIC_GetOutSize 546:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 547:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Returned value can be one of the following values: 548:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_OUTSIZE_32BITS 549:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_OUTSIZE_16BITS 550:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 551:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_GetOutSize(CORDIC_TypeDef *CORDICx) 552:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 553:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_BIT(CORDICx->CSR, CORDIC_CSR_RESSIZE)); 554:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 555:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 556:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 557:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 558:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 559:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 560:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EF_IT_Management IT_Management 561:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 562:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 563:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 564:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 565:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Enable CORDIC result ready interrupt 566:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR IEN LL_CORDIC_EnableIT 567:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 568:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 569:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 570:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_EnableIT(CORDIC_TypeDef *CORDICx) 571:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 572:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** SET_BIT(CORDICx->CSR, CORDIC_CSR_IEN); 573:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 574:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 575:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 576:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Disable CORDIC result ready interrupt 577:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR IEN LL_CORDIC_DisableIT 578:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 579:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None ARM GAS /tmp/ccaPmNum.s page 14 580:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 581:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_DisableIT(CORDIC_TypeDef *CORDICx) 582:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 583:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** CLEAR_BIT(CORDICx->CSR, CORDIC_CSR_IEN); 584:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 585:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 586:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 587:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Check CORDIC result ready interrupt state. 588:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR IEN LL_CORDIC_IsEnabledIT 589:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 590:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval State of bit (1 or 0). 591:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 592:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_IsEnabledIT(CORDIC_TypeDef *CORDICx) 593:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 594:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return ((READ_BIT(CORDICx->CSR, CORDIC_CSR_IEN) == (CORDIC_CSR_IEN)) ? 1U : 0U); 595:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 596:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 597:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 598:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 599:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 600:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 601:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EF_DMA_Management DMA_Management 602:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 603:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 604:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 605:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 606:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Enable CORDIC DMA read channel request. 607:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR DMAREN LL_CORDIC_EnableDMAReq_RD 608:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 609:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 610:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 611:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_EnableDMAReq_RD(CORDIC_TypeDef *CORDICx) 612:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 613:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** SET_BIT(CORDICx->CSR, CORDIC_CSR_DMAREN); 614:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 615:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 616:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 617:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Disable CORDIC DMA read channel request. 618:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR DMAREN LL_CORDIC_DisableDMAReq_RD 619:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 620:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 621:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 622:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_DisableDMAReq_RD(CORDIC_TypeDef *CORDICx) 623:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 624:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** CLEAR_BIT(CORDICx->CSR, CORDIC_CSR_DMAREN); 625:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 626:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 627:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 628:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Check CORDIC DMA read channel request state. 629:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR DMAREN LL_CORDIC_IsEnabledDMAReq_RD 630:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 631:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval State of bit (1 or 0). 632:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 633:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_IsEnabledDMAReq_RD(CORDIC_TypeDef *CORDICx) 634:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 635:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return ((READ_BIT(CORDICx->CSR, CORDIC_CSR_DMAREN) == (CORDIC_CSR_DMAREN)) ? 1U : 0U); 636:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } ARM GAS /tmp/ccaPmNum.s page 15 637:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 638:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 639:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Enable CORDIC DMA write channel request. 640:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR DMAWEN LL_CORDIC_EnableDMAReq_WR 641:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 642:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 643:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 644:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_EnableDMAReq_WR(CORDIC_TypeDef *CORDICx) 645:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 646:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** SET_BIT(CORDICx->CSR, CORDIC_CSR_DMAWEN); 647:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 648:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 649:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 650:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Disable CORDIC DMA write channel request. 651:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR DMAWEN LL_CORDIC_DisableDMAReq_WR 652:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 653:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 654:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 655:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_DisableDMAReq_WR(CORDIC_TypeDef *CORDICx) 656:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 657:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** CLEAR_BIT(CORDICx->CSR, CORDIC_CSR_DMAWEN); 658:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 659:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 660:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 661:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Check CORDIC DMA write channel request state. 662:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR DMAWEN LL_CORDIC_IsEnabledDMAReq_WR 663:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 664:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval State of bit (1 or 0). 665:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 666:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_IsEnabledDMAReq_WR(CORDIC_TypeDef *CORDICx) 667:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 668:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return ((READ_BIT(CORDICx->CSR, CORDIC_CSR_DMAWEN) == (CORDIC_CSR_DMAWEN)) ? 1U : 0U); 669:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 670:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 671:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 672:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Get the CORDIC data register address used for DMA transfer. 673:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll RDATA RES LL_CORDIC_DMA_GetRegAddr\n 674:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll WDATA ARG LL_CORDIC_DMA_GetRegAddr 675:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 676:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param Direction parameter can be one of the following values: 677:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_DMA_REG_DATA_IN 678:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @arg @ref LL_CORDIC_DMA_REG_DATA_OUT 679:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval Address of data register 680:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 681:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_DMA_GetRegAddr(CORDIC_TypeDef *CORDICx, uint32_t Direction) 682:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 683:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** uint32_t data_reg_addr; 684:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 685:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** if (Direction == LL_CORDIC_DMA_REG_DATA_OUT) 686:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 687:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* return address of RDATA register */ 688:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** data_reg_addr = (uint32_t) &(CORDICx->RDATA); 689:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 690:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** else 691:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 692:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /* return address of WDATA register */ 693:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** data_reg_addr = (uint32_t) &(CORDICx->WDATA); ARM GAS /tmp/ccaPmNum.s page 16 694:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 695:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 696:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return data_reg_addr; 697:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 698:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 699:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 700:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 701:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 702:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 703:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EF_FLAG_Management FLAG_Management 704:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 705:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 706:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 707:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 708:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Check CORDIC result ready flag state. 709:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll CSR RRDY LL_CORDIC_IsActiveFlag_RRDY 710:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 711:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval State of bit (1 or 0). 712:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 713:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_IsActiveFlag_RRDY(CORDIC_TypeDef *CORDICx) 714:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 715:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return ((READ_BIT(CORDICx->CSR, CORDIC_CSR_RRDY) == (CORDIC_CSR_RRDY)) ? 1U : 0U); 716:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 717:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 718:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 719:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @} 720:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 721:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 722:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** @defgroup CORDIC_LL_EF_Data_Management Data_Management 723:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @{ 724:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 725:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 726:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 727:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Write 32-bit input data for the CORDIC processing. 728:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll WDATA ARG LL_CORDIC_WriteData 729:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 730:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param InData 0 .. 0xFFFFFFFF : 32-bit value to be provided as input data for CORDIC processin 731:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval None 732:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 733:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE void LL_CORDIC_WriteData(CORDIC_TypeDef *CORDICx, uint32_t InData) 734:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** WRITE_REG(CORDICx->WDATA, InData); 49 .loc 2 735 0 50 0006 0D4D ldr r5, .L19+4 51 .LBE43: 52 .LBE42: 53 .loc 1 115 0 54 0008 2468 ldr r4, [r4] 55 .LVL1: 56 .LBB45: 57 .LBB44: 58 .loc 2 735 0 59 000a 6C60 str r4, [r5, #4] 60 .LVL2: 61 .LBE44: 62 .LBE45: 105:Core/Src/rx.c **** uint16_t i = 0, j = 0, k = 0; ARM GAS /tmp/ccaPmNum.s page 17 63 .loc 1 105 0 64 000c ADF65C0D subw sp, sp, #2140 65 .LCFI1: 66 .cfi_def_cfa_offset 2176 105:Core/Src/rx.c **** uint16_t i = 0, j = 0, k = 0; 67 .loc 1 105 0 68 0010 CDE91423 strd r2, r3, [sp, #80] 116:Core/Src/rx.c **** 117:Core/Src/rx.c **** while(i < size){ 69 .loc 1 117 0 70 0014 0991 str r1, [sp, #36] 71 0016 0029 cmp r1, #0 72 0018 00F0CA81 beq .L17 73 001c 821E subs r2, r0, #2 74 .LVL3: 75 001e 0692 str r2, [sp, #24] 76 0020 16AA add r2, sp, #88 106:Core/Src/rx.c **** static int32_t phase_accu; 77 .loc 1 106 0 78 0022 0023 movs r3, #0 79 .LVL4: 80 0024 1292 str r2, [sp, #72] 81 0026 0DF58B62 add r2, sp, #1112 82 002a 1193 str r3, [sp, #68] 83 .LBB46: 84 .LBB47: 736:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 737:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** 738:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** /** 739:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @brief Return 32-bit output data of CORDIC processing. 740:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @rmtoll RDATA RES LL_CORDIC_ReadData 741:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @param CORDICx CORDIC Instance 742:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** * @retval 32-bit output data of CORDIC processing. 743:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** */ 744:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** __STATIC_INLINE uint32_t LL_CORDIC_ReadData(CORDIC_TypeDef *CORDICx) 745:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** { 746:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** return (uint32_t)(READ_REG(CORDICx->RDATA)); 85 .loc 2 746 0 86 002c 0C95 str r5, [sp, #48] 87 .LBE47: 88 .LBE46: 106:Core/Src/rx.c **** static int32_t phase_accu; 89 .loc 1 106 0 90 002e 0893 str r3, [sp, #32] 91 0030 1392 str r2, [sp, #76] 92 0032 9B46 mov fp, r3 93 0034 06E0 b .L5 94 .L20: 95 0036 00BF .align 2 96 .L19: 97 0038 00000000 .word .LANCHOR0 98 003c 000C0240 .word 1073875968 99 .LVL5: 100 .L18: 101 0040 C74B ldr r3, .L21 102 0042 1C68 ldr r4, [r3] 103 .LVL6: ARM GAS /tmp/ccaPmNum.s page 18 104 .L5: 118:Core/Src/rx.c **** // in 12 + 1 bit 119:Core/Src/rx.c **** scaled_in = (int32_t)in[i]-4096; 120:Core/Src/rx.c **** // printf("%d\n", scaled_in); 121:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 122:Core/Src/rx.c **** phase_accu += nco_freq; 105 .loc 1 122 0 106 0044 DDF88038 ldr r3, [sp, #2176] 119:Core/Src/rx.c **** // printf("%d\n", scaled_in); 107 .loc 1 119 0 108 0048 0698 ldr r0, [sp, #24] 123:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 124:Core/Src/rx.c **** sin = (int16_t)tmp; 125:Core/Src/rx.c **** cos = tmp>>16; 126:Core/Src/rx.c **** I_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)sin * scaled_in; 109 .loc 1 126 0 110 004a C64F ldr r7, .L21+4 119:Core/Src/rx.c **** // printf("%d\n", scaled_in); 111 .loc 1 119 0 112 004c 30F8022F ldrh r2, [r0, #2]! 127:Core/Src/rx.c **** Q_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)cos * scaled_in; 113 .loc 1 127 0 114 0050 C54E ldr r6, .L21+8 122:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 115 .loc 1 122 0 116 0052 1C44 add r4, r4, r3 117 .LBB49: 118 .LBB48: 119 .loc 2 746 0 120 0054 0C9B ldr r3, [sp, #48] 121 0056 9968 ldr r1, [r3, #8] 122 .LBE48: 123 .LBE49: 119:Core/Src/rx.c **** // printf("%d\n", scaled_in); 124 .loc 1 119 0 125 0058 0690 str r0, [sp, #24] 122:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 126 .loc 1 122 0 127 005a C148 ldr r0, .L21 128 005c 0460 str r4, [r0] 129 .LBB50: 130 .LBB51: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 131 .loc 2 735 0 132 005e 5C60 str r4, [r3, #4] 133 .LBE51: 134 .LBE50: 126:Core/Src/rx.c **** Q_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)cos * scaled_in; 135 .loc 1 126 0 136 0060 C24B ldr r3, .L21+12 119:Core/Src/rx.c **** // printf("%d\n", scaled_in); 137 .loc 1 119 0 138 0062 A2F58052 sub r2, r2, #4096 139 .LVL7: 126:Core/Src/rx.c **** Q_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)cos * scaled_in; 140 .loc 1 126 0 141 0066 1B78 ldrb r3, [r3] @ zero_extendqisi2 ARM GAS /tmp/ccaPmNum.s page 19 124:Core/Src/rx.c **** cos = tmp>>16; 142 .loc 1 124 0 143 0068 08B2 sxth r0, r1 144 .LVL8: 125:Core/Src/rx.c **** I_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)sin * scaled_in; 145 .loc 1 125 0 146 006a 0914 asrs r1, r1, #16 147 .LVL9: 126:Core/Src/rx.c **** Q_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)cos * scaled_in; 148 .loc 1 126 0 149 006c 02FB00F0 mul r0, r2, r0 150 .LVL10: 128:Core/Src/rx.c **** 129:Core/Src/rx.c **** // MS HB FIR 130:Core/Src/rx.c **** if(i & 1) { 151 .loc 1 130 0 152 0070 1BF0010F tst fp, #1 127:Core/Src/rx.c **** 153 .loc 1 127 0 154 0074 02FB01F2 mul r2, r2, r1 155 .LVL11: 126:Core/Src/rx.c **** Q_mixed_rb[mixed_samples_ringbuffer_index] = (int32_t)cos * scaled_in; 156 .loc 1 126 0 157 0078 47F82300 str r0, [r7, r3, lsl #2] 127:Core/Src/rx.c **** 158 .loc 1 127 0 159 007c 46F82320 str r2, [r6, r3, lsl #2] 160 .loc 1 130 0 161 0080 00F06481 beq .L3 162 .LBB52: 163 .LBB53: 131:Core/Src/rx.c **** I_mixed_2m_rb[mixed_samples_2m_ringbuffer_index] = hb_fir15(I_mixed_rb, mix 132:Core/Src/rx.c **** Q_mixed_2m_rb[mixed_samples_2m_ringbuffer_index] = hb_fir15(Q_mixed_rb, mix 133:Core/Src/rx.c **** if(j & 1) { 134:Core/Src/rx.c **** I_tmp2[k] = hb_fir15(I_mixed_2m_rb, mixed_samples_2m_ringbuffer_ind 135:Core/Src/rx.c **** Q_tmp2[k] = hb_fir15(Q_mixed_2m_rb, mixed_samples_2m_ringbuffer_ind 136:Core/Src/rx.c **** k++; 137:Core/Src/rx.c **** } 138:Core/Src/rx.c **** ringbuf_increment(&mixed_samples_2m_ringbuffer_index, MIXED_SAMPLES_2M_RING 139:Core/Src/rx.c **** j++; 140:Core/Src/rx.c **** } 141:Core/Src/rx.c **** ringbuf_increment(&mixed_samples_ringbuffer_index, MIXED_SAMPLES_RINGBUFFER_SIZE_MA 142:Core/Src/rx.c **** i++; 143:Core/Src/rx.c **** } 144:Core/Src/rx.c **** 145:Core/Src/rx.c **** arm_fir_decimate_q31(&st2_filter_I_struct, I_tmp2, I_out, ST2_FILTER_BLOCK_SIZE); 146:Core/Src/rx.c **** arm_fir_decimate_q31(&st2_filter_Q_struct, Q_tmp2, Q_out, ST2_FILTER_BLOCK_SIZE); 147:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 148:Core/Src/rx.c **** } 149:Core/Src/rx.c **** 150:Core/Src/rx.c **** 151:Core/Src/rx.c **** // demodulatori 152:Core/Src/rx.c **** 153:Core/Src/rx.c **** void am_demodulator(q31_t *in_I, q31_t *in_Q, uint16_t size, q31_t *out){ 154:Core/Src/rx.c **** uint16_t i; 155:Core/Src/rx.c **** q31_t acc0, acc1; 156:Core/Src/rx.c **** i = 0; ARM GAS /tmp/ccaPmNum.s page 20 157:Core/Src/rx.c **** while(i < size){ 158:Core/Src/rx.c **** acc0 = (q31_t) (((q63_t) in_I[i] * in_I[i]) >> 33); 159:Core/Src/rx.c **** acc1 = (q31_t) (((q63_t) in_Q[i] * in_Q[i]) >> 33); 160:Core/Src/rx.c **** out[i] = acc0 + acc1; 161:Core/Src/rx.c **** i++; 162:Core/Src/rx.c **** } 163:Core/Src/rx.c **** } 164:Core/Src/rx.c **** 165:Core/Src/rx.c **** void ssb_demodulator(q31_t *in_I, q31_t *in_Q, uint16_t size, q31_t *out, q31_t nco_freq){ 166:Core/Src/rx.c **** uint16_t i; 167:Core/Src/rx.c **** static int32_t phase_accu; 168:Core/Src/rx.c **** int32_t sin, cos, tmp, I, Q; 169:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 170:Core/Src/rx.c **** i = 0; 171:Core/Src/rx.c **** 172:Core/Src/rx.c **** while(i < size){ 173:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 174:Core/Src/rx.c **** phase_accu += nco_freq; 175:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 176:Core/Src/rx.c **** sin = (int16_t)tmp; 177:Core/Src/rx.c **** cos = tmp>>16; 178:Core/Src/rx.c **** I = sat_mult_q31(sin*(volume*32), in_I[i]); 179:Core/Src/rx.c **** Q = sat_mult_q31(cos*(volume*32), in_Q[i]); 180:Core/Src/rx.c **** if (modulation == MOD_USB) out[i] = (I + Q); 181:Core/Src/rx.c **** else { 182:Core/Src/rx.c **** out[i] = (I - Q); 183:Core/Src/rx.c **** } 184:Core/Src/rx.c **** i++; 185:Core/Src/rx.c **** } 186:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 187:Core/Src/rx.c **** } 188:Core/Src/rx.c **** 189:Core/Src/rx.c **** void dc_demodulator(q31_t *in, uint16_t size, q31_t *out){ 190:Core/Src/rx.c **** uint16_t i; 191:Core/Src/rx.c **** i = 0; 192:Core/Src/rx.c **** while(i < LF_BUFFER_SIZE){ 193:Core/Src/rx.c **** out[i] = ((in[i]*(int32_t)volume))/4096; 194:Core/Src/rx.c **** i++; 195:Core/Src/rx.c **** } 196:Core/Src/rx.c **** 197:Core/Src/rx.c **** } 198:Core/Src/rx.c **** 199:Core/Src/rx.c **** void nco(uint16_t size, q31_t *out, q31_t nco_freq){ 200:Core/Src/rx.c **** uint16_t i; 201:Core/Src/rx.c **** int32_t sin, cos, tmp; 202:Core/Src/rx.c **** static int32_t phase_accu; 203:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 204:Core/Src/rx.c **** i = 0; 205:Core/Src/rx.c **** while(i < size){ 206:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 207:Core/Src/rx.c **** phase_accu += nco_freq; 208:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 209:Core/Src/rx.c **** sin = (int16_t)tmp; 210:Core/Src/rx.c **** cos = tmp>>16; 211:Core/Src/rx.c **** out[i] = cos/volume; 212:Core/Src/rx.c **** i++; 213:Core/Src/rx.c **** } ARM GAS /tmp/ccaPmNum.s page 21 214:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 215:Core/Src/rx.c **** 216:Core/Src/rx.c **** } 217:Core/Src/rx.c **** 218:Core/Src/rx.c **** // filtri 219:Core/Src/rx.c **** 220:Core/Src/rx.c **** inline q31_t hb_fir15(q31_t * samples_ringbuf, uint8_t sample_index, uint8_t buff_size_mask, q31_t 221:Core/Src/rx.c **** q63_t sum0 = 0; 222:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 0) & buff_size_mask] * coefficients[0]; 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 14) & buff_size_mask] * coefficients[0]; 164 .loc 1 223 0 165 0084 A3F10E02 sub r2, r3, #14 166 0088 02F03F02 and r2, r2, #63 222:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 14) & buff_size_mask] * coefficients[0]; 167 .loc 1 222 0 168 008c 03F03F04 and r4, r3, #63 169 .loc 1 223 0 170 0090 57F82210 ldr r1, [r7, r2, lsl #2] 171 .LVL12: 172 .LBE53: 173 .LBE52: 174 .LBB82: 175 .LBB83: 176 0094 56F82200 ldr r0, [r6, r2, lsl #2] 177 .LBE83: 178 .LBE82: 179 .LBB110: 180 .LBB54: 222:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 14) & buff_size_mask] * coefficients[0]; 181 .loc 1 222 0 182 0098 B54A ldr r2, .L21+16 183 009a 1268 ldr r2, [r2] 184 009c 0292 str r2, [sp, #8] 185 .loc 1 223 0 186 009e 57F82420 ldr r2, [r7, r4, lsl #2] 187 .LBE54: 188 .LBE110: 189 .LBB111: 190 .LBB84: 191 00a2 56F82440 ldr r4, [r6, r4, lsl #2] 192 00a6 0E94 str r4, [sp, #56] 193 .LBE84: 194 .LBE111: 195 .LBB112: 196 .LBB55: 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 197 .loc 1 224 0 198 00a8 B14C ldr r4, .L21+16 199 00aa 2646 mov r6, r4 200 00ac A468 ldr r4, [r4, #8] 201 00ae 0094 str r4, [sp] 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 202 .loc 1 226 0 203 00b0 3469 ldr r4, [r6, #16] 204 00b2 0494 str r4, [sp, #16] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; ARM GAS /tmp/ccaPmNum.s page 22 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 230:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 205 .loc 1 230 0 206 00b4 D6E906E4 ldrd lr, r4, [r6, #24] 207 .LBE55: 208 .LBE112: 131:Core/Src/rx.c **** Q_mixed_2m_rb[mixed_samples_2m_ringbuffer_index] = hb_fir15(Q_mixed_rb, mix 209 .loc 1 131 0 210 00b8 AE4E ldr r6, .L21+20 211 .LBB113: 212 .LBB56: 213 .loc 1 230 0 214 00ba 0794 str r4, [sp, #28] 215 .LBE56: 216 .LBE113: 131:Core/Src/rx.c **** Q_mixed_2m_rb[mixed_samples_2m_ringbuffer_index] = hb_fir15(Q_mixed_rb, mix 217 .loc 1 131 0 218 00bc 96F800A0 ldrb r10, [r6] @ zero_extendqisi2 219 .LVL13: 220 .LBB114: 221 .LBB57: 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 222 .loc 1 223 0 223 00c0 029E ldr r6, [sp, #8] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 224 .loc 1 224 0 225 00c2 9D1E subs r5, r3, #2 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 226 .loc 1 223 0 227 00c4 86FB0189 smull r8, r9, r6, r1 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 228 .loc 1 224 0 229 00c8 05F03F05 and r5, r5, #63 230 .LBE57: 231 .LBE114: 232 .LBB115: 233 .LBB85: 234 00cc A64E ldr r6, .L21+8 235 .LBE85: 236 .LBE115: 237 .LBB116: 238 .LBB58: 239 00ce 57F82510 ldr r1, [r7, r5, lsl #2] 240 .LBE58: 241 .LBE116: 242 .LBB117: 243 .LBB86: 244 00d2 56F82550 ldr r5, [r6, r5, lsl #2] 245 00d6 0F95 str r5, [sp, #60] 246 .LBE86: 247 .LBE117: 248 .LBB118: 249 .LBB59: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 250 .loc 1 225 0 251 00d8 A3F10C04 sub r4, r3, #12 ARM GAS /tmp/ccaPmNum.s page 23 252 00dc 04F03F04 and r4, r4, #63 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 253 .loc 1 226 0 254 00e0 A3F1040C sub ip, r3, #4 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 255 .loc 1 225 0 256 00e4 57F82450 ldr r5, [r7, r4, lsl #2] 257 00e8 0A95 str r5, [sp, #40] 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 258 .loc 1 223 0 259 00ea 029D ldr r5, [sp, #8] 260 .LBE59: 261 .LBE118: 262 .LBB119: 263 .LBB87: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 264 .loc 1 225 0 265 00ec 56F82470 ldr r7, [r6, r4, lsl #2] 266 .LBE87: 267 .LBE119: 268 .LBB120: 269 .LBB60: 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 270 .loc 1 224 0 271 00f0 009E ldr r6, [sp] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 272 .loc 1 227 0 273 00f2 A3F10A04 sub r4, r3, #10 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 274 .loc 1 223 0 275 00f6 C5FB0289 smlal r8, r9, r5, r2 276 .LVL14: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 277 .loc 1 227 0 278 00fa 04F03F02 and r2, r4, #63 279 .LBE60: 280 .LBE120: 281 .LBB121: 282 .LBB88: 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 283 .loc 1 223 0 284 00fe 0E9C ldr r4, [sp, #56] 285 .LBE88: 286 .LBE121: 287 .LBB122: 288 .LBB61: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 289 .loc 1 227 0 290 0100 0D92 str r2, [sp, #52] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 291 .loc 1 224 0 292 0102 C6FB0189 smlal r8, r9, r6, r1 293 .LVL15: 294 .LBE61: 295 .LBE122: 296 .LBB123: 297 .LBB89: ARM GAS /tmp/ccaPmNum.s page 24 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 298 .loc 1 223 0 299 0106 85FB0001 smull r0, r1, r5, r0 300 .LBE89: 301 .LBE123: 302 .LBB124: 303 .LBB62: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 304 .loc 1 226 0 305 010a 0CF03F0C and ip, ip, #63 306 .LBE62: 307 .LBE124: 308 .LBB125: 309 .LBB90: 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 310 .loc 1 223 0 311 010e C5FB0401 smlal r0, r1, r5, r4 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 312 .loc 1 226 0 313 0112 954D ldr r5, .L21+8 314 .LBE90: 315 .LBE125: 316 .LBB126: 317 .LBB63: 318 0114 934E ldr r6, .L21+4 319 .LBE63: 320 .LBE126: 321 .LBB127: 322 .LBB91: 323 0116 55F82C40 ldr r4, [r5, ip, lsl #2] 324 011a 0E94 str r4, [sp, #56] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 325 .loc 1 224 0 326 011c 0F9C ldr r4, [sp, #60] 327 011e 009D ldr r5, [sp] 328 .LBE91: 329 .LBE127: 330 .LBB128: 331 .LBB64: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 332 .loc 1 226 0 333 0120 56F82C60 ldr r6, [r6, ip, lsl #2] 334 .LBE64: 335 .LBE128: 336 .LBB129: 337 .LBB92: 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 338 .loc 1 224 0 339 0124 A446 mov ip, r4 340 0126 C5FB0C01 smlal r0, r1, r5, ip 341 012a 2C46 mov r4, r5 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 342 .loc 1 225 0 343 012c C4FB0701 smlal r0, r1, r4, r7 344 .LBE92: 345 .LBE129: 346 .LBB130: ARM GAS /tmp/ccaPmNum.s page 25 347 .LBB65: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 348 .loc 1 228 0 349 0130 9A1F subs r2, r3, #6 350 0132 02F03F02 and r2, r2, #63 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 351 .loc 1 225 0 352 0136 0A9D ldr r5, [sp, #40] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 353 .loc 1 227 0 354 0138 8A4F ldr r7, .L21+4 355 .LBE65: 356 .LBE130: 357 .LBB131: 358 .LBB93: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 359 .loc 1 225 0 360 013a CDE90A01 strd r0, [sp, #40] 361 .LBE93: 362 .LBE131: 363 .LBB132: 364 .LBB66: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 365 .loc 1 227 0 366 013e 0D98 ldr r0, [sp, #52] 367 .LBE66: 368 .LBE132: 369 .LBB133: 370 .LBB94: 371 0140 8949 ldr r1, .L21+8 372 .LBE94: 373 .LBE133: 374 .LBB134: 375 .LBB67: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 376 .loc 1 229 0 377 0142 A3F1080C sub ip, r3, #8 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 378 .loc 1 225 0 379 0146 C5FB0489 smlal r8, r9, r5, r4 380 .LVL16: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 381 .loc 1 229 0 382 014a 0CF03F05 and r5, ip, #63 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 383 .loc 1 228 0 384 014e 3C46 mov r4, r7 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 385 .loc 1 227 0 386 0150 57F820C0 ldr ip, [r7, r0, lsl #2] 387 .LBE67: 388 .LBE134: 389 .LBB135: 390 .LBB95: 391 0154 51F82000 ldr r0, [r1, r0, lsl #2] 392 .LBE95: 393 .LBE135: ARM GAS /tmp/ccaPmNum.s page 26 394 .LBB136: 395 .LBB68: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 396 .loc 1 228 0 397 0158 57F82270 ldr r7, [r7, r2, lsl #2] 398 .LBE68: 399 .LBE136: 400 .LBB137: 401 .LBB96: 402 015c 51F82210 ldr r1, [r1, r2, lsl #2] 403 .LBE96: 404 .LBE137: 405 .LBB138: 406 .LBB69: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 407 .loc 1 226 0 408 0160 049A ldr r2, [sp, #16] 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 409 .loc 1 228 0 410 0162 0D97 str r7, [sp, #52] 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 411 .loc 1 226 0 412 0164 C2FB0689 smlal r8, r9, r2, r6 413 .LVL17: 414 .LBE69: 415 .LBE138: 416 .LBB139: 417 .LBB97: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 418 .loc 1 228 0 419 0168 1091 str r1, [sp, #64] 420 .LBE97: 421 .LBE139: 422 .LBB140: 423 .LBB70: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 424 .loc 1 226 0 425 016a 4646 mov r6, r8 426 016c 4F46 mov r7, r9 427 .LBE70: 428 .LBE140: 429 .LBB141: 430 .LBB98: 431 016e 0E99 ldr r1, [sp, #56] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 432 .loc 1 227 0 433 0170 0F90 str r0, [sp, #60] 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 434 .loc 1 226 0 435 0172 DDE90A89 ldrd r8, [sp, #40] 436 0176 0846 mov r0, r1 437 .LBE98: 438 .LBE141: 439 .LBB142: 440 .LBB71: 441 .loc 1 230 0 442 0178 073B subs r3, r3, #7 ARM GAS /tmp/ccaPmNum.s page 27 443 .LVL18: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 444 .loc 1 227 0 445 017a CCFB0267 smlal r6, r7, ip, r2 446 .LVL19: 447 .LBE71: 448 .LBE142: 449 .LBB143: 450 .LBB99: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 451 .loc 1 226 0 452 017e C2FB0089 smlal r8, r9, r2, r0 453 .LBE99: 454 .LBE143: 455 .LBB144: 456 .LBB72: 457 .loc 1 230 0 458 0182 03F03F03 and r3, r3, #63 459 .LVL20: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 460 .loc 1 227 0 461 0186 1046 mov r0, r2 462 .LBE72: 463 .LBE144: 464 .LBB145: 465 .LBB100: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 466 .loc 1 229 0 467 0188 774A ldr r2, .L21+8 468 .LBE100: 469 .LBE145: 470 .LBB146: 471 .LBB73: 472 018a 54F825C0 ldr ip, [r4, r5, lsl #2] 473 .loc 1 230 0 474 018e 54F82340 ldr r4, [r4, r3, lsl #2] 475 .LBE73: 476 .LBE146: 477 .LBB147: 478 .LBB101: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 479 .loc 1 226 0 480 0192 CDE90489 strd r8, [sp, #16] 481 .LBE101: 482 .LBE147: 483 .LBB148: 484 .LBB74: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 485 .loc 1 227 0 486 0196 B946 mov r9, r7 487 .LBE74: 488 .LBE148: 489 .LBB149: 490 .LBB102: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 491 .loc 1 229 0 492 0198 52F82570 ldr r7, [r2, r5, lsl #2] ARM GAS /tmp/ccaPmNum.s page 28 493 .loc 1 230 0 494 019c 52F82350 ldr r5, [r2, r3, lsl #2] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 495 .loc 1 227 0 496 01a0 DDE90412 ldrd r1, [sp, #16] 497 01a4 0346 mov r3, r0 498 01a6 0490 str r0, [sp, #16] 499 01a8 0F98 ldr r0, [sp, #60] 500 01aa C3FB0012 smlal r1, r2, r3, r0 501 .LBE102: 502 .LBE149: 503 .LBB150: 504 .LBB75: 505 01ae B046 mov r8, r6 506 .LVL21: 507 .LBE75: 508 .LBE150: 509 .LBB151: 510 .LBB103: 511 01b0 1346 mov r3, r2 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 512 .loc 1 228 0 513 01b2 109E ldr r6, [sp, #64] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 514 .loc 1 227 0 515 01b4 0A46 mov r2, r1 516 .LBE103: 517 .LBE151: 518 .LBB152: 519 .LBB76: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 520 .loc 1 228 0 521 01b6 0D99 ldr r1, [sp, #52] 522 .LBE76: 523 .LBE152: 524 .LBB153: 525 .LBB104: 526 01b8 CEFB0623 smlal r2, r3, lr, r6 527 .LBE104: 528 .LBE153: 529 .LBB154: 530 .LBB77: 531 01bc CEFB0189 smlal r8, r9, lr, r1 532 .LVL22: 533 .LBE77: 534 .LBE154: 535 .LBB155: 536 .LBB105: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 537 .loc 1 229 0 538 01c0 CEFB0723 smlal r2, r3, lr, r7 539 .LBE105: 540 .LBE155: 541 .LBB156: 542 .LBB78: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 543 .loc 1 228 0 ARM GAS /tmp/ccaPmNum.s page 29 544 01c4 4046 mov r0, r8 545 .loc 1 230 0 546 01c6 079F ldr r7, [sp, #28] 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 547 .loc 1 228 0 548 01c8 4946 mov r1, r9 549 .LVL23: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 550 .loc 1 229 0 551 01ca CCFB0E01 smlal r0, r1, ip, lr 552 .LVL24: 553 .loc 1 230 0 554 01ce C7FB0401 smlal r0, r1, r7, r4 555 .LBE78: 556 .LBE156: 557 .LBB157: 558 .LBB106: 559 01d2 C7FB0523 smlal r2, r3, r7, r5 231:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 560 .loc 1 231 0 561 01d6 D20F lsrs r2, r2, #31 562 .LBE106: 563 .LBE157: 564 .LBB158: 565 .LBB79: 566 01d8 C50F lsrs r5, r0, #31 567 01da 45EA4105 orr r5, r5, r1, lsl #1 568 .LBE79: 569 .LBE158: 570 .LBB159: 571 .LBB107: 572 01de 42EA4302 orr r2, r2, r3, lsl #1 573 .LBE107: 574 .LBE159: 133:Core/Src/rx.c **** I_tmp2[k] = hb_fir15(I_mixed_2m_rb, mixed_samples_2m_ringbuffer_ind 575 .loc 1 133 0 576 01e2 0899 ldr r1, [sp, #32] 577 .LBB160: 578 .LBB80: 579 .loc 1 231 0 580 01e4 644B ldr r3, .L21+24 581 .LBE80: 582 .LBE160: 583 .LBB161: 584 .LBB108: 585 01e6 6548 ldr r0, .L21+28 586 .LBE108: 587 .LBE161: 588 .LBB162: 589 .LBB81: 590 01e8 43F82A50 str r5, [r3, r10, lsl #2] 591 .LBE81: 592 .LBE162: 133:Core/Src/rx.c **** I_tmp2[k] = hb_fir15(I_mixed_2m_rb, mixed_samples_2m_ringbuffer_ind 593 .loc 1 133 0 594 01ec CB07 lsls r3, r1, #31 595 .LBB163: ARM GAS /tmp/ccaPmNum.s page 30 596 .LBB109: 597 .loc 1 231 0 598 01ee 40F82A20 str r2, [r0, r10, lsl #2] 599 .LBE109: 600 .LBE163: 133:Core/Src/rx.c **** I_tmp2[k] = hb_fir15(I_mixed_2m_rb, mixed_samples_2m_ringbuffer_ind 601 .loc 1 133 0 602 01f2 40F1A380 bpl .L4 603 .LVL25: 604 .LBB164: 605 .LBB165: 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 606 .loc 1 223 0 607 01f6 AAF10E02 sub r2, r10, #14 222:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 14) & buff_size_mask] * coefficients[0]; 608 .loc 1 222 0 609 01fa 0AF01F03 and r3, r10, #31 610 .LVL26: 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 611 .loc 1 223 0 612 01fe 5E49 ldr r1, .L21+24 613 .LBE165: 614 .LBE164: 615 .LBB187: 616 .LBB188: 617 0200 50F823C0 ldr ip, [r0, r3, lsl #2] 618 .LBE188: 619 .LBE187: 620 .LBB210: 621 .LBB166: 622 0204 51F82340 ldr r4, [r1, r3, lsl #2] 623 0208 02F01F02 and r2, r2, #31 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 624 .loc 1 224 0 625 020c AAF10205 sub r5, r10, #2 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 626 .loc 1 223 0 627 0210 51F82270 ldr r7, [r1, r2, lsl #2] 628 .LBE166: 629 .LBE210: 630 .LBB211: 631 .LBB189: 632 0214 50F82220 ldr r2, [r0, r2, lsl #2] 633 .LBE189: 634 .LBE211: 635 .LBB212: 636 .LBB167: 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 637 .loc 1 224 0 638 0218 5749 ldr r1, .L21+24 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 639 .loc 1 223 0 640 021a 0298 ldr r0, [sp, #8] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 641 .loc 1 224 0 642 021c 05F01F05 and r5, r5, #31 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; ARM GAS /tmp/ccaPmNum.s page 31 643 .loc 1 223 0 644 0220 80FB0789 smull r8, r9, r0, r7 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 645 .loc 1 224 0 646 0224 51F82570 ldr r7, [r1, r5, lsl #2] 647 .LBE167: 648 .LBE212: 649 .LBB213: 650 .LBB190: 651 0228 5449 ldr r1, .L21+28 652 .LBE190: 653 .LBE213: 654 .LBB214: 655 .LBB168: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 656 .loc 1 225 0 657 022a AAF10C03 sub r3, r10, #12 658 .LBE168: 659 .LBE214: 660 .LBB215: 661 .LBB191: 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 662 .loc 1 224 0 663 022e 51F82510 ldr r1, [r1, r5, lsl #2] 664 0232 0D91 str r1, [sp, #52] 665 .LBE191: 666 .LBE215: 667 .LBB216: 668 .LBB169: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 669 .loc 1 225 0 670 0234 03F01F03 and r3, r3, #31 671 0238 4F49 ldr r1, .L21+24 672 023a 51F82310 ldr r1, [r1, r3, lsl #2] 673 023e 0A91 str r1, [sp, #40] 674 .LBE169: 675 .LBE216: 676 .LBB217: 677 .LBB192: 678 0240 4E49 ldr r1, .L21+28 679 0242 51F82350 ldr r5, [r1, r3, lsl #2] 680 0246 0E95 str r5, [sp, #56] 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 681 .loc 1 223 0 682 0248 80FB0223 smull r2, r3, r0, r2 683 024c CCFB0023 smlal r2, r3, ip, r0 684 .LBE192: 685 .LBE217: 686 .LBB218: 687 .LBB170: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 688 .loc 1 226 0 689 0250 AAF10406 sub r6, r10, #4 690 .LBE170: 691 .LBE218: 692 .LBB219: 693 .LBB193: ARM GAS /tmp/ccaPmNum.s page 32 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 694 .loc 1 223 0 695 0254 CDE90223 strd r2, [sp, #8] 696 .LBE193: 697 .LBE219: 698 .LBB220: 699 .LBB171: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 700 .loc 1 226 0 701 0258 06F01F06 and r6, r6, #31 702 .LBE171: 703 .LBE220: 704 .LBB221: 705 .LBB194: 706 025c 474A ldr r2, .L21+28 707 .LBE194: 708 .LBE221: 709 .LBB222: 710 .LBB172: 711 025e 464B ldr r3, .L21+24 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 712 .loc 1 227 0 713 0260 AAF10A05 sub r5, r10, #10 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 714 .loc 1 226 0 715 0264 53F82630 ldr r3, [r3, r6, lsl #2] 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 716 .loc 1 223 0 717 0268 C4FB0089 smlal r8, r9, r4, r0 718 .LVL27: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 719 .loc 1 227 0 720 026c 05F01F05 and r5, r5, #31 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 721 .loc 1 224 0 722 0270 0098 ldr r0, [sp] 723 .LBE172: 724 .LBE222: 725 .LBB223: 726 .LBB195: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 727 .loc 1 226 0 728 0272 52F82640 ldr r4, [r2, r6, lsl #2] 729 .LBE195: 730 .LBE223: 731 .LBB224: 732 .LBB173: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 733 .loc 1 227 0 734 0276 404E ldr r6, .L21+24 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 735 .loc 1 224 0 736 0278 C7FB0089 smlal r8, r9, r7, r0 737 .LVL28: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 738 .loc 1 227 0 739 027c 56F825C0 ldr ip, [r6, r5, lsl #2] ARM GAS /tmp/ccaPmNum.s page 33 740 .LBE173: 741 .LBE224: 742 .LBB225: 743 .LBB196: 744 0280 52F82550 ldr r5, [r2, r5, lsl #2] 745 .LBE196: 746 .LBE225: 747 .LBB226: 748 .LBB174: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 749 .loc 1 225 0 750 0284 0A9A ldr r2, [sp, #40] 751 .LBE174: 752 .LBE226: 753 .LBB227: 754 .LBB197: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 755 .loc 1 227 0 756 0286 0F95 str r5, [sp, #60] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 757 .loc 1 224 0 758 0288 DDE90267 ldrd r6, [sp, #8] 759 .LVL29: 760 028c 0D9D ldr r5, [sp, #52] 761 .LBE197: 762 .LBE227: 763 .LBB228: 764 .LBB175: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 765 .loc 1 225 0 766 028e C2FB0089 smlal r8, r9, r2, r0 767 .LBE175: 768 .LBE228: 769 .LBB229: 770 .LBB198: 771 0292 0E9A ldr r2, [sp, #56] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 772 .loc 1 224 0 773 0294 C5FB0067 smlal r6, r7, r5, r0 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 774 .loc 1 225 0 775 0298 C2FB0067 smlal r6, r7, r2, r0 776 .LBE198: 777 .LBE229: 778 .LBB230: 779 .LBB176: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 780 .loc 1 226 0 781 029c 0498 ldr r0, [sp, #16] 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 782 .loc 1 229 0 783 029e 364A ldr r2, .L21+24 784 .LVL30: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 785 .loc 1 228 0 786 02a0 AAF10601 sub r1, r10, #6 787 .LVL31: ARM GAS /tmp/ccaPmNum.s page 34 788 02a4 01F01F01 and r1, r1, #31 789 .LVL32: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 790 .loc 1 226 0 791 02a8 C3FB0089 smlal r8, r9, r3, r0 792 .LVL33: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 793 .loc 1 228 0 794 02ac 324B ldr r3, .L21+24 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 795 .loc 1 229 0 796 02ae AAF10805 sub r5, r10, #8 797 .LBE176: 798 .LBE230: 799 .LBB231: 800 .LBB199: 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 801 .loc 1 225 0 802 02b2 CDE90067 strd r6, [sp] 803 .LVL34: 804 .LBE199: 805 .LBE231: 806 .LBB232: 807 .LBB177: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 808 .loc 1 229 0 809 02b6 05F01F05 and r5, r5, #31 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 810 .loc 1 228 0 811 02ba 53F82160 ldr r6, [r3, r1, lsl #2] 812 .LBE177: 813 .LBE232: 814 .LBB233: 815 .LBB200: 816 02be 2F4B ldr r3, .L21+28 817 02c0 53F82170 ldr r7, [r3, r1, lsl #2] 818 .LVL35: 819 .LBE200: 820 .LBE233: 821 .LBB234: 822 .LBB178: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 823 .loc 1 229 0 824 02c4 52F82510 ldr r1, [r2, r5, lsl #2] 825 02c8 0291 str r1, [sp, #8] 826 .LBE178: 827 .LBE234: 828 .LBB235: 829 .LBB201: 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 830 .loc 1 226 0 831 02ca DDE90012 ldrd r1, [sp] 832 02ce C4FB0012 smlal r1, r2, r4, r0 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 833 .loc 1 229 0 834 02d2 53F82550 ldr r5, [r3, r5, lsl #2] 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; ARM GAS /tmp/ccaPmNum.s page 35 835 .loc 1 226 0 836 02d6 1346 mov r3, r2 837 02d8 0A46 mov r2, r1 838 .LVL36: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 839 .loc 1 227 0 840 02da 0F99 ldr r1, [sp, #60] 841 .LBE201: 842 .LBE235: 843 .LBB236: 844 .LBB179: 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 845 .loc 1 230 0 846 02dc AAF1070A sub r10, r10, #7 847 .LVL37: 848 .LBE179: 849 .LBE236: 850 .LBB237: 851 .LBB202: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 852 .loc 1 227 0 853 02e0 C1FB0023 smlal r2, r3, r1, r0 854 .LBE202: 855 .LBE237: 856 .LBB238: 857 .LBB180: 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 858 .loc 1 230 0 859 02e4 0AF01F0A and r10, r10, #31 860 .LVL38: 861 02e8 2349 ldr r1, .L21+24 862 02ea 51F82A40 ldr r4, [r1, r10, lsl #2] 863 .LBE180: 864 .LBE238: 865 .LBB239: 866 .LBB203: 867 02ee 2349 ldr r1, .L21+28 868 .LBE203: 869 .LBE239: 870 .LBB240: 871 .LBB181: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 872 .loc 1 227 0 873 02f0 CCFB0089 smlal r8, r9, ip, r0 874 .LVL39: 875 .LBE181: 876 .LBE240: 877 .LBB241: 878 .LBB204: 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 879 .loc 1 230 0 880 02f4 51F82A00 ldr r0, [r1, r10, lsl #2] 881 .LBE204: 882 .LBE241: 883 .LBB242: 884 .LBB182: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; ARM GAS /tmp/ccaPmNum.s page 36 885 .loc 1 229 0 886 02f8 0299 ldr r1, [sp, #8] 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 887 .loc 1 228 0 888 02fa C6FB0E89 smlal r8, r9, r6, lr 889 .LVL40: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 890 .loc 1 229 0 891 02fe C1FB0E89 smlal r8, r9, r1, lr 892 .LVL41: 893 .LBE182: 894 .LBE242: 895 .LBB243: 896 .LBB205: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 897 .loc 1 228 0 898 0302 C7FB0E23 smlal r2, r3, r7, lr 899 .LBE205: 900 .LBE243: 901 .LBB244: 902 .LBB183: 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 903 .loc 1 230 0 904 0306 0799 ldr r1, [sp, #28] 905 .LBE183: 906 .LBE244: 907 .LBB245: 908 .LBB206: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 909 .loc 1 229 0 910 0308 C5FB0E23 smlal r2, r3, r5, lr 911 .LBE206: 912 .LBE245: 913 .LBB246: 914 .LBB184: 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 915 .loc 1 230 0 916 030c C4FB0189 smlal r8, r9, r4, r1 917 .LBE184: 918 .LBE246: 919 .LBB247: 920 .LBB207: 921 0310 1C46 mov r4, r3 922 0312 1346 mov r3, r2 923 0314 C0FB0134 smlal r3, r4, r0, r1 924 .loc 1 231 0 925 0318 DA0F lsrs r2, r3, #31 926 031a 42EA4402 orr r2, r2, r4, lsl #1 927 .LBE207: 928 .LBE247: 929 .LBB248: 930 .LBB185: 931 031e 129C ldr r4, [sp, #72] 932 .LBE185: 933 .LBE248: 136:Core/Src/rx.c **** } 934 .loc 1 136 0 ARM GAS /tmp/ccaPmNum.s page 37 935 0320 1198 ldr r0, [sp, #68] 936 .LBB249: 937 .LBB186: 938 .loc 1 231 0 939 0322 4FEAD871 lsr r1, r8, #31 940 0326 2546 mov r5, r4 941 0328 41EA4901 orr r1, r1, r9, lsl #1 942 032c 45F82010 str r1, [r5, r0, lsl #2] 943 .LBE186: 944 .LBE249: 945 .LBB250: 946 .LBB208: 947 0330 1399 ldr r1, [sp, #76] 948 .LBE208: 949 .LBE250: 136:Core/Src/rx.c **** } 950 .loc 1 136 0 951 0332 431C adds r3, r0, #1 952 0334 9BB2 uxth r3, r3 953 .LBB251: 954 .LBB209: 955 .loc 1 231 0 956 0336 41F82020 str r2, [r1, r0, lsl #2] 957 .LBE209: 958 .LBE251: 136:Core/Src/rx.c **** } 959 .loc 1 136 0 960 033a 1193 str r3, [sp, #68] 961 .LVL42: 962 .L4: 138:Core/Src/rx.c **** j++; 963 .loc 1 138 0 964 033c 1F21 movs r1, #31 965 033e 0D48 ldr r0, .L21+20 966 0340 FFF7FEFF bl ringbuf_increment 967 .LVL43: 139:Core/Src/rx.c **** } 968 .loc 1 139 0 969 0344 089B ldr r3, [sp, #32] 970 0346 0133 adds r3, r3, #1 971 0348 9BB2 uxth r3, r3 972 034a 0893 str r3, [sp, #32] 973 .LVL44: 974 .L3: 141:Core/Src/rx.c **** i++; 975 .loc 1 141 0 976 034c 3F21 movs r1, #63 977 034e 0748 ldr r0, .L21+12 978 0350 FFF7FEFF bl ringbuf_increment 979 .LVL45: 142:Core/Src/rx.c **** } 980 .loc 1 142 0 981 0354 0BF10103 add r3, fp, #1 982 0358 1FFA83FB uxth fp, r3 983 035c 10E0 b .L22 984 .L23: 985 035e 00BF .align 2 ARM GAS /tmp/ccaPmNum.s page 38 986 .L21: 987 0360 00000000 .word .LANCHOR0 988 0364 00000000 .word .LANCHOR2 989 0368 00000000 .word .LANCHOR3 990 036c 00000000 .word .LANCHOR1 991 0370 00000000 .word .LANCHOR5 992 0374 00000000 .word .LANCHOR4 993 0378 00000000 .word .LANCHOR6 994 037c 00000000 .word .LANCHOR7 995 .L22: 996 .LVL46: 117:Core/Src/rx.c **** // in 12 + 1 bit 997 .loc 1 117 0 998 0380 099B ldr r3, [sp, #36] 999 0382 5B45 cmp r3, fp 1000 0384 7FF45CAE bne .L18 1001 .LVL47: 1002 .L2: 145:Core/Src/rx.c **** arm_fir_decimate_q31(&st2_filter_Q_struct, Q_tmp2, Q_out, ST2_FILTER_BLOCK_SIZE); 1003 .loc 1 145 0 1004 0388 149A ldr r2, [sp, #80] 1005 038a 1299 ldr r1, [sp, #72] 1006 038c 0B48 ldr r0, .L24 1007 038e 4FF48073 mov r3, #256 1008 0392 FFF7FEFF bl arm_fir_decimate_q31 1009 .LVL48: 146:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1010 .loc 1 146 0 1011 0396 159A ldr r2, [sp, #84] 1012 0398 1399 ldr r1, [sp, #76] 1013 039a 0948 ldr r0, .L24+4 1014 039c 4FF48073 mov r3, #256 1015 03a0 FFF7FEFF bl arm_fir_decimate_q31 1016 .LVL49: 1017 .LBB252: 1018 .LBB253: 1019 .loc 2 746 0 1020 03a4 074B ldr r3, .L24+8 1021 03a6 9B68 ldr r3, [r3, #8] 1022 .LVL50: 1023 .LBE253: 1024 .LBE252: 148:Core/Src/rx.c **** 1025 .loc 1 148 0 1026 03a8 0DF65C0D addw sp, sp, #2140 1027 .LCFI2: 1028 .cfi_remember_state 1029 .cfi_def_cfa_offset 36 1030 @ sp needed 1031 03ac BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1032 .LVL51: 1033 .L17: 1034 .LCFI3: 1035 .cfi_restore_state 1036 03b0 16AB add r3, sp, #88 1037 .LVL52: 1038 03b2 1293 str r3, [sp, #72] ARM GAS /tmp/ccaPmNum.s page 39 1039 03b4 0DF58B63 add r3, sp, #1112 1040 03b8 1393 str r3, [sp, #76] 1041 03ba E5E7 b .L2 1042 .L25: 1043 .align 2 1044 .L24: 1045 03bc 00000000 .word st2_filter_I_struct 1046 03c0 00000000 .word st2_filter_Q_struct 1047 03c4 000C0240 .word 1073875968 1048 .cfi_endproc 1049 .LFE404: 1051 .section .text.am_demodulator,"ax",%progbits 1052 .align 1 1053 .p2align 2,,3 1054 .global am_demodulator 1055 .syntax unified 1056 .thumb 1057 .thumb_func 1058 .fpu fpv4-sp-d16 1060 am_demodulator: 1061 .LFB405: 153:Core/Src/rx.c **** uint16_t i; 1062 .loc 1 153 0 1063 .cfi_startproc 1064 @ args = 0, pretend = 0, frame = 0 1065 @ frame_needed = 0, uses_anonymous_args = 0 1066 @ link register save eliminated. 1067 .LVL53: 157:Core/Src/rx.c **** acc0 = (q31_t) (((q63_t) in_I[i] * in_I[i]) >> 33); 1068 .loc 1 157 0 1069 0000 C2B1 cbz r2, .L34 153:Core/Src/rx.c **** uint16_t i; 1070 .loc 1 153 0 1071 0002 F0B4 push {r4, r5, r6, r7} 1072 .LCFI4: 1073 .cfi_def_cfa_offset 16 1074 .cfi_offset 4, -16 1075 .cfi_offset 5, -12 1076 .cfi_offset 6, -8 1077 .cfi_offset 7, -4 1078 0004 571E subs r7, r2, #1 1079 0006 BFB2 uxth r7, r7 1080 0008 00EB8707 add r7, r0, r7, lsl #2 1081 000c 0439 subs r1, r1, #4 1082 .LVL54: 1083 000e 0438 subs r0, r0, #4 1084 .LVL55: 1085 0010 1E1F subs r6, r3, #4 1086 .LVL56: 1087 .L28: 159:Core/Src/rx.c **** out[i] = acc0 + acc1; 1088 .loc 1 159 0 1089 0012 51F8044F ldr r4, [r1, #4]! 158:Core/Src/rx.c **** acc1 = (q31_t) (((q63_t) in_Q[i] * in_Q[i]) >> 33); 1090 .loc 1 158 0 1091 0016 50F8042F ldr r2, [r0, #4]! 1092 .LVL57: ARM GAS /tmp/ccaPmNum.s page 40 159:Core/Src/rx.c **** out[i] = acc0 + acc1; 1093 .loc 1 159 0 1094 001a 84FB0445 smull r4, r5, r4, r4 1095 .LVL58: 1096 001e 6C10 asrs r4, r5, #1 158:Core/Src/rx.c **** acc1 = (q31_t) (((q63_t) in_Q[i] * in_Q[i]) >> 33); 1097 .loc 1 158 0 1098 0020 82FB0223 smull r2, r3, r2, r2 1099 .LVL59: 160:Core/Src/rx.c **** i++; 1100 .loc 1 160 0 1101 0024 04EB6304 add r4, r4, r3, asr #1 157:Core/Src/rx.c **** acc0 = (q31_t) (((q63_t) in_I[i] * in_I[i]) >> 33); 1102 .loc 1 157 0 1103 0028 8742 cmp r7, r0 160:Core/Src/rx.c **** i++; 1104 .loc 1 160 0 1105 002a 46F8044F str r4, [r6, #4]! 1106 .LVL60: 157:Core/Src/rx.c **** acc0 = (q31_t) (((q63_t) in_I[i] * in_I[i]) >> 33); 1107 .loc 1 157 0 1108 002e F0D1 bne .L28 163:Core/Src/rx.c **** 1109 .loc 1 163 0 1110 0030 F0BC pop {r4, r5, r6, r7} 1111 .LCFI5: 1112 .cfi_restore 7 1113 .cfi_restore 6 1114 .cfi_restore 5 1115 .cfi_restore 4 1116 .cfi_def_cfa_offset 0 1117 0032 7047 bx lr 1118 .LVL61: 1119 .L34: 1120 0034 7047 bx lr 1121 .cfi_endproc 1122 .LFE405: 1124 0036 00BF .section .text.ssb_demodulator,"ax",%progbits 1125 .align 1 1126 .p2align 2,,3 1127 .global ssb_demodulator 1128 .syntax unified 1129 .thumb 1130 .thumb_func 1131 .fpu fpv4-sp-d16 1133 ssb_demodulator: 1134 .LFB406: 165:Core/Src/rx.c **** uint16_t i; 1135 .loc 1 165 0 1136 .cfi_startproc 1137 @ args = 4, pretend = 0, frame = 8 1138 @ frame_needed = 0, uses_anonymous_args = 0 1139 .LVL62: 1140 0000 2DE9F04F push {r4, r5, r6, r7, r8, r9, r10, fp, lr} 1141 .LCFI6: 1142 .cfi_def_cfa_offset 36 1143 .cfi_offset 4, -36 ARM GAS /tmp/ccaPmNum.s page 41 1144 .cfi_offset 5, -32 1145 .cfi_offset 6, -28 1146 .cfi_offset 7, -24 1147 .cfi_offset 8, -20 1148 .cfi_offset 9, -16 1149 .cfi_offset 10, -12 1150 .cfi_offset 11, -8 1151 .cfi_offset 14, -4 169:Core/Src/rx.c **** i = 0; 1152 .loc 1 169 0 1153 0004 DFF898B0 ldr fp, .L47+8 1154 .LBB254: 1155 .LBB255: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 1156 .loc 2 735 0 1157 0008 234F ldr r7, .L47 1158 .LBE255: 1159 .LBE254: 169:Core/Src/rx.c **** i = 0; 1160 .loc 1 169 0 1161 000a DBF80040 ldr r4, [fp] 1162 .LVL63: 1163 .LBB257: 1164 .LBB256: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 1165 .loc 2 735 0 1166 000e 7C60 str r4, [r7, #4] 1167 .LVL64: 1168 .LBE256: 1169 .LBE257: 165:Core/Src/rx.c **** uint16_t i; 1170 .loc 1 165 0 1171 0010 83B0 sub sp, sp, #12 1172 .LCFI7: 1173 .cfi_def_cfa_offset 48 172:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1174 .loc 1 172 0 1175 0012 002A cmp r2, #0 1176 0014 3BD0 beq .L38 1177 0016 02F1FF3A add r10, r2, #-1 1178 001a 1E46 mov r6, r3 1179 001c 1FFA8AF3 uxth r3, r10 1180 .LVL65: 1181 0020 00EB8303 add r3, r0, r3, lsl #2 1182 0024 DFF87CA0 ldr r10, .L47+12 1183 0028 1C4A ldr r2, .L47+4 1184 .LVL66: 1185 002a 0193 str r3, [sp, #4] 1186 002c 051F subs r5, r0, #4 1187 002e A1F10408 sub r8, r1, #4 1188 .LBB258: 1189 .LBB259: 1190 .loc 2 746 0 1191 0032 B946 mov r9, r7 1192 0034 01E0 b .L41 1193 .LVL67: 1194 .L46: ARM GAS /tmp/ccaPmNum.s page 42 1195 0036 DBF80040 ldr r4, [fp] 1196 .LVL68: 1197 .L41: 1198 .LBE259: 1199 .LBE258: 174:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 1200 .loc 1 174 0 1201 003a 0C9B ldr r3, [sp, #48] 1202 003c 0092 str r2, [sp] 1203 003e 1919 adds r1, r3, r4 1204 .LBB261: 1205 .LBB260: 1206 .loc 2 746 0 1207 0040 D9F80840 ldr r4, [r9, #8] 1208 .LVL69: 1209 .LBE260: 1210 .LBE261: 174:Core/Src/rx.c **** LL_CORDIC_WriteData(CORDIC, phase_accu); 1211 .loc 1 174 0 1212 0044 CBF80010 str r1, [fp] 1213 .LVL70: 1214 .LBB262: 1215 .LBB263: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 1216 .loc 2 735 0 1217 0048 C9F80410 str r1, [r9, #4] 1218 .LVL71: 1219 .LBE263: 1220 .LBE262: 178:Core/Src/rx.c **** Q = sat_mult_q31(cos*(volume*32), in_Q[i]); 1221 .loc 1 178 0 1222 004c DAF80000 ldr r0, [r10] 1223 0050 55F8041F ldr r1, [r5, #4]! 176:Core/Src/rx.c **** cos = tmp>>16; 1224 .loc 1 176 0 1225 0054 27B2 sxth r7, r4 1226 .LVL72: 178:Core/Src/rx.c **** Q = sat_mult_q31(cos*(volume*32), in_Q[i]); 1227 .loc 1 178 0 1228 0056 4001 lsls r0, r0, #5 1229 0058 07FB00F0 mul r0, r7, r0 1230 005c FFF7FEFF bl sat_mult_q31 1231 .LVL73: 1232 0060 0746 mov r7, r0 1233 .LVL74: 179:Core/Src/rx.c **** if (modulation == MOD_USB) out[i] = (I + Q); 1234 .loc 1 179 0 1235 0062 DAF80000 ldr r0, [r10] 1236 .LVL75: 1237 0066 58F8041F ldr r1, [r8, #4]! 177:Core/Src/rx.c **** I = sat_mult_q31(sin*(volume*32), in_I[i]); 1238 .loc 1 177 0 1239 006a 2414 asrs r4, r4, #16 1240 .LVL76: 179:Core/Src/rx.c **** if (modulation == MOD_USB) out[i] = (I + Q); 1241 .loc 1 179 0 1242 006c 4001 lsls r0, r0, #5 ARM GAS /tmp/ccaPmNum.s page 43 1243 006e 04FB00F0 mul r0, r4, r0 1244 0072 FFF7FEFF bl sat_mult_q31 1245 .LVL77: 180:Core/Src/rx.c **** else { 1246 .loc 1 180 0 1247 0076 009A ldr r2, [sp] 172:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1248 .loc 1 172 0 1249 0078 019B ldr r3, [sp, #4] 180:Core/Src/rx.c **** else { 1250 .loc 1 180 0 1251 007a 1168 ldr r1, [r2] 1252 007c 0229 cmp r1, #2 1253 007e 0CBF ite eq 1254 0080 3F18 addeq r7, r7, r0 1255 .LVL78: 182:Core/Src/rx.c **** } 1256 .loc 1 182 0 1257 0082 3F1A subne r7, r7, r0 172:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1258 .loc 1 172 0 1259 0084 9D42 cmp r5, r3 182:Core/Src/rx.c **** } 1260 .loc 1 182 0 1261 0086 3760 str r7, [r6] 1262 0088 06F10406 add r6, r6, #4 172:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1263 .loc 1 172 0 1264 008c D3D1 bne .L46 1265 .LVL79: 1266 .L38: 1267 .LBB264: 1268 .LBB265: 1269 .loc 2 746 0 1270 008e 024B ldr r3, .L47 1271 0090 9B68 ldr r3, [r3, #8] 1272 .LVL80: 1273 .LBE265: 1274 .LBE264: 187:Core/Src/rx.c **** 1275 .loc 1 187 0 1276 0092 03B0 add sp, sp, #12 1277 .LCFI8: 1278 .cfi_def_cfa_offset 36 1279 @ sp needed 1280 0094 BDE8F08F pop {r4, r5, r6, r7, r8, r9, r10, fp, pc} 1281 .L48: 1282 .align 2 1283 .L47: 1284 0098 000C0240 .word 1073875968 1285 009c 00000000 .word modulation 1286 00a0 00000000 .word .LANCHOR8 1287 00a4 00000000 .word volume 1288 .cfi_endproc 1289 .LFE406: 1291 .section .text.dc_demodulator,"ax",%progbits 1292 .align 1 ARM GAS /tmp/ccaPmNum.s page 44 1293 .p2align 2,,3 1294 .global dc_demodulator 1295 .syntax unified 1296 .thumb 1297 .thumb_func 1298 .fpu fpv4-sp-d16 1300 dc_demodulator: 1301 .LFB407: 189:Core/Src/rx.c **** uint16_t i; 1302 .loc 1 189 0 1303 .cfi_startproc 1304 @ args = 0, pretend = 0, frame = 0 1305 @ frame_needed = 0, uses_anonymous_args = 0 1306 @ link register save eliminated. 1307 .LVL81: 1308 0000 30B4 push {r4, r5} 1309 .LCFI9: 1310 .cfi_def_cfa_offset 8 1311 .cfi_offset 4, -8 1312 .cfi_offset 5, -4 1313 0002 0A4D ldr r5, .L54 1314 0004 043A subs r2, r2, #4 1315 .LVL82: 1316 0006 011F subs r1, r0, #4 1317 .LVL83: 1318 0008 00F1FC04 add r4, r0, #252 1319 .LVL84: 1320 .L51: 193:Core/Src/rx.c **** i++; 1321 .loc 1 193 0 1322 000c 51F8040F ldr r0, [r1, #4]! 1323 0010 2B68 ldr r3, [r5] 1324 0012 03FB00F3 mul r3, r3, r0 1325 0016 002B cmp r3, #0 1326 0018 B8BF it lt 1327 001a 03F6FF73 addwlt r3, r3, #4095 1328 001e 0432 adds r2, r2, #4 1329 0020 1B13 asrs r3, r3, #12 192:Core/Src/rx.c **** out[i] = ((in[i]*(int32_t)volume))/4096; 1330 .loc 1 192 0 1331 0022 A142 cmp r1, r4 193:Core/Src/rx.c **** i++; 1332 .loc 1 193 0 1333 0024 1360 str r3, [r2] 192:Core/Src/rx.c **** out[i] = ((in[i]*(int32_t)volume))/4096; 1334 .loc 1 192 0 1335 0026 F1D1 bne .L51 197:Core/Src/rx.c **** 1336 .loc 1 197 0 1337 0028 30BC pop {r4, r5} 1338 .LCFI10: 1339 .cfi_restore 5 1340 .cfi_restore 4 1341 .cfi_def_cfa_offset 0 1342 .LVL85: 1343 002a 7047 bx lr 1344 .L55: ARM GAS /tmp/ccaPmNum.s page 45 1345 .align 2 1346 .L54: 1347 002c 00000000 .word volume 1348 .cfi_endproc 1349 .LFE407: 1351 .section .text.nco,"ax",%progbits 1352 .align 1 1353 .p2align 2,,3 1354 .global nco 1355 .syntax unified 1356 .thumb 1357 .thumb_func 1358 .fpu fpv4-sp-d16 1360 nco: 1361 .LFB408: 199:Core/Src/rx.c **** uint16_t i; 1362 .loc 1 199 0 1363 .cfi_startproc 1364 @ args = 0, pretend = 0, frame = 0 1365 @ frame_needed = 0, uses_anonymous_args = 0 1366 .LVL86: 203:Core/Src/rx.c **** i = 0; 1367 .loc 1 203 0 1368 0000 DFF850C0 ldr ip, .L64+8 199:Core/Src/rx.c **** uint16_t i; 1369 .loc 1 199 0 1370 0004 2DE9F041 push {r4, r5, r6, r7, r8, lr} 1371 .LCFI11: 1372 .cfi_def_cfa_offset 24 1373 .cfi_offset 4, -24 1374 .cfi_offset 5, -20 1375 .cfi_offset 6, -16 1376 .cfi_offset 7, -12 1377 .cfi_offset 8, -8 1378 .cfi_offset 14, -4 1379 .LBB266: 1380 .LBB267: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 1381 .loc 2 735 0 1382 0008 104C ldr r4, .L64 1383 .LBE267: 1384 .LBE266: 203:Core/Src/rx.c **** i = 0; 1385 .loc 1 203 0 1386 000a DCF80030 ldr r3, [ip] 1387 .LVL87: 1388 .LBB269: 1389 .LBB268: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 1390 .loc 2 735 0 1391 000e 6360 str r3, [r4, #4] 1392 .LVL88: 1393 .LBE268: 1394 .LBE269: 205:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1395 .loc 1 205 0 1396 0010 B8B1 cbz r0, .L57 ARM GAS /tmp/ccaPmNum.s page 46 1397 0012 0138 subs r0, r0, #1 1398 .LVL89: 1399 0014 86B2 uxth r6, r0 1400 0016 03EB020E add lr, r3, r2 1401 001a 0D4D ldr r5, .L64+4 1402 001c 01EB8608 add r8, r1, r6, lsl #2 1403 0020 7046 mov r0, lr 1404 0022 0439 subs r1, r1, #4 1405 .LVL90: 1406 .L58: 1407 .LBB270: 1408 .LBB271: 1409 .loc 2 746 0 1410 0024 A368 ldr r3, [r4, #8] 1411 .LVL91: 1412 .LBE271: 1413 .LBE270: 1414 .LBB272: 1415 .LBB273: 735:Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_ll_cordic.h **** } 1416 .loc 2 735 0 1417 0026 6060 str r0, [r4, #4] 1418 .LVL92: 1419 .LBE273: 1420 .LBE272: 211:Core/Src/rx.c **** i++; 1421 .loc 1 211 0 1422 0028 2F68 ldr r7, [r5] 210:Core/Src/rx.c **** out[i] = cos/volume; 1423 .loc 1 210 0 1424 002a 1B14 asrs r3, r3, #16 1425 .LVL93: 211:Core/Src/rx.c **** i++; 1426 .loc 1 211 0 1427 002c 93FBF7F3 sdiv r3, r3, r7 1428 .LVL94: 1429 0030 41F8043F str r3, [r1, #4]! 205:Core/Src/rx.c **** tmp = LL_CORDIC_ReadData(CORDIC); 1430 .loc 1 205 0 1431 0034 4145 cmp r1, r8 1432 0036 1044 add r0, r0, r2 1433 0038 F4D1 bne .L58 1434 003a 02FB06E2 mla r2, r2, r6, lr 1435 .LVL95: 1436 003e CCF80020 str r2, [ip] 1437 .L57: 1438 .LVL96: 1439 .LBB274: 1440 .LBB275: 1441 .loc 2 746 0 1442 0042 024B ldr r3, .L64 1443 0044 9B68 ldr r3, [r3, #8] 1444 .LVL97: 1445 .LBE275: 1446 .LBE274: 216:Core/Src/rx.c **** 1447 .loc 1 216 0 ARM GAS /tmp/ccaPmNum.s page 47 1448 0046 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1449 .L65: 1450 004a 00BF .align 2 1451 .L64: 1452 004c 000C0240 .word 1073875968 1453 0050 00000000 .word volume 1454 0054 00000000 .word .LANCHOR9 1455 .cfi_endproc 1456 .LFE408: 1458 .section .text.hb_fir15,"ax",%progbits 1459 .align 1 1460 .p2align 2,,3 1461 .global hb_fir15 1462 .syntax unified 1463 .thumb 1464 .thumb_func 1465 .fpu fpv4-sp-d16 1467 hb_fir15: 1468 .LFB409: 220:Core/Src/rx.c **** q63_t sum0 = 0; 1469 .loc 1 220 0 1470 .cfi_startproc 1471 @ args = 0, pretend = 0, frame = 0 1472 @ frame_needed = 0, uses_anonymous_args = 0 1473 .LVL98: 1474 0000 2DE9F043 push {r4, r5, r6, r7, r8, r9, lr} 1475 .LCFI12: 1476 .cfi_def_cfa_offset 28 1477 .cfi_offset 4, -28 1478 .cfi_offset 5, -24 1479 .cfi_offset 6, -20 1480 .cfi_offset 7, -16 1481 .cfi_offset 8, -12 1482 .cfi_offset 9, -8 1483 .cfi_offset 14, -4 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 1484 .loc 1 223 0 1485 0004 A1F10E04 sub r4, r1, #14 1486 0008 1440 ands r4, r4, r2 222:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 14) & buff_size_mask] * coefficients[0]; 1487 .loc 1 222 0 1488 000a 01EA0205 and r5, r1, r2 1489 000e D3F800C0 ldr ip, [r3] 1490 .LVL99: 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 1491 .loc 1 223 0 1492 0012 50F82440 ldr r4, [r0, r4, lsl #2] 1493 0016 50F82590 ldr r9, [r0, r5, lsl #2] 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 1494 .loc 1 224 0 1495 001a 8F1E subs r7, r1, #2 1496 001c 1740 ands r7, r7, r2 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 1497 .loc 1 225 0 1498 001e A1F10C06 sub r6, r1, #12 1499 0022 1640 ands r6, r6, r2 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; ARM GAS /tmp/ccaPmNum.s page 48 1500 .loc 1 223 0 1501 0024 8CFB0445 smull r4, r5, ip, r4 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 1502 .loc 1 224 0 1503 0028 50F82780 ldr r8, [r0, r7, lsl #2] 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 1504 .loc 1 225 0 1505 002c 50F826E0 ldr lr, [r0, r6, lsl #2] 223:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 2) & buff_size_mask] * coefficients[2]; 1506 .loc 1 223 0 1507 0030 CCFB0945 smlal r4, r5, ip, r9 1508 .LVL100: 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 1509 .loc 1 224 0 1510 0034 D3F808C0 ldr ip, [r3, #8] 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 1511 .loc 1 226 0 1512 0038 0F1F subs r7, r1, #4 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 1513 .loc 1 227 0 1514 003a A1F10A06 sub r6, r1, #10 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 1515 .loc 1 226 0 1516 003e 1740 ands r7, r7, r2 224:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 12) & buff_size_mask] * coefficients[2]; 1517 .loc 1 224 0 1518 0040 CCFB0845 smlal r4, r5, ip, r8 1519 .LVL101: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 1520 .loc 1 227 0 1521 0044 1640 ands r6, r6, r2 225:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 4) & buff_size_mask] * coefficients[4]; 1522 .loc 1 225 0 1523 0046 CEFB0C45 smlal r4, r5, lr, ip 1524 .LVL102: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 1525 .loc 1 228 0 1526 004a A1F1060E sub lr, r1, #6 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 1527 .loc 1 226 0 1528 004e 50F82780 ldr r8, [r0, r7, lsl #2] 1529 0052 D3F810C0 ldr ip, [r3, #16] 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 1530 .loc 1 227 0 1531 0056 50F82670 ldr r7, [r0, r6, lsl #2] 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 1532 .loc 1 228 0 1533 005a 0EEA020E and lr, lr, r2 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 1534 .loc 1 229 0 1535 005e A1F10806 sub r6, r1, #8 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 1536 .loc 1 230 0 1537 0062 0739 subs r1, r1, #7 1538 .LVL103: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 1539 .loc 1 229 0 ARM GAS /tmp/ccaPmNum.s page 49 1540 0064 1640 ands r6, r6, r2 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 1541 .loc 1 230 0 1542 0066 1140 ands r1, r1, r2 1543 0068 D3E90623 ldrd r2, r3, [r3, #24] 1544 .LVL104: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 1545 .loc 1 228 0 1546 006c 50F82EE0 ldr lr, [r0, lr, lsl #2] 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 1547 .loc 1 229 0 1548 0070 50F82660 ldr r6, [r0, r6, lsl #2] 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 1549 .loc 1 230 0 1550 0074 50F82110 ldr r1, [r0, r1, lsl #2] 226:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 10) & buff_size_mask] * coefficients[4]; 1551 .loc 1 226 0 1552 0078 CCFB0845 smlal r4, r5, ip, r8 1553 .LVL105: 227:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 6) & buff_size_mask] * coefficients[6]; 1554 .loc 1 227 0 1555 007c C7FB0C45 smlal r4, r5, r7, ip 1556 .LVL106: 228:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 8) & buff_size_mask] * coefficients[6]; 1557 .loc 1 228 0 1558 0080 C2FB0E45 smlal r4, r5, r2, lr 1559 .LVL107: 229:Core/Src/rx.c **** sum0 += (q63_t) samples_ringbuf[(sample_index - 7) & buff_size_mask] * coefficients[7]; 1560 .loc 1 229 0 1561 0084 C6FB0245 smlal r4, r5, r6, r2 1562 .LVL108: 230:Core/Src/rx.c **** return (q31_t) (sum0 >> 31); 1563 .loc 1 230 0 1564 0088 C3FB0145 smlal r4, r5, r3, r1 1565 .loc 1 231 0 1566 008c E00F lsrs r0, r4, #31 1567 .LVL109: 232:Core/Src/rx.c **** } 1568 .loc 1 232 0 1569 008e 40EA4500 orr r0, r0, r5, lsl #1 1570 0092 BDE8F083 pop {r4, r5, r6, r7, r8, r9, pc} 1571 .cfi_endproc 1572 .LFE409: 1574 0096 00BF .section .text.st2_filter_init,"ax",%progbits 1575 .align 1 1576 .p2align 2,,3 1577 .global st2_filter_init 1578 .syntax unified 1579 .thumb 1580 .thumb_func 1581 .fpu fpv4-sp-d16 1583 st2_filter_init: 1584 .LFB410: 233:Core/Src/rx.c **** 234:Core/Src/rx.c **** void st2_filter_init(void){ 1585 .loc 1 234 0 1586 .cfi_startproc ARM GAS /tmp/ccaPmNum.s page 50 1587 @ args = 0, pretend = 0, frame = 0 1588 @ frame_needed = 0, uses_anonymous_args = 0 235:Core/Src/rx.c **** if((modulation == MOD_LSB) || (modulation == MOD_USB)){ 1589 .loc 1 235 0 1590 0000 1B4B ldr r3, .L77 234:Core/Src/rx.c **** if((modulation == MOD_LSB) || (modulation == MOD_USB)){ 1591 .loc 1 234 0 1592 0002 10B5 push {r4, lr} 1593 .LCFI13: 1594 .cfi_def_cfa_offset 8 1595 .cfi_offset 4, -8 1596 .cfi_offset 14, -4 1597 .loc 1 235 0 1598 0004 1B68 ldr r3, [r3] 1599 0006 5A1E subs r2, r3, #1 1600 0008 012A cmp r2, #1 234:Core/Src/rx.c **** if((modulation == MOD_LSB) || (modulation == MOD_USB)){ 1601 .loc 1 234 0 1602 000a 82B0 sub sp, sp, #8 1603 .LCFI14: 1604 .cfi_def_cfa_offset 16 1605 .loc 1 235 0 1606 000c 1AD9 bls .L76 236:Core/Src/rx.c **** arm_fir_decimate_init_q31(&st2_filter_I_struct, ST2_FILTER_TAP_NUM, ST2_DECIMATION_ 237:Core/Src/rx.c **** arm_fir_decimate_init_q31(&st2_filter_Q_struct, ST2_FILTER_TAP_NUM, ST2_DECIMATION_ 238:Core/Src/rx.c **** } else if ((modulation == MOD_DC) || (modulation == MOD_AM)){ 1607 .loc 1 238 0 1608 000e 1BB1 cbz r3, .L71 1609 .loc 1 238 0 is_stmt 0 discriminator 1 1610 0010 032B cmp r3, #3 1611 0012 01D0 beq .L71 239:Core/Src/rx.c **** arm_fir_decimate_init_q31(&st2_filter_I_struct, ST2_FILTER_TAP_NUM, ST2_DECIMATION_ 240:Core/Src/rx.c **** arm_fir_decimate_init_q31(&st2_filter_Q_struct, ST2_FILTER_TAP_NUM, ST2_DECIMATION_ 241:Core/Src/rx.c **** } 242:Core/Src/rx.c **** } 1612 .loc 1 242 0 is_stmt 1 1613 0014 02B0 add sp, sp, #8 1614 .LCFI15: 1615 .cfi_remember_state 1616 .cfi_def_cfa_offset 8 1617 @ sp needed 1618 0016 10BD pop {r4, pc} 1619 .L71: 1620 .LCFI16: 1621 .cfi_restore_state 239:Core/Src/rx.c **** arm_fir_decimate_init_q31(&st2_filter_I_struct, ST2_FILTER_TAP_NUM, ST2_DECIMATION_ 1622 .loc 1 239 0 1623 0018 164B ldr r3, .L77+4 1624 001a 1748 ldr r0, .L77+8 1625 001c 4FF48074 mov r4, #256 1626 0020 CDE90034 strd r3, r4, [sp] 1627 0024 0422 movs r2, #4 1628 0026 154B ldr r3, .L77+12 1629 0028 8021 movs r1, #128 1630 002a FFF7FEFF bl arm_fir_decimate_init_q31 1631 .LVL110: 240:Core/Src/rx.c **** } ARM GAS /tmp/ccaPmNum.s page 51 1632 .loc 1 240 0 1633 002e 144B ldr r3, .L77+16 1634 0030 1448 ldr r0, .L77+20 1635 0032 CDE90034 strd r3, r4, [sp] 1636 0036 0422 movs r2, #4 1637 0038 104B ldr r3, .L77+12 1638 003a 8021 movs r1, #128 1639 003c FFF7FEFF bl arm_fir_decimate_init_q31 1640 .LVL111: 1641 .loc 1 242 0 1642 0040 02B0 add sp, sp, #8 1643 .LCFI17: 1644 .cfi_remember_state 1645 .cfi_def_cfa_offset 8 1646 @ sp needed 1647 0042 10BD pop {r4, pc} 1648 .L76: 1649 .LCFI18: 1650 .cfi_restore_state 236:Core/Src/rx.c **** arm_fir_decimate_init_q31(&st2_filter_I_struct, ST2_FILTER_TAP_NUM, ST2_DECIMATION_ 1651 .loc 1 236 0 1652 0044 0B4B ldr r3, .L77+4 1653 0046 0C48 ldr r0, .L77+8 1654 0048 4FF48074 mov r4, #256 1655 004c CDE90034 strd r3, r4, [sp] 1656 0050 0422 movs r2, #4 1657 0052 0D4B ldr r3, .L77+24 1658 0054 8021 movs r1, #128 1659 0056 FFF7FEFF bl arm_fir_decimate_init_q31 1660 .LVL112: 237:Core/Src/rx.c **** } else if ((modulation == MOD_DC) || (modulation == MOD_AM)){ 1661 .loc 1 237 0 1662 005a 094B ldr r3, .L77+16 1663 005c 0948 ldr r0, .L77+20 1664 005e CDE90034 strd r3, r4, [sp] 1665 0062 0422 movs r2, #4 1666 0064 084B ldr r3, .L77+24 1667 0066 8021 movs r1, #128 1668 0068 FFF7FEFF bl arm_fir_decimate_init_q31 1669 .LVL113: 1670 .loc 1 242 0 1671 006c 02B0 add sp, sp, #8 1672 .LCFI19: 1673 .cfi_def_cfa_offset 8 1674 @ sp needed 1675 006e 10BD pop {r4, pc} 1676 .L78: 1677 .align 2 1678 .L77: 1679 0070 00000000 .word modulation 1680 0074 00000000 .word st2_filter_I_state 1681 0078 00000000 .word st2_filter_I_struct 1682 007c 00000000 .word .LANCHOR11 1683 0080 00000000 .word st2_filter_Q_state 1684 0084 00000000 .word st2_filter_Q_struct 1685 0088 00000000 .word .LANCHOR10 1686 .cfi_endproc ARM GAS /tmp/ccaPmNum.s page 52 1687 .LFE410: 1689 .section .text.audio_filter_init,"ax",%progbits 1690 .align 1 1691 .p2align 2,,3 1692 .global audio_filter_init 1693 .syntax unified 1694 .thumb 1695 .thumb_func 1696 .fpu fpv4-sp-d16 1698 audio_filter_init: 1699 .LFB411: 243:Core/Src/rx.c **** 244:Core/Src/rx.c **** void audio_filter_init(void){ 1700 .loc 1 244 0 1701 .cfi_startproc 1702 @ args = 0, pretend = 0, frame = 0 1703 @ frame_needed = 0, uses_anonymous_args = 0 1704 0000 00B5 push {lr} 1705 .LCFI20: 1706 .cfi_def_cfa_offset 4 1707 .cfi_offset 14, -4 1708 0002 83B0 sub sp, sp, #12 1709 .LCFI21: 1710 .cfi_def_cfa_offset 16 245:Core/Src/rx.c **** arm_fir_init_q31 (&audio_filter_struct, AUDIO_FILTER_TAP_NUM, audio_filter_coeffs, &audio_f 1711 .loc 1 245 0 1712 0004 4023 movs r3, #64 1713 0006 0093 str r3, [sp] 1714 0008 044A ldr r2, .L81 1715 000a 054B ldr r3, .L81+4 1716 000c 0548 ldr r0, .L81+8 1717 000e 8021 movs r1, #128 1718 0010 FFF7FEFF bl arm_fir_init_q31 1719 .LVL114: 246:Core/Src/rx.c **** } 1720 .loc 1 246 0 1721 0014 03B0 add sp, sp, #12 1722 .LCFI22: 1723 .cfi_def_cfa_offset 4 1724 @ sp needed 1725 0016 5DF804FB ldr pc, [sp], #4 1726 .L82: 1727 001a 00BF .align 2 1728 .L81: 1729 001c 00000000 .word audio_filter_coeffs 1730 0020 00000000 .word audio_filter_state 1731 0024 00000000 .word audio_filter_struct 1732 .cfi_endproc 1733 .LFE411: 1735 .global __aeabi_ui2d 1736 .global __aeabi_dmul 1737 .global __aeabi_i2d 1738 .global __aeabi_d2iz 1739 .section .text.audio_filter_generate_coeffs,"ax",%progbits 1740 .align 1 1741 .p2align 2,,3 1742 .global audio_filter_generate_coeffs ARM GAS /tmp/ccaPmNum.s page 53 1743 .syntax unified 1744 .thumb 1745 .thumb_func 1746 .fpu fpv4-sp-d16 1748 audio_filter_generate_coeffs: 1749 .LFB412: 247:Core/Src/rx.c **** 248:Core/Src/rx.c **** void audio_filter_generate_coeffs(int32_t *Coeffs, uint32_t freq, uint32_t bw, uint8_t beta){ 1750 .loc 1 248 0 1751 .cfi_startproc 1752 @ args = 0, pretend = 0, frame = 1040 1753 @ frame_needed = 0, uses_anonymous_args = 0 1754 .LVL115: 1755 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr} 1756 .LCFI23: 1757 .cfi_def_cfa_offset 24 1758 .cfi_offset 4, -24 1759 .cfi_offset 5, -20 1760 .cfi_offset 6, -16 1761 .cfi_offset 7, -12 1762 .cfi_offset 8, -8 1763 .cfi_offset 14, -4 1764 0004 0546 mov r5, r0 1765 0006 ADF5826D sub sp, sp, #1040 1766 .LCFI24: 1767 .cfi_def_cfa_offset 1064 249:Core/Src/rx.c **** double FPCoeff[AUDIO_FILTER_TAP_NUM + 1]; 250:Core/Src/rx.c **** double normalized_center_freq, normalized_bw, fp_beta; 251:Core/Src/rx.c **** normalized_center_freq = (double)(freq*2)/DAC_SAMPLE_RATE; 252:Core/Src/rx.c **** normalized_bw = (double)(bw*2)/DAC_SAMPLE_RATE; 1768 .loc 1 252 0 1769 000a 5000 lsls r0, r2, #1 1770 .LVL116: 248:Core/Src/rx.c **** double FPCoeff[AUDIO_FILTER_TAP_NUM + 1]; 1771 .loc 1 248 0 1772 000c 1C46 mov r4, r3 1773 000e 0E46 mov r6, r1 1774 .LVL117: 1775 .loc 1 252 0 1776 0010 FFF7FEFF bl __aeabi_ui2d 1777 .LVL118: 1778 0014 1CA3 adr r3, .L87 1779 0016 D3E90023 ldrd r2, [r3] 1780 001a FFF7FEFF bl __aeabi_dmul 1781 .LVL119: 1782 001e CDE90001 strd r0, [sp] 251:Core/Src/rx.c **** normalized_bw = (double)(bw*2)/DAC_SAMPLE_RATE; 1783 .loc 1 251 0 1784 0022 7000 lsls r0, r6, #1 1785 0024 FFF7FEFF bl __aeabi_ui2d 1786 .LVL120: 1787 0028 17A3 adr r3, .L87 1788 002a D3E90023 ldrd r2, [r3] 1789 002e FFF7FEFF bl __aeabi_dmul 1790 .LVL121: 253:Core/Src/rx.c **** fp_beta = beta/4; 254:Core/Src/rx.c **** RectWinFIR(FPCoeff, AUDIO_FILTER_TAP_NUM, firBPF, normalized_center_freq, normalized_bw); ARM GAS /tmp/ccaPmNum.s page 54 1791 .loc 1 254 0 1792 0032 9DED001B vldr.64 d1, [sp] 1793 0036 41EC100B vmov d0, r0, r1 1794 003a 0222 movs r2, #2 1795 003c 02A8 add r0, sp, #8 1796 003e 8021 movs r1, #128 1797 0040 FFF7FEFF bl RectWinFIR 1798 .LVL122: 253:Core/Src/rx.c **** fp_beta = beta/4; 1799 .loc 1 253 0 1800 0044 A008 lsrs r0, r4, #2 1801 0046 FFF7FEFF bl __aeabi_i2d 1802 .LVL123: 255:Core/Src/rx.c **** FIRFilterWindow(FPCoeff, AUDIO_FILTER_TAP_NUM, wtKAISER, fp_beta); 1803 .loc 1 255 0 1804 004a 0222 movs r2, #2 1805 004c 41EC100B vmov d0, r0, r1 1806 0050 02A8 add r0, sp, #8 1807 0052 8021 movs r1, #128 1808 0054 FFF7FEFF bl FIRFilterWindow 1809 .LVL124: 1810 .LBB276: 256:Core/Src/rx.c **** 257:Core/Src/rx.c **** for( int index = 0; index < AUDIO_FILTER_TAP_NUM; index++){ 258:Core/Src/rx.c **** Coeffs[index] = (int32_t) ( (double)(FPCoeff[index])*(double)0x7FFFFFFF ); 1811 .loc 1 258 0 1812 0058 0DA7 adr r7, .L87+8 1813 005a D7E90067 ldrd r6, [r7] 1814 .LVL125: 1815 005e 043D subs r5, r5, #4 1816 .LVL126: 1817 0060 02AC add r4, sp, #8 1818 .LVL127: 1819 0062 0DF58168 add r8, sp, #1032 1820 .LVL128: 1821 .L84: 1822 .loc 1 258 0 is_stmt 0 discriminator 3 1823 0066 3246 mov r2, r6 1824 0068 3B46 mov r3, r7 1825 006a F4E80201 ldrd r0, [r4], #8 1826 006e FFF7FEFF bl __aeabi_dmul 1827 .LVL129: 1828 0072 FFF7FEFF bl __aeabi_d2iz 1829 .LVL130: 257:Core/Src/rx.c **** Coeffs[index] = (int32_t) ( (double)(FPCoeff[index])*(double)0x7FFFFFFF ); 1830 .loc 1 257 0 is_stmt 1 discriminator 3 1831 0076 A045 cmp r8, r4 1832 .loc 1 258 0 discriminator 3 1833 0078 45F8040F str r0, [r5, #4]! 257:Core/Src/rx.c **** Coeffs[index] = (int32_t) ( (double)(FPCoeff[index])*(double)0x7FFFFFFF ); 1834 .loc 1 257 0 discriminator 3 1835 007c F3D1 bne .L84 1836 .LBE276: 259:Core/Src/rx.c **** } 260:Core/Src/rx.c **** } 1837 .loc 1 260 0 1838 007e 0DF5826D add sp, sp, #1040 ARM GAS /tmp/ccaPmNum.s page 55 1839 .LCFI25: 1840 .cfi_def_cfa_offset 24 1841 @ sp needed 1842 0082 BDE8F081 pop {r4, r5, r6, r7, r8, pc} 1843 .L88: 1844 0086 00BF .align 3 1845 .L87: 1846 0088 CA2E96E5 .word 3851824842 1847 008c AAF7073F .word 1057486762 1848 0090 0000C0FF .word 4290772992 1849 0094 FFFFDF41 .word 1105199103 1850 .cfi_endproc 1851 .LFE412: 1853 .section .text.rx_measure_signal,"ax",%progbits 1854 .align 1 1855 .p2align 2,,3 1856 .global rx_measure_signal 1857 .syntax unified 1858 .thumb 1859 .thumb_func 1860 .fpu fpv4-sp-d16 1862 rx_measure_signal: 1863 .LFB413: 261:Core/Src/rx.c **** 262:Core/Src/rx.c **** void rx_measure_signal(q31_t *samples, uint16_t size){ 1864 .loc 1 262 0 1865 .cfi_startproc 1866 @ args = 0, pretend = 0, frame = 8 1867 @ frame_needed = 0, uses_anonymous_args = 0 1868 .LVL131: 1869 0000 10B5 push {r4, lr} 1870 .LCFI26: 1871 .cfi_def_cfa_offset 8 1872 .cfi_offset 4, -8 1873 .cfi_offset 14, -4 263:Core/Src/rx.c **** static int32_t old_rx_signal; 264:Core/Src/rx.c **** uint32_t index; 265:Core/Src/rx.c **** arm_max_q31(samples, size, &old_rx_signal, &index); 1874 .loc 1 265 0 1875 0002 094C ldr r4, .L92 262:Core/Src/rx.c **** static int32_t old_rx_signal; 1876 .loc 1 262 0 1877 0004 82B0 sub sp, sp, #8 1878 .LCFI27: 1879 .cfi_def_cfa_offset 16 1880 .loc 1 265 0 1881 0006 01AB add r3, sp, #4 1882 0008 2246 mov r2, r4 1883 000a FFF7FEFF bl arm_max_q31 1884 .LVL132: 266:Core/Src/rx.c **** old_rx_signal >>= 10; 267:Core/Src/rx.c **** if(old_rx_signal != rx_signal) { 1885 .loc 1 267 0 1886 000e 074A ldr r2, .L92+4 266:Core/Src/rx.c **** old_rx_signal >>= 10; 1887 .loc 1 266 0 1888 0010 2368 ldr r3, [r4] ARM GAS /tmp/ccaPmNum.s page 56 1889 .loc 1 267 0 1890 0012 1168 ldr r1, [r2] 266:Core/Src/rx.c **** old_rx_signal >>= 10; 1891 .loc 1 266 0 1892 0014 9B12 asrs r3, r3, #10 1893 .loc 1 267 0 1894 0016 8B42 cmp r3, r1 266:Core/Src/rx.c **** old_rx_signal >>= 10; 1895 .loc 1 266 0 1896 0018 2360 str r3, [r4] 1897 .loc 1 267 0 1898 001a 03D0 beq .L89 1899 .LBB277: 268:Core/Src/rx.c **** rx_signal = old_rx_signal; 269:Core/Src/rx.c **** // rx_signal = 45; 270:Core/Src/rx.c **** set_changed(8); 1900 .loc 1 270 0 1901 001c 0820 movs r0, #8 268:Core/Src/rx.c **** rx_signal = old_rx_signal; 1902 .loc 1 268 0 1903 001e 1360 str r3, [r2] 1904 .loc 1 270 0 1905 0020 FFF7FEFF bl set_changed 1906 .LVL133: 1907 .L89: 1908 .LBE277: 271:Core/Src/rx.c **** } 272:Core/Src/rx.c **** } 1909 .loc 1 272 0 1910 0024 02B0 add sp, sp, #8 1911 .LCFI28: 1912 .cfi_def_cfa_offset 8 1913 @ sp needed 1914 0026 10BD pop {r4, pc} 1915 .L93: 1916 .align 2 1917 .L92: 1918 0028 00000000 .word .LANCHOR12 1919 002c 00000000 .word rx_signal 1920 .cfi_endproc 1921 .LFE413: 1923 .global st2_wide_taps 1924 .global st2_filter_taps 1925 .global ms_hbf_filter_taps 1926 .comm audio_filter_coeffs,512,4 1927 .comm audio_filter_state,764,4 1928 .comm audio_filter_struct,12,4 1929 .comm st2_filter_Q_state,1532,4 1930 .comm st2_filter_I_state,1532,4 1931 .comm st2_filter_Q_struct,12,4 1932 .comm st2_filter_I_struct,12,4 1933 .comm rx_signal,4,4 1934 .section .bss.I_mixed_2m_rb.14250,"aw",%nobits 1935 .align 2 1936 .set .LANCHOR6,. + 0 1939 I_mixed_2m_rb.14250: 1940 0000 00000000 .space 128 ARM GAS /tmp/ccaPmNum.s page 57 1940 00000000 1940 00000000 1940 00000000 1940 00000000 1941 .section .bss.I_mixed_rb.14248,"aw",%nobits 1942 .align 2 1943 .set .LANCHOR2,. + 0 1946 I_mixed_rb.14248: 1947 0000 00000000 .space 256 1947 00000000 1947 00000000 1947 00000000 1947 00000000 1948 .section .bss.Q_mixed_2m_rb.14251,"aw",%nobits 1949 .align 2 1950 .set .LANCHOR7,. + 0 1953 Q_mixed_2m_rb.14251: 1954 0000 00000000 .space 128 1954 00000000 1954 00000000 1954 00000000 1954 00000000 1955 .section .bss.Q_mixed_rb.14249,"aw",%nobits 1956 .align 2 1957 .set .LANCHOR3,. + 0 1960 Q_mixed_rb.14249: 1961 0000 00000000 .space 256 1961 00000000 1961 00000000 1961 00000000 1961 00000000 1962 .section .bss.mixed_samples_2m_ringbuffer_index.14247,"aw",%nobits 1963 .set .LANCHOR4,. + 0 1966 mixed_samples_2m_ringbuffer_index.14247: 1967 0000 00 .space 1 1968 .section .bss.mixed_samples_ringbuffer_index.14246,"aw",%nobits 1969 .set .LANCHOR1,. + 0 1972 mixed_samples_ringbuffer_index.14246: 1973 0000 00 .space 1 1974 .section .bss.old_rx_signal.14337,"aw",%nobits 1975 .align 2 1976 .set .LANCHOR12,. + 0 1979 old_rx_signal.14337: 1980 0000 00000000 .space 4 1981 .section .bss.phase_accu.14239,"aw",%nobits 1982 .align 2 1983 .set .LANCHOR0,. + 0 1986 phase_accu.14239: 1987 0000 00000000 .space 4 1988 .section .bss.phase_accu.14275,"aw",%nobits 1989 .align 2 1990 .set .LANCHOR8,. + 0 1993 phase_accu.14275: 1994 0000 00000000 .space 4 1995 .section .bss.phase_accu.14302,"aw",%nobits 1996 .align 2 1997 .set .LANCHOR9,. + 0 ARM GAS /tmp/ccaPmNum.s page 58 2000 phase_accu.14302: 2001 0000 00000000 .space 4 2002 .section .data.ms_hbf_filter_taps,"aw",%progbits 2003 .align 2 2004 .set .LANCHOR5,. + 0 2007 ms_hbf_filter_taps: 2008 0000 D03AFDFF .word -181552 2009 0004 00000000 .word 0 2010 0008 54183400 .word 3414100 2011 000c 00000000 .word 0 2012 0010 2A04FFFE .word -16841686 2013 0014 00000000 .word 0 2014 0018 A9A5D004 .word 80782761 2015 001c 00000008 .word 134217728 2016 0020 A9A5D004 .word 80782761 2017 0024 00000000 .word 0 2018 0028 2A04FFFE .word -16841686 2019 002c 00000000 .word 0 2020 0030 54183400 .word 3414100 2021 0034 00000000 .word 0 2022 0038 D03AFDFF .word -181552 2023 .section .data.st2_filter_taps,"aw",%progbits 2024 .align 2 2025 .set .LANCHOR10,. + 0 2028 st2_filter_taps: 2029 0000 D9D0EEFF .word -1126183 2030 0004 A2D1EFFF .word -1060446 2031 0008 BAB9F0FF .word -1001030 2032 000c C297F1FF .word -944190 2033 0010 5B7CF2FF .word -885669 2034 0014 037AF3FF .word -820733 2035 0018 F4A4F4FF .word -744204 2036 001c F512F6FF .word -650507 2037 0020 2EDBF7FF .word -533714 2038 0024 EE15FAFF .word -387602 2039 0028 75DCFCFF .word -205707 2040 002c B1480000 .word 18609 2041 0030 FE740400 .word 292094 2042 0034 E37B0900 .word 621539 2043 0038 C3770F00 .word 1013699 2044 003c 99821600 .word 1475225 2045 0040 AEB51E00 .word 2012590 2046 0044 49292800 .word 2632009 2047 0048 67F43200 .word 3339367 2048 004c 732C3F00 .word 4140147 2049 0050 FBE44C00 .word 5039355 2050 0054 6E2F5C00 .word 6041454 2051 0058 DA1A6D00 .word 7150298 2052 005c ACB37F00 .word 8369068 2053 0060 7B039400 .word 9700219 2054 0064 D310AA00 .word 11145427 2055 0068 06DFC100 .word 12705542 2056 006c 096EDB00 .word 14380553 2057 0070 52BAF600 .word 16169554 2058 0074 C0BC1301 .word 18070720 2059 0078 8A6A3201 .word 20081290 2060 007c 38B55201 .word 22197560 ARM GAS /tmp/ccaPmNum.s page 59 2061 0080 A28A7401 .word 24414882 2062 0084 F7D49701 .word 26727671 2063 0088 D27ABC01 .word 29129426 2064 008c 4D5FE201 .word 31612749 2065 0090 28620902 .word 34169384 2066 0094 F15F3102 .word 36790257 2067 0098 31325A02 .word 39465521 2068 009c AEAF8302 .word 42184622 2069 00a0 A2ACAD02 .word 44936354 2070 00a4 08FBD702 .word 47708936 2071 00a8 E66A0203 .word 50490086 2072 00ac 9ECA2C03 .word 53267102 2073 00b0 48E75603 .word 56026952 2074 00b4 0C8D8003 .word 58756364 2075 00b8 7E87A903 .word 61441918 2076 00bc 01A2D103 .word 64070145 2077 00c0 2AA8F803 .word 66627626 2078 00c4 20661E04 .word 69101088 2079 00c8 00A94204 .word 71477504 2080 00cc 413F6504 .word 73744193 2081 00d0 12F98504 .word 75888914 2082 00d4 BAA8A404 .word 77899962 2083 00d8 EC22C104 .word 79766252 2084 00dc 253FDB04 .word 81477413 2085 00e0 F6D7F204 .word 83023862 2086 00e4 51CB0705 .word 84396881 2087 00e8 CEFA1905 .word 85588686 2088 00ec E64B2905 .word 86592486 2089 00f0 2CA83505 .word 87402540 2090 00f4 76FD3E05 .word 88014198 2091 00f8 033E4505 .word 88423939 2092 00fc 9B604805 .word 88629403 2093 0100 9B604805 .word 88629403 2094 0104 033E4505 .word 88423939 2095 0108 76FD3E05 .word 88014198 2096 010c 2CA83505 .word 87402540 2097 0110 E64B2905 .word 86592486 2098 0114 CEFA1905 .word 85588686 2099 0118 51CB0705 .word 84396881 2100 011c F6D7F204 .word 83023862 2101 0120 253FDB04 .word 81477413 2102 0124 EC22C104 .word 79766252 2103 0128 BAA8A404 .word 77899962 2104 012c 12F98504 .word 75888914 2105 0130 413F6504 .word 73744193 2106 0134 00A94204 .word 71477504 2107 0138 20661E04 .word 69101088 2108 013c 2AA8F803 .word 66627626 2109 0140 01A2D103 .word 64070145 2110 0144 7E87A903 .word 61441918 2111 0148 0C8D8003 .word 58756364 2112 014c 48E75603 .word 56026952 2113 0150 9ECA2C03 .word 53267102 2114 0154 E66A0203 .word 50490086 2115 0158 08FBD702 .word 47708936 2116 015c A2ACAD02 .word 44936354 2117 0160 AEAF8302 .word 42184622 ARM GAS /tmp/ccaPmNum.s page 60 2118 0164 31325A02 .word 39465521 2119 0168 F15F3102 .word 36790257 2120 016c 28620902 .word 34169384 2121 0170 4D5FE201 .word 31612749 2122 0174 D27ABC01 .word 29129426 2123 0178 F7D49701 .word 26727671 2124 017c A28A7401 .word 24414882 2125 0180 38B55201 .word 22197560 2126 0184 8A6A3201 .word 20081290 2127 0188 C0BC1301 .word 18070720 2128 018c 52BAF600 .word 16169554 2129 0190 096EDB00 .word 14380553 2130 0194 06DFC100 .word 12705542 2131 0198 D310AA00 .word 11145427 2132 019c 7B039400 .word 9700219 2133 01a0 ACB37F00 .word 8369068 2134 01a4 DA1A6D00 .word 7150298 2135 01a8 6E2F5C00 .word 6041454 2136 01ac FBE44C00 .word 5039355 2137 01b0 732C3F00 .word 4140147 2138 01b4 67F43200 .word 3339367 2139 01b8 49292800 .word 2632009 2140 01bc AEB51E00 .word 2012590 2141 01c0 99821600 .word 1475225 2142 01c4 C3770F00 .word 1013699 2143 01c8 E37B0900 .word 621539 2144 01cc FE740400 .word 292094 2145 01d0 B1480000 .word 18609 2146 01d4 75DCFCFF .word -205707 2147 01d8 EE15FAFF .word -387602 2148 01dc 2EDBF7FF .word -533714 2149 01e0 F512F6FF .word -650507 2150 01e4 F4A4F4FF .word -744204 2151 01e8 037AF3FF .word -820733 2152 01ec 5B7CF2FF .word -885669 2153 01f0 C297F1FF .word -944190 2154 01f4 BAB9F0FF .word -1001030 2155 01f8 A2D1EFFF .word -1060446 2156 01fc D9D0EEFF .word -1126183 2157 .section .data.st2_wide_taps,"aw",%progbits 2158 .align 2 2159 .set .LANCHOR11,. + 0 2162 st2_wide_taps: 2163 0000 4681FEFF .word -97978 2164 0004 D01E0500 .word 335568 2165 0008 8FE20B00 .word 778895 2166 000c A4A21200 .word 1221284 2167 0010 44231900 .word 1647428 2168 0014 D7101F00 .word 2035927 2169 0018 ACFD2300 .word 2358700 2170 001c 39642700 .word 2581561 2171 0020 89AE2800 .word 2666121 2172 0024 D3422700 .word 2573011 2173 0028 7F942200 .word 2266239 2174 002c 4F381A00 .word 1718351 2175 0030 C0F90D00 .word 915904 2176 0034 53EFFDFF .word -135341 ARM GAS /tmp/ccaPmNum.s page 61 2177 0038 408BEAFF .word -1406144 2178 003c 0BA6D4FF .word -2841077 2179 0040 C780BDFF .word -4357945 2180 0044 62BDA6FF .word -5849758 2181 0048 164C92FF .word -7189482 2182 004c 014E82FF .word -8237567 2183 0050 11EE78FF .word -8851951 2184 0054 4E3278FF .word -8900018 2185 0058 C5C881FF .word -8271675 2186 005c DBD396FF .word -6892581 2187 0060 9DBAB7FF .word -4736355 2188 0064 9901E4FF .word -1834599 2189 0068 D2301A00 .word 1716434 2190 006c 98CA5700 .word 5753496 2191 0070 4A569900 .word 10049098 2192 0074 9880DA00 .word 14319768 2193 0078 5C511601 .word 18239836 2194 007c 73754701 .word 21460339 2195 0080 37996801 .word 23632183 2196 0084 A9CE7401 .word 24432297 2197 0088 FFF86701 .word 23591167 2198 008c 3B363F01 .word 20919867 2199 0090 F53EF900 .word 16334581 2200 0094 86B49600 .word 9876614 2201 0098 55561A00 .word 1726037 2202 009c 3C1889FF .word -7792580 2203 00a0 A115EAFE .word -18213471 2204 00a4 085F46FE .word -28942584 2205 00a8 52A2A8FD .word -39280046 2206 00ac 57B01CFD .word -48451497 2207 00b0 3CE5AEFC .word -55646916 2208 00b4 047B6BFC .word -60065020 2209 00b8 E7CF5DFC .word -60960793 2210 00bc 60AB8FFC .word -57693344 2211 00c0 708D08FD .word -49771152 2212 00c4 CD13CDFD .word -36891699 2213 00c8 987FDEFE .word -18972776 2214 00cc F1643A00 .word 3826929 2215 00d0 538BDA01 .word 31099731 2216 00d4 FA02B503 .word 62194426 2217 00d8 5E70BC05 .word 96235614 2218 00dc 918BE007 .word 132156305 2219 00e0 FCCD0E0A .word 168742396 2220 00e4 F345330C .word 204686835 2221 00e8 1585390E .word 238650645 2222 00ec 7E9C0D10 .word 269327486 2223 00f0 B9189D11 .word 295508153 2224 00f4 1AEFD712 .word 316141338 2225 00f8 CE4EB113 .word 330387150 2226 00fc 7B492014 .word 337660283 2227 0100 7B492014 .word 337660283 2228 0104 CE4EB113 .word 330387150 2229 0108 1AEFD712 .word 316141338 2230 010c B9189D11 .word 295508153 2231 0110 7E9C0D10 .word 269327486 2232 0114 1585390E .word 238650645 2233 0118 F345330C .word 204686835 ARM GAS /tmp/ccaPmNum.s page 62 2234 011c FCCD0E0A .word 168742396 2235 0120 918BE007 .word 132156305 2236 0124 5E70BC05 .word 96235614 2237 0128 FA02B503 .word 62194426 2238 012c 538BDA01 .word 31099731 2239 0130 F1643A00 .word 3826929 2240 0134 987FDEFE .word -18972776 2241 0138 CD13CDFD .word -36891699 2242 013c 708D08FD .word -49771152 2243 0140 60AB8FFC .word -57693344 2244 0144 E7CF5DFC .word -60960793 2245 0148 047B6BFC .word -60065020 2246 014c 3CE5AEFC .word -55646916 2247 0150 57B01CFD .word -48451497 2248 0154 52A2A8FD .word -39280046 2249 0158 085F46FE .word -28942584 2250 015c A115EAFE .word -18213471 2251 0160 3C1889FF .word -7792580 2252 0164 55561A00 .word 1726037 2253 0168 86B49600 .word 9876614 2254 016c F53EF900 .word 16334581 2255 0170 3B363F01 .word 20919867 2256 0174 FFF86701 .word 23591167 2257 0178 A9CE7401 .word 24432297 2258 017c 37996801 .word 23632183 2259 0180 73754701 .word 21460339 2260 0184 5C511601 .word 18239836 2261 0188 9880DA00 .word 14319768 2262 018c 4A569900 .word 10049098 2263 0190 98CA5700 .word 5753496 2264 0194 D2301A00 .word 1716434 2265 0198 9901E4FF .word -1834599 2266 019c 9DBAB7FF .word -4736355 2267 01a0 DBD396FF .word -6892581 2268 01a4 C5C881FF .word -8271675 2269 01a8 4E3278FF .word -8900018 2270 01ac 11EE78FF .word -8851951 2271 01b0 014E82FF .word -8237567 2272 01b4 164C92FF .word -7189482 2273 01b8 62BDA6FF .word -5849758 2274 01bc C780BDFF .word -4357945 2275 01c0 0BA6D4FF .word -2841077 2276 01c4 408BEAFF .word -1406144 2277 01c8 53EFFDFF .word -135341 2278 01cc C0F90D00 .word 915904 2279 01d0 4F381A00 .word 1718351 2280 01d4 7F942200 .word 2266239 2281 01d8 D3422700 .word 2573011 2282 01dc 89AE2800 .word 2666121 2283 01e0 39642700 .word 2581561 2284 01e4 ACFD2300 .word 2358700 2285 01e8 D7101F00 .word 2035927 2286 01ec 44231900 .word 1647428 2287 01f0 A4A21200 .word 1221284 2288 01f4 8FE20B00 .word 778895 2289 01f8 D01E0500 .word 335568 2290 01fc 4681FEFF .word -97978 ARM GAS /tmp/ccaPmNum.s page 63 2291 .text 2292 .Letext0: 2293 .file 3 "/usr/include/newlib/machine/_default_types.h" 2294 .file 4 "/usr/include/newlib/sys/_stdint.h" 2295 .file 5 "/usr/include/newlib/sys/lock.h" 2296 .file 6 "/usr/include/newlib/sys/_types.h" 2297 .file 7 "/usr/lib/gcc/arm-none-eabi/7.3.1/include/stddef.h" 2298 .file 8 "/usr/include/newlib/sys/reent.h" 2299 .file 9 "/usr/include/newlib/math.h" 2300 .file 10 "Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Include/arm_math.h" 2301 .file 11 "Drivers/CMSIS/Include/core_cm4.h" 2302 .file 12 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/system_stm32g4xx.h" 2303 .file 13 "Drivers/CMSIS/Device/ST/STM32G4xx/Include/stm32g431xx.h" 2304 .file 14 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_def.h" 2305 .file 15 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_dma.h" 2306 .file 16 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_cordic.h" 2307 .file 17 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_flash.h" 2308 .file 18 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal_uart.h" 2309 .file 19 "Drivers/STM32G4xx_HAL_Driver/Inc/stm32g4xx_hal.h" 2310 .file 20 "Core/Inc/FIRFilterCode.h" 2311 .file 21 "Core/Inc/rx.h" 2312 .file 22 "Core/Inc/tx.h" 2313 .file 23 "Core/Inc/bassofono.h" ARM GAS /tmp/ccaPmNum.s page 64 DEFINED SYMBOLS *ABS*:0000000000000000 rx.c /tmp/ccaPmNum.s:16 .text.rx_mixer:0000000000000000 $t /tmp/ccaPmNum.s:24 .text.rx_mixer:0000000000000000 rx_mixer /tmp/ccaPmNum.s:97 .text.rx_mixer:0000000000000038 $d /tmp/ccaPmNum.s:101 .text.rx_mixer:0000000000000040 $t /tmp/ccaPmNum.s:987 .text.rx_mixer:0000000000000360 $d /tmp/ccaPmNum.s:998 .text.rx_mixer:0000000000000380 $t /tmp/ccaPmNum.s:1045 .text.rx_mixer:00000000000003bc $d *COM*:000000000000000c st2_filter_I_struct *COM*:000000000000000c st2_filter_Q_struct /tmp/ccaPmNum.s:1052 .text.am_demodulator:0000000000000000 $t /tmp/ccaPmNum.s:1060 .text.am_demodulator:0000000000000000 am_demodulator /tmp/ccaPmNum.s:1125 .text.ssb_demodulator:0000000000000000 $t /tmp/ccaPmNum.s:1133 .text.ssb_demodulator:0000000000000000 ssb_demodulator /tmp/ccaPmNum.s:1284 .text.ssb_demodulator:0000000000000098 $d /tmp/ccaPmNum.s:1292 .text.dc_demodulator:0000000000000000 $t /tmp/ccaPmNum.s:1300 .text.dc_demodulator:0000000000000000 dc_demodulator /tmp/ccaPmNum.s:1347 .text.dc_demodulator:000000000000002c $d /tmp/ccaPmNum.s:1352 .text.nco:0000000000000000 $t /tmp/ccaPmNum.s:1360 .text.nco:0000000000000000 nco /tmp/ccaPmNum.s:1452 .text.nco:000000000000004c $d /tmp/ccaPmNum.s:1459 .text.hb_fir15:0000000000000000 $t /tmp/ccaPmNum.s:1467 .text.hb_fir15:0000000000000000 hb_fir15 /tmp/ccaPmNum.s:1575 .text.st2_filter_init:0000000000000000 $t /tmp/ccaPmNum.s:1583 .text.st2_filter_init:0000000000000000 st2_filter_init /tmp/ccaPmNum.s:1679 .text.st2_filter_init:0000000000000070 $d *COM*:00000000000005fc st2_filter_I_state *COM*:00000000000005fc st2_filter_Q_state /tmp/ccaPmNum.s:1690 .text.audio_filter_init:0000000000000000 $t /tmp/ccaPmNum.s:1698 .text.audio_filter_init:0000000000000000 audio_filter_init /tmp/ccaPmNum.s:1729 .text.audio_filter_init:000000000000001c $d *COM*:0000000000000200 audio_filter_coeffs *COM*:00000000000002fc audio_filter_state *COM*:000000000000000c audio_filter_struct /tmp/ccaPmNum.s:1740 .text.audio_filter_generate_coeffs:0000000000000000 $t /tmp/ccaPmNum.s:1748 .text.audio_filter_generate_coeffs:0000000000000000 audio_filter_generate_coeffs /tmp/ccaPmNum.s:1846 .text.audio_filter_generate_coeffs:0000000000000088 $d /tmp/ccaPmNum.s:1854 .text.rx_measure_signal:0000000000000000 $t /tmp/ccaPmNum.s:1862 .text.rx_measure_signal:0000000000000000 rx_measure_signal /tmp/ccaPmNum.s:1918 .text.rx_measure_signal:0000000000000028 $d *COM*:0000000000000004 rx_signal /tmp/ccaPmNum.s:2162 .data.st2_wide_taps:0000000000000000 st2_wide_taps /tmp/ccaPmNum.s:2028 .data.st2_filter_taps:0000000000000000 st2_filter_taps /tmp/ccaPmNum.s:2007 .data.ms_hbf_filter_taps:0000000000000000 ms_hbf_filter_taps /tmp/ccaPmNum.s:1935 .bss.I_mixed_2m_rb.14250:0000000000000000 $d /tmp/ccaPmNum.s:1939 .bss.I_mixed_2m_rb.14250:0000000000000000 I_mixed_2m_rb.14250 /tmp/ccaPmNum.s:1942 .bss.I_mixed_rb.14248:0000000000000000 $d /tmp/ccaPmNum.s:1946 .bss.I_mixed_rb.14248:0000000000000000 I_mixed_rb.14248 /tmp/ccaPmNum.s:1949 .bss.Q_mixed_2m_rb.14251:0000000000000000 $d /tmp/ccaPmNum.s:1953 .bss.Q_mixed_2m_rb.14251:0000000000000000 Q_mixed_2m_rb.14251 /tmp/ccaPmNum.s:1956 .bss.Q_mixed_rb.14249:0000000000000000 $d /tmp/ccaPmNum.s:1960 .bss.Q_mixed_rb.14249:0000000000000000 Q_mixed_rb.14249 /tmp/ccaPmNum.s:1966 .bss.mixed_samples_2m_ringbuffer_index.14247:0000000000000000 mixed_samples_2m_ringbuffer_index.14247 /tmp/ccaPmNum.s:1967 .bss.mixed_samples_2m_ringbuffer_index.14247:0000000000000000 $d /tmp/ccaPmNum.s:1972 .bss.mixed_samples_ringbuffer_index.14246:0000000000000000 mixed_samples_ringbuffer_index.14246 /tmp/ccaPmNum.s:1973 .bss.mixed_samples_ringbuffer_index.14246:0000000000000000 $d ARM GAS /tmp/ccaPmNum.s page 65 /tmp/ccaPmNum.s:1975 .bss.old_rx_signal.14337:0000000000000000 $d /tmp/ccaPmNum.s:1979 .bss.old_rx_signal.14337:0000000000000000 old_rx_signal.14337 /tmp/ccaPmNum.s:1982 .bss.phase_accu.14239:0000000000000000 $d /tmp/ccaPmNum.s:1986 .bss.phase_accu.14239:0000000000000000 phase_accu.14239 /tmp/ccaPmNum.s:1989 .bss.phase_accu.14275:0000000000000000 $d /tmp/ccaPmNum.s:1993 .bss.phase_accu.14275:0000000000000000 phase_accu.14275 /tmp/ccaPmNum.s:1996 .bss.phase_accu.14302:0000000000000000 $d /tmp/ccaPmNum.s:2000 .bss.phase_accu.14302:0000000000000000 phase_accu.14302 /tmp/ccaPmNum.s:2003 .data.ms_hbf_filter_taps:0000000000000000 $d /tmp/ccaPmNum.s:2024 .data.st2_filter_taps:0000000000000000 $d /tmp/ccaPmNum.s:2158 .data.st2_wide_taps:0000000000000000 $d UNDEFINED SYMBOLS ringbuf_increment arm_fir_decimate_q31 sat_mult_q31 modulation volume arm_fir_decimate_init_q31 arm_fir_init_q31 __aeabi_ui2d __aeabi_dmul __aeabi_i2d __aeabi_d2iz RectWinFIR FIRFilterWindow arm_max_q31 set_changed