922 lines
62 KiB
Plaintext
922 lines
62 KiB
Plaintext
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 1
|
||
|
||
|
||
1 .cpu cortex-m7
|
||
2 .arch armv7e-m
|
||
3 .fpu fpv5-d16
|
||
4 .eabi_attribute 28, 1
|
||
5 .eabi_attribute 20, 1
|
||
6 .eabi_attribute 21, 1
|
||
7 .eabi_attribute 23, 3
|
||
8 .eabi_attribute 24, 1
|
||
9 .eabi_attribute 25, 1
|
||
10 .eabi_attribute 26, 1
|
||
11 .eabi_attribute 30, 1
|
||
12 .eabi_attribute 34, 1
|
||
13 .eabi_attribute 18, 4
|
||
14 .file "stm32h7xx_hal_hsem.c"
|
||
15 .text
|
||
16 .Ltext0:
|
||
17 .cfi_sections .debug_frame
|
||
18 .file 1 "Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c"
|
||
19 .section .text.HAL_HSEM_Take,"ax",%progbits
|
||
20 .align 1
|
||
21 .global HAL_HSEM_Take
|
||
22 .syntax unified
|
||
23 .thumb
|
||
24 .thumb_func
|
||
26 HAL_HSEM_Take:
|
||
27 .LVL0:
|
||
28 .LFB335:
|
||
1:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
2:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ******************************************************************************
|
||
3:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @file stm32h7xx_hal_hsem.c
|
||
4:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @author MCD Application Team
|
||
5:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief HSEM HAL module driver.
|
||
6:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * This file provides firmware functions to manage the following
|
||
7:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * functionalities of the semaphore peripheral:
|
||
8:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + Semaphore Take function (2-Step Procedure) , non blocking
|
||
9:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + Semaphore FastTake function (1-Step Procedure) , non blocking
|
||
10:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + Semaphore Status check
|
||
11:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + Semaphore Clear Key Set and Get
|
||
12:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + Release and release all functions
|
||
13:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + Semaphore notification enabling and disabling and callnack functions
|
||
14:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * + IRQ handler management
|
||
15:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
16:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
17:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ******************************************************************************
|
||
18:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @attention
|
||
19:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
20:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * Copyright (c) 2017 STMicroelectronics.
|
||
21:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * All rights reserved.
|
||
22:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
23:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * This software is licensed under terms that can be found in the LICENSE file
|
||
24:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * in the root directory of this software component.
|
||
25:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
|
||
26:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
27:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ******************************************************************************
|
||
28:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @verbatim
|
||
29:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
30:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ##### How to use this driver #####
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 2
|
||
|
||
|
||
31:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
32:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..]
|
||
33:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#)Take a semaphore In 2-Step mode Using function HAL_HSEM_Take. This function takes as param
|
||
34:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the semaphore ID from 0 to 31
|
||
35:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the process ID from 0 to 255
|
||
36:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#) Fast Take semaphore In 1-Step mode Using function HAL_HSEM_FastTake. This function takes
|
||
37:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the semaphore ID from 0_ID to 31. Note that the process ID value is implicitly assu
|
||
38:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#) Check if a semaphore is Taken using function HAL_HSEM_IsSemTaken. This function takes as
|
||
39:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the semaphore ID from 0_ID to 31
|
||
40:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) It returns 1 if the given semaphore is taken otherwise (Free) zero
|
||
41:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#)Release a semaphore using function with HAL_HSEM_Release. This function takes as parameter
|
||
42:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the semaphore ID from 0 to 31
|
||
43:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the process ID from 0 to 255:
|
||
44:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) Note: If ProcessID and MasterID match, semaphore is freed, and an interrupt
|
||
45:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** may be generated when enabled (notification activated). If ProcessID or MasterID does not
|
||
46:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** semaphore remains taken (locked)
|
||
47:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
48:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#)Release all semaphores at once taken by a given Master using function HAL_HSEM_Release_All
|
||
49:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** This function takes as parameters :
|
||
50:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the Release Key (value from 0 to 0xFFFF) can be Set or Get respectively by
|
||
51:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HAL_HSEM_SetClearKey() or HAL_HSEM_GetClearKey functions
|
||
52:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) the Master ID:
|
||
53:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) Note: If the Key and MasterID match, all semaphores taken by the given CPU that cor
|
||
54:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** to MasterID will be freed, and an interrupt may be generated when enabled (notification
|
||
55:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** Key or the MasterID doesn't match, semaphores remains taken (locked)
|
||
56:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
57:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#)Semaphores Release all key functions:
|
||
58:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) HAL_HSEM_SetClearKey() to set semaphore release all Key
|
||
59:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) HAL_HSEM_GetClearKey() to get release all Key
|
||
60:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (#)Semaphores notification functions :
|
||
61:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) HAL_HSEM_ActivateNotification to activate a notification callback on
|
||
62:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** a given semaphores Mask (bitfield). When one or more semaphores defined by the mask
|
||
63:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** the callback HAL_HSEM_FreeCallback will be asserted giving as parameters a mask of t
|
||
64:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** semaphores (bitfield).
|
||
65:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
66:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) HAL_HSEM_DeactivateNotification to deactivate the notification of a given semaphores
|
||
67:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (++) See the description of the macro __HAL_HSEM_SEMID_TO_MASK to check how to calculate a
|
||
68:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** Used by the notification functions
|
||
69:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *** HSEM HAL driver macros list ***
|
||
70:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** =============================================
|
||
71:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] Below the list of most used macros in HSEM HAL driver.
|
||
72:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
73:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) __HAL_HSEM_SEMID_TO_MASK: Helper macro to convert a Semaphore ID to a Mask.
|
||
74:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] Example of use :
|
||
75:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] mask = __HAL_HSEM_SEMID_TO_MASK(8) | __HAL_HSEM_SEMID_TO_MASK(21) | __HAL_HSEM_SEMID_T
|
||
76:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] All next macros take as parameter a semaphore Mask (bitfiled) that can be constructed us
|
||
77:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) __HAL_HSEM_ENABLE_IT: Enable the specified semaphores Mask interrupts.
|
||
78:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) __HAL_HSEM_DISABLE_IT: Disable the specified semaphores Mask interrupts.
|
||
79:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) __HAL_HSEM_GET_IT: Checks whether the specified semaphore interrupt has occurred or not.
|
||
80:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) __HAL_HSEM_GET_FLAG: Get the semaphores status release flags.
|
||
81:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) __HAL_HSEM_CLEAR_FLAG: Clear the semaphores status release flags.
|
||
82:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
83:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @endverbatim
|
||
84:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ******************************************************************************
|
||
85:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
86:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
87:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Includes ------------------------------------------------------------------*/
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 3
|
||
|
||
|
||
88:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #include "stm32h7xx_hal.h"
|
||
89:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
90:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @addtogroup STM32H7xx_HAL_Driver
|
||
91:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
92:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
93:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
94:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @defgroup HSEM HSEM
|
||
95:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief HSEM HAL module driver
|
||
96:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
97:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
98:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
99:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #ifdef HAL_HSEM_MODULE_ENABLED
|
||
100:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
101:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Private typedef -----------------------------------------------------------*/
|
||
102:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Private define ------------------------------------------------------------*/
|
||
103:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if defined(DUAL_CORE)
|
||
104:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @defgroup HSEM_Private_Constants HSEM Private Constants
|
||
105:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
106:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
107:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
108:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #ifndef HSEM_R_MASTERID
|
||
109:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #define HSEM_R_MASTERID HSEM_R_COREID
|
||
110:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
111:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
112:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #ifndef HSEM_RLR_MASTERID
|
||
113:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #define HSEM_RLR_MASTERID HSEM_RLR_COREID
|
||
114:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
115:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
116:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #ifndef HSEM_CR_MASTERID
|
||
117:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #define HSEM_CR_MASTERID HSEM_CR_COREID
|
||
118:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
119:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
120:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
121:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @}
|
||
122:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
123:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif /* DUAL_CORE */
|
||
124:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Private macro -------------------------------------------------------------*/
|
||
125:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Private variables ---------------------------------------------------------*/
|
||
126:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Private function prototypes -----------------------------------------------*/
|
||
127:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Private functions ---------------------------------------------------------*/
|
||
128:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Exported functions --------------------------------------------------------*/
|
||
129:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
130:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @defgroup HSEM_Exported_Functions HSEM Exported Functions
|
||
131:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
132:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
133:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
134:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @defgroup HSEM_Exported_Functions_Group1 Take and Release functions
|
||
135:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief HSEM Take and Release functions
|
||
136:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
137:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @verbatim
|
||
138:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
139:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ##### HSEM Take and Release functions #####
|
||
140:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
141:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] This section provides functions allowing to:
|
||
142:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Take a semaphore with 2 Step method
|
||
143:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Fast Take a semaphore with 1 Step method
|
||
144:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Check semaphore state Taken or not
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 4
|
||
|
||
|
||
145:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Release a semaphore
|
||
146:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Release all semaphore at once
|
||
147:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
148:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @endverbatim
|
||
149:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
150:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
151:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
152:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
153:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
154:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Take a semaphore in 2 Step mode.
|
||
155:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemID: semaphore ID from 0 to 31
|
||
156:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param ProcessID: Process ID from 0 to 255
|
||
157:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval HAL status
|
||
158:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
159:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HAL_StatusTypeDef HAL_HSEM_Take(uint32_t SemID, uint32_t ProcessID)
|
||
160:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
29 .loc 1 160 1 view -0
|
||
30 .cfi_startproc
|
||
31 @ args = 0, pretend = 0, frame = 0
|
||
32 @ frame_needed = 0, uses_anonymous_args = 0
|
||
33 @ link register save eliminated.
|
||
161:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Check the parameters */
|
||
162:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_SEMID(SemID));
|
||
34 .loc 1 162 3 view .LVU1
|
||
163:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_PROCESSID(ProcessID));
|
||
35 .loc 1 163 3 view .LVU2
|
||
164:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
165:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
166:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* First step write R register with MasterID, processID and take bit=1*/
|
||
167:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->R[SemID] = ((ProcessID & HSEM_R_PROCID) | ((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MA
|
||
168:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
169:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* second step : read the R register . Take achieved if MasterID and processID match and take bit
|
||
170:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HSEM->R[SemID] == ((ProcessID & HSEM_R_PROCID) | ((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM
|
||
171:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
172:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*take success when MasterID and ProcessID match and take bit set*/
|
||
173:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return HAL_OK;
|
||
174:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
175:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #else
|
||
176:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* First step write R register with MasterID, processID and take bit=1*/
|
||
177:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->R[SemID] = (ProcessID | HSEM_CR_COREID_CURRENT | HSEM_R_LOCK);
|
||
36 .loc 1 177 3 view .LVU3
|
||
37 .loc 1 177 56 is_stmt 0 view .LVU4
|
||
38 0000 064B ldr r3, .L4
|
||
39 0002 0B43 orrs r3, r3, r1
|
||
40 .loc 1 177 18 view .LVU5
|
||
41 0004 064A ldr r2, .L4+4
|
||
42 0006 42F82030 str r3, [r2, r0, lsl #2]
|
||
178:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
179:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* second step : read the R register . Take achieved if MasterID and processID match and take bit
|
||
180:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HSEM->R[SemID] == (ProcessID | HSEM_CR_COREID_CURRENT | HSEM_R_LOCK))
|
||
43 .loc 1 180 3 is_stmt 1 view .LVU6
|
||
44 .loc 1 180 14 is_stmt 0 view .LVU7
|
||
45 000a 52F82020 ldr r2, [r2, r0, lsl #2]
|
||
46 .loc 1 180 6 view .LVU8
|
||
47 000e 9342 cmp r3, r2
|
||
48 0010 01D0 beq .L3
|
||
181:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 5
|
||
|
||
|
||
182:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*take success when MasterID and ProcessID match and take bit set*/
|
||
183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return HAL_OK;
|
||
184:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
185:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
186:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
187:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Semaphore take fails*/
|
||
188:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return HAL_ERROR;
|
||
49 .loc 1 188 10 view .LVU9
|
||
50 0012 0120 movs r0, #1
|
||
51 .LVL1:
|
||
52 .loc 1 188 10 view .LVU10
|
||
53 0014 7047 bx lr
|
||
54 .LVL2:
|
||
55 .L3:
|
||
183:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
56 .loc 1 183 12 view .LVU11
|
||
57 0016 0020 movs r0, #0
|
||
58 .LVL3:
|
||
189:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
59 .loc 1 189 1 view .LVU12
|
||
60 0018 7047 bx lr
|
||
61 .L5:
|
||
62 001a 00BF .align 2
|
||
63 .L4:
|
||
64 001c 00010080 .word -2147483392
|
||
65 0020 00080248 .word 1208092672
|
||
66 .cfi_endproc
|
||
67 .LFE335:
|
||
69 .section .text.HAL_HSEM_FastTake,"ax",%progbits
|
||
70 .align 1
|
||
71 .global HAL_HSEM_FastTake
|
||
72 .syntax unified
|
||
73 .thumb
|
||
74 .thumb_func
|
||
76 HAL_HSEM_FastTake:
|
||
77 .LVL4:
|
||
78 .LFB336:
|
||
190:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
191:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
192:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Fast Take a semaphore with 1 Step mode.
|
||
193:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemID: semaphore ID from 0 to 31
|
||
194:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval HAL status
|
||
195:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
196:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HAL_StatusTypeDef HAL_HSEM_FastTake(uint32_t SemID)
|
||
197:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
79 .loc 1 197 1 is_stmt 1 view -0
|
||
80 .cfi_startproc
|
||
81 @ args = 0, pretend = 0, frame = 0
|
||
82 @ frame_needed = 0, uses_anonymous_args = 0
|
||
83 @ link register save eliminated.
|
||
198:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Check the parameters */
|
||
199:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_SEMID(SemID));
|
||
84 .loc 1 199 3 view .LVU14
|
||
200:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
201:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
202:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Read the RLR register to take the semaphore */
|
||
203:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HSEM->RLR[SemID] == (((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MASTERID)) & HSEM_RLR_MAS
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 6
|
||
|
||
|
||
204:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
205:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*take success when MasterID match and take bit set*/
|
||
206:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return HAL_OK;
|
||
207:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
208:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #else
|
||
209:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Read the RLR register to take the semaphore */
|
||
210:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HSEM->RLR[SemID] == (HSEM_CR_COREID_CURRENT | HSEM_RLR_LOCK))
|
||
85 .loc 1 210 3 view .LVU15
|
||
86 .loc 1 210 16 is_stmt 0 view .LVU16
|
||
87 0000 2030 adds r0, r0, #32
|
||
88 .LVL5:
|
||
89 .loc 1 210 16 view .LVU17
|
||
90 0002 054B ldr r3, .L9
|
||
91 0004 53F82020 ldr r2, [r3, r0, lsl #2]
|
||
92 .loc 1 210 6 view .LVU18
|
||
93 0008 044B ldr r3, .L9+4
|
||
94 000a 9A42 cmp r2, r3
|
||
95 000c 01D0 beq .L8
|
||
211:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
212:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*take success when MasterID match and take bit set*/
|
||
213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return HAL_OK;
|
||
214:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
215:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
216:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
217:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Semaphore take fails */
|
||
218:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return HAL_ERROR;
|
||
96 .loc 1 218 10 view .LVU19
|
||
97 000e 0120 movs r0, #1
|
||
98 .LVL6:
|
||
99 .loc 1 218 10 view .LVU20
|
||
100 0010 7047 bx lr
|
||
101 .L8:
|
||
213:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
102 .loc 1 213 12 view .LVU21
|
||
103 0012 0020 movs r0, #0
|
||
219:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
104 .loc 1 219 1 view .LVU22
|
||
105 0014 7047 bx lr
|
||
106 .L10:
|
||
107 0016 00BF .align 2
|
||
108 .L9:
|
||
109 0018 00080248 .word 1208092672
|
||
110 001c 00010080 .word -2147483392
|
||
111 .cfi_endproc
|
||
112 .LFE336:
|
||
114 .section .text.HAL_HSEM_IsSemTaken,"ax",%progbits
|
||
115 .align 1
|
||
116 .global HAL_HSEM_IsSemTaken
|
||
117 .syntax unified
|
||
118 .thumb
|
||
119 .thumb_func
|
||
121 HAL_HSEM_IsSemTaken:
|
||
122 .LVL7:
|
||
123 .LFB337:
|
||
220:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
221:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Check semaphore state Taken or not.
|
||
222:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemID: semaphore ID
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 7
|
||
|
||
|
||
223:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval HAL HSEM state
|
||
224:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
225:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** uint32_t HAL_HSEM_IsSemTaken(uint32_t SemID)
|
||
226:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
124 .loc 1 226 1 is_stmt 1 view -0
|
||
125 .cfi_startproc
|
||
126 @ args = 0, pretend = 0, frame = 0
|
||
127 @ frame_needed = 0, uses_anonymous_args = 0
|
||
128 @ link register save eliminated.
|
||
227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return (((HSEM->R[SemID] & HSEM_R_LOCK) != 0U) ? 1UL : 0UL);
|
||
129 .loc 1 227 3 view .LVU24
|
||
130 .loc 1 227 20 is_stmt 0 view .LVU25
|
||
131 0000 044B ldr r3, .L15
|
||
132 0002 53F82030 ldr r3, [r3, r0, lsl #2]
|
||
133 .loc 1 227 56 view .LVU26
|
||
134 0006 002B cmp r3, #0
|
||
135 0008 01DB blt .L14
|
||
136 .loc 1 227 56 discriminator 2 view .LVU27
|
||
137 000a 0020 movs r0, #0
|
||
138 .LVL8:
|
||
228:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
139 .loc 1 228 1 view .LVU28
|
||
140 000c 7047 bx lr
|
||
141 .LVL9:
|
||
142 .L14:
|
||
227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return (((HSEM->R[SemID] & HSEM_R_LOCK) != 0U) ? 1UL : 0UL);
|
||
143 .loc 1 227 56 discriminator 1 view .LVU29
|
||
144 000e 0120 movs r0, #1
|
||
145 .LVL10:
|
||
227:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return (((HSEM->R[SemID] & HSEM_R_LOCK) != 0U) ? 1UL : 0UL);
|
||
146 .loc 1 227 56 discriminator 1 view .LVU30
|
||
147 0010 7047 bx lr
|
||
148 .L16:
|
||
149 0012 00BF .align 2
|
||
150 .L15:
|
||
151 0014 00080248 .word 1208092672
|
||
152 .cfi_endproc
|
||
153 .LFE337:
|
||
155 .section .text.HAL_HSEM_Release,"ax",%progbits
|
||
156 .align 1
|
||
157 .global HAL_HSEM_Release
|
||
158 .syntax unified
|
||
159 .thumb
|
||
160 .thumb_func
|
||
162 HAL_HSEM_Release:
|
||
163 .LVL11:
|
||
164 .LFB338:
|
||
229:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
230:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
231:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
232:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Release a semaphore.
|
||
233:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemID: semaphore ID from 0 to 31
|
||
234:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param ProcessID: Process ID from 0 to 255
|
||
235:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval None
|
||
236:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
237:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** void HAL_HSEM_Release(uint32_t SemID, uint32_t ProcessID)
|
||
238:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 8
|
||
|
||
|
||
165 .loc 1 238 1 is_stmt 1 view -0
|
||
166 .cfi_startproc
|
||
167 @ args = 0, pretend = 0, frame = 0
|
||
168 @ frame_needed = 0, uses_anonymous_args = 0
|
||
169 @ link register save eliminated.
|
||
239:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Check the parameters */
|
||
240:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_SEMID(SemID));
|
||
170 .loc 1 240 3 view .LVU32
|
||
241:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_PROCESSID(ProcessID));
|
||
171 .loc 1 241 3 view .LVU33
|
||
242:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
243:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Clear the semaphore by writing to the R register : the MasterID , the processID and take bit =
|
||
244:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
245:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->R[SemID] = (ProcessID | ((HAL_GetCurrentCPUID() << POSITION_VAL(HSEM_R_MASTERID)) & HSEM_R_
|
||
246:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #else
|
||
247:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->R[SemID] = (ProcessID | HSEM_CR_COREID_CURRENT);
|
||
172 .loc 1 247 3 view .LVU34
|
||
173 .loc 1 247 31 is_stmt 0 view .LVU35
|
||
174 0000 41F48071 orr r1, r1, #256
|
||
175 .LVL12:
|
||
176 .loc 1 247 18 view .LVU36
|
||
177 0004 014B ldr r3, .L18
|
||
178 0006 43F82010 str r1, [r3, r0, lsl #2]
|
||
248:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
249:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
250:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
179 .loc 1 250 1 view .LVU37
|
||
180 000a 7047 bx lr
|
||
181 .L19:
|
||
182 .align 2
|
||
183 .L18:
|
||
184 000c 00080248 .word 1208092672
|
||
185 .cfi_endproc
|
||
186 .LFE338:
|
||
188 .section .text.HAL_HSEM_ReleaseAll,"ax",%progbits
|
||
189 .align 1
|
||
190 .global HAL_HSEM_ReleaseAll
|
||
191 .syntax unified
|
||
192 .thumb
|
||
193 .thumb_func
|
||
195 HAL_HSEM_ReleaseAll:
|
||
196 .LVL13:
|
||
197 .LFB339:
|
||
251:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
252:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
253:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Release All semaphore used by a given Master .
|
||
254:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param Key: Semaphore Key , value from 0 to 0xFFFF
|
||
255:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param CoreID: CoreID of the CPU that is using semaphores to be released
|
||
256:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval None
|
||
257:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
258:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** void HAL_HSEM_ReleaseAll(uint32_t Key, uint32_t CoreID)
|
||
259:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
198 .loc 1 259 1 is_stmt 1 view -0
|
||
199 .cfi_startproc
|
||
200 @ args = 0, pretend = 0, frame = 0
|
||
201 @ frame_needed = 0, uses_anonymous_args = 0
|
||
202 @ link register save eliminated.
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 9
|
||
|
||
|
||
260:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_KEY(Key));
|
||
203 .loc 1 260 3 view .LVU39
|
||
261:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_COREID(CoreID));
|
||
204 .loc 1 261 3 view .LVU40
|
||
262:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
263:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->CR = ((Key << HSEM_CR_KEY_Pos) | (CoreID << HSEM_CR_COREID_Pos));
|
||
205 .loc 1 263 3 view .LVU41
|
||
206 .loc 1 263 50 is_stmt 0 view .LVU42
|
||
207 0000 0902 lsls r1, r1, #8
|
||
208 .LVL14:
|
||
209 .loc 1 263 40 view .LVU43
|
||
210 0002 41EA0041 orr r1, r1, r0, lsl #16
|
||
211 .loc 1 263 12 view .LVU44
|
||
212 0006 024B ldr r3, .L21
|
||
213 0008 C3F84011 str r1, [r3, #320]
|
||
264:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
214 .loc 1 264 1 view .LVU45
|
||
215 000c 7047 bx lr
|
||
216 .L22:
|
||
217 000e 00BF .align 2
|
||
218 .L21:
|
||
219 0010 00080248 .word 1208092672
|
||
220 .cfi_endproc
|
||
221 .LFE339:
|
||
223 .section .text.HAL_HSEM_SetClearKey,"ax",%progbits
|
||
224 .align 1
|
||
225 .global HAL_HSEM_SetClearKey
|
||
226 .syntax unified
|
||
227 .thumb
|
||
228 .thumb_func
|
||
230 HAL_HSEM_SetClearKey:
|
||
231 .LVL15:
|
||
232 .LFB340:
|
||
265:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
266:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
267:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @}
|
||
268:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
269:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
270:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @defgroup HSEM_Exported_Functions_Group2 HSEM Set and Get Key functions
|
||
271:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief HSEM Set and Get Key functions.
|
||
272:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
273:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @verbatim
|
||
274:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
275:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ##### HSEM Set and Get Key functions #####
|
||
276:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
277:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] This section provides functions allowing to:
|
||
278:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Set semaphore Key
|
||
279:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** (+) Get semaphore Key
|
||
280:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @endverbatim
|
||
281:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
282:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
283:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
284:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
285:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
286:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Set semaphore Key .
|
||
287:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param Key: Semaphore Key , value from 0 to 0xFFFF
|
||
288:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval None
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 10
|
||
|
||
|
||
289:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
290:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** void HAL_HSEM_SetClearKey(uint32_t Key)
|
||
291:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
233 .loc 1 291 1 is_stmt 1 view -0
|
||
234 .cfi_startproc
|
||
235 @ args = 0, pretend = 0, frame = 0
|
||
236 @ frame_needed = 0, uses_anonymous_args = 0
|
||
237 @ link register save eliminated.
|
||
292:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** assert_param(IS_HSEM_KEY(Key));
|
||
238 .loc 1 292 3 view .LVU47
|
||
293:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
294:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** MODIFY_REG(HSEM->KEYR, HSEM_KEYR_KEY, (Key << HSEM_KEYR_KEY_Pos));
|
||
239 .loc 1 294 3 view .LVU48
|
||
240 0000 044A ldr r2, .L24
|
||
241 0002 D2F84431 ldr r3, [r2, #324]
|
||
242 0006 9BB2 uxth r3, r3
|
||
243 0008 43EA0043 orr r3, r3, r0, lsl #16
|
||
244 000c C2F84431 str r3, [r2, #324]
|
||
295:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
296:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
245 .loc 1 296 1 is_stmt 0 view .LVU49
|
||
246 0010 7047 bx lr
|
||
247 .L25:
|
||
248 0012 00BF .align 2
|
||
249 .L24:
|
||
250 0014 00080248 .word 1208092672
|
||
251 .cfi_endproc
|
||
252 .LFE340:
|
||
254 .section .text.HAL_HSEM_GetClearKey,"ax",%progbits
|
||
255 .align 1
|
||
256 .global HAL_HSEM_GetClearKey
|
||
257 .syntax unified
|
||
258 .thumb
|
||
259 .thumb_func
|
||
261 HAL_HSEM_GetClearKey:
|
||
262 .LFB341:
|
||
297:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
298:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
299:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Get semaphore Key .
|
||
300:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval Semaphore Key , value from 0 to 0xFFFF
|
||
301:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
302:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** uint32_t HAL_HSEM_GetClearKey(void)
|
||
303:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
263 .loc 1 303 1 is_stmt 1 view -0
|
||
264 .cfi_startproc
|
||
265 @ args = 0, pretend = 0, frame = 0
|
||
266 @ frame_needed = 0, uses_anonymous_args = 0
|
||
267 @ link register save eliminated.
|
||
304:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** return (HSEM->KEYR >> HSEM_KEYR_KEY_Pos);
|
||
268 .loc 1 304 3 view .LVU51
|
||
269 .loc 1 304 15 is_stmt 0 view .LVU52
|
||
270 0000 024B ldr r3, .L27
|
||
271 0002 D3F84401 ldr r0, [r3, #324]
|
||
305:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
272 .loc 1 305 1 view .LVU53
|
||
273 0006 000C lsrs r0, r0, #16
|
||
274 0008 7047 bx lr
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 11
|
||
|
||
|
||
275 .L28:
|
||
276 000a 00BF .align 2
|
||
277 .L27:
|
||
278 000c 00080248 .word 1208092672
|
||
279 .cfi_endproc
|
||
280 .LFE341:
|
||
282 .section .text.HAL_HSEM_ActivateNotification,"ax",%progbits
|
||
283 .align 1
|
||
284 .global HAL_HSEM_ActivateNotification
|
||
285 .syntax unified
|
||
286 .thumb
|
||
287 .thumb_func
|
||
289 HAL_HSEM_ActivateNotification:
|
||
290 .LVL16:
|
||
291 .LFB342:
|
||
306:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
307:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
308:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @}
|
||
309:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
310:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
311:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /** @defgroup HSEM_Exported_Functions_Group3 HSEM IRQ handler management
|
||
312:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief HSEM Notification functions.
|
||
313:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** *
|
||
314:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @verbatim
|
||
315:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
316:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ##### HSEM IRQ handler management and Notification functions #####
|
||
317:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** ==============================================================================
|
||
318:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** [..] This section provides HSEM IRQ handler and Notification function.
|
||
319:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
320:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** @endverbatim
|
||
321:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @{
|
||
322:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
323:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
324:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
325:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Activate Semaphore release Notification for a given Semaphores Mask .
|
||
326:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemMask: Mask of Released semaphores
|
||
327:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval Semaphore Key
|
||
328:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
329:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** void HAL_HSEM_ActivateNotification(uint32_t SemMask)
|
||
330:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
292 .loc 1 330 1 is_stmt 1 view -0
|
||
293 .cfi_startproc
|
||
294 @ args = 0, pretend = 0, frame = 0
|
||
295 @ frame_needed = 0, uses_anonymous_args = 0
|
||
296 @ link register save eliminated.
|
||
331:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
332:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*enable the semaphore mask interrupts */
|
||
333:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HAL_GetCurrentCPUID() == HSEM_CPU1_COREID)
|
||
334:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
335:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Use interrupt line 0 for CPU1 Master */
|
||
336:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C1IER |= SemMask;
|
||
337:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
338:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** else /* HSEM_CPU2_COREID */
|
||
339:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
340:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Use interrupt line 1 for CPU2 Master*/
|
||
341:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C2IER |= SemMask;
|
||
342:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 12
|
||
|
||
|
||
343:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #else
|
||
344:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM_COMMON->IER |= SemMask;
|
||
297 .loc 1 344 3 view .LVU55
|
||
298 .loc 1 344 14 is_stmt 0 view .LVU56
|
||
299 0000 024A ldr r2, .L30
|
||
300 0002 1368 ldr r3, [r2]
|
||
301 .loc 1 344 20 view .LVU57
|
||
302 0004 0343 orrs r3, r3, r0
|
||
303 0006 1360 str r3, [r2]
|
||
345:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
346:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
304 .loc 1 346 1 view .LVU58
|
||
305 0008 7047 bx lr
|
||
306 .L31:
|
||
307 000a 00BF .align 2
|
||
308 .L30:
|
||
309 000c 00090248 .word 1208092928
|
||
310 .cfi_endproc
|
||
311 .LFE342:
|
||
313 .section .text.HAL_HSEM_DeactivateNotification,"ax",%progbits
|
||
314 .align 1
|
||
315 .global HAL_HSEM_DeactivateNotification
|
||
316 .syntax unified
|
||
317 .thumb
|
||
318 .thumb_func
|
||
320 HAL_HSEM_DeactivateNotification:
|
||
321 .LVL17:
|
||
322 .LFB343:
|
||
347:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
348:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
349:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Deactivate Semaphore release Notification for a given Semaphores Mask .
|
||
350:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemMask: Mask of Released semaphores
|
||
351:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval Semaphore Key
|
||
352:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
353:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** void HAL_HSEM_DeactivateNotification(uint32_t SemMask)
|
||
354:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
323 .loc 1 354 1 is_stmt 1 view -0
|
||
324 .cfi_startproc
|
||
325 @ args = 0, pretend = 0, frame = 0
|
||
326 @ frame_needed = 0, uses_anonymous_args = 0
|
||
327 @ link register save eliminated.
|
||
355:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
356:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*enable the semaphore mask interrupts */
|
||
357:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HAL_GetCurrentCPUID() == HSEM_CPU1_COREID)
|
||
358:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
359:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Use interrupt line 0 for CPU1 Master */
|
||
360:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C1IER &= ~SemMask;
|
||
361:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
362:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** else /* HSEM_CPU2_COREID */
|
||
363:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
364:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Use interrupt line 1 for CPU2 Master*/
|
||
365:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C2IER &= ~SemMask;
|
||
366:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
367:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #else
|
||
368:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM_COMMON->IER &= ~SemMask;
|
||
328 .loc 1 368 3 view .LVU60
|
||
329 .loc 1 368 14 is_stmt 0 view .LVU61
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 13
|
||
|
||
|
||
330 0000 024A ldr r2, .L33
|
||
331 0002 1368 ldr r3, [r2]
|
||
332 .loc 1 368 20 view .LVU62
|
||
333 0004 23EA0003 bic r3, r3, r0
|
||
334 0008 1360 str r3, [r2]
|
||
369:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
370:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
335 .loc 1 370 1 view .LVU63
|
||
336 000a 7047 bx lr
|
||
337 .L34:
|
||
338 .align 2
|
||
339 .L33:
|
||
340 000c 00090248 .word 1208092928
|
||
341 .cfi_endproc
|
||
342 .LFE343:
|
||
344 .section .text.HAL_HSEM_FreeCallback,"ax",%progbits
|
||
345 .align 1
|
||
346 .weak HAL_HSEM_FreeCallback
|
||
347 .syntax unified
|
||
348 .thumb
|
||
349 .thumb_func
|
||
351 HAL_HSEM_FreeCallback:
|
||
352 .LVL18:
|
||
353 .LFB345:
|
||
371:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
372:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
373:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief This function handles HSEM interrupt request
|
||
374:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval None
|
||
375:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
376:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** void HAL_HSEM_IRQHandler(void)
|
||
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** uint32_t statusreg;
|
||
379:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
380:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** if (HAL_GetCurrentCPUID() == HSEM_CPU1_COREID)
|
||
381:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
382:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Get the list of masked freed semaphores*/
|
||
383:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** statusreg = HSEM->C1MISR; /*Use interrupt line 0 for CPU1 Master*/
|
||
384:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
385:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Disable Interrupts*/
|
||
386:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C1IER &= ~((uint32_t)statusreg);
|
||
387:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
388:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Clear Flags*/
|
||
389:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C1ICR = ((uint32_t)statusreg);
|
||
390:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
391:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** else /* HSEM_CPU2_COREID */
|
||
392:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
393:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Get the list of masked freed semaphores*/
|
||
394:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** statusreg = HSEM->C2MISR;/*Use interrupt line 1 for CPU2 Master*/
|
||
395:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
396:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Disable Interrupts*/
|
||
397:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C2IER &= ~((uint32_t)statusreg);
|
||
398:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
399:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Clear Flags*/
|
||
400:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM->C2ICR = ((uint32_t)statusreg);
|
||
401:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
402:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #else
|
||
403:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Get the list of masked freed semaphores*/
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 14
|
||
|
||
|
||
404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** statusreg = HSEM_COMMON->MISR;
|
||
405:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
406:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Disable Interrupts*/
|
||
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM_COMMON->IER &= ~((uint32_t)statusreg);
|
||
408:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
409:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /*Clear Flags*/
|
||
410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HSEM_COMMON->ICR = ((uint32_t)statusreg);
|
||
411:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
412:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #endif
|
||
413:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Call FreeCallback */
|
||
414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** HAL_HSEM_FreeCallback(statusreg);
|
||
415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
416:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
417:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /**
|
||
418:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @brief Semaphore Released Callback.
|
||
419:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @param SemMask: Mask of Released semaphores
|
||
420:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** * @retval None
|
||
421:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
422:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** __weak void HAL_HSEM_FreeCallback(uint32_t SemMask)
|
||
423:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** {
|
||
354 .loc 1 423 1 is_stmt 1 view -0
|
||
355 .cfi_startproc
|
||
356 @ args = 0, pretend = 0, frame = 0
|
||
357 @ frame_needed = 0, uses_anonymous_args = 0
|
||
358 @ link register save eliminated.
|
||
424:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* Prevent unused argument(s) compilation warning */
|
||
425:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** UNUSED(SemMask);
|
||
359 .loc 1 425 3 view .LVU65
|
||
426:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
427:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** /* NOTE : This function should not be modified, when the callback is needed,
|
||
428:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** the HAL_HSEM_FreeCallback can be implemented in the user file
|
||
429:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** */
|
||
430:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
360 .loc 1 430 1 is_stmt 0 view .LVU66
|
||
361 0000 7047 bx lr
|
||
362 .cfi_endproc
|
||
363 .LFE345:
|
||
365 .section .text.HAL_HSEM_IRQHandler,"ax",%progbits
|
||
366 .align 1
|
||
367 .global HAL_HSEM_IRQHandler
|
||
368 .syntax unified
|
||
369 .thumb
|
||
370 .thumb_func
|
||
372 HAL_HSEM_IRQHandler:
|
||
373 .LFB344:
|
||
377:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** uint32_t statusreg;
|
||
374 .loc 1 377 1 is_stmt 1 view -0
|
||
375 .cfi_startproc
|
||
376 @ args = 0, pretend = 0, frame = 0
|
||
377 @ frame_needed = 0, uses_anonymous_args = 0
|
||
378 0000 08B5 push {r3, lr}
|
||
379 .cfi_def_cfa_offset 8
|
||
380 .cfi_offset 3, -8
|
||
381 .cfi_offset 14, -4
|
||
378:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** #if USE_MULTI_CORE_SHARED_CODE != 0U
|
||
382 .loc 1 378 3 view .LVU68
|
||
404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 15
|
||
|
||
|
||
383 .loc 1 404 3 view .LVU69
|
||
404:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
384 .loc 1 404 13 is_stmt 0 view .LVU70
|
||
385 0002 054B ldr r3, .L38
|
||
386 0004 D868 ldr r0, [r3, #12]
|
||
387 .LVL19:
|
||
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
388 .loc 1 407 3 is_stmt 1 view .LVU71
|
||
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
389 .loc 1 407 14 is_stmt 0 view .LVU72
|
||
390 0006 1A68 ldr r2, [r3]
|
||
407:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
391 .loc 1 407 20 view .LVU73
|
||
392 0008 22EA0002 bic r2, r2, r0
|
||
393 000c 1A60 str r2, [r3]
|
||
410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
394 .loc 1 410 3 is_stmt 1 view .LVU74
|
||
410:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
395 .loc 1 410 20 is_stmt 0 view .LVU75
|
||
396 000e 5860 str r0, [r3, #4]
|
||
414:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c **** }
|
||
397 .loc 1 414 3 is_stmt 1 view .LVU76
|
||
398 0010 FFF7FEFF bl HAL_HSEM_FreeCallback
|
||
399 .LVL20:
|
||
415:Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_hsem.c ****
|
||
400 .loc 1 415 1 is_stmt 0 view .LVU77
|
||
401 0014 08BD pop {r3, pc}
|
||
402 .L39:
|
||
403 0016 00BF .align 2
|
||
404 .L38:
|
||
405 0018 00090248 .word 1208092928
|
||
406 .cfi_endproc
|
||
407 .LFE344:
|
||
409 .text
|
||
410 .Letext0:
|
||
411 .file 2 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
|
||
412 .file 3 "C:/Users/lenex/AppData/Roaming/Code/User/globalStorage/bmd.stm32-for-vscode/@xpack-dev-to
|
||
413 .file 4 "Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7a3xx.h"
|
||
414 .file 5 "Drivers/STM32H7xx_HAL_Driver/Inc/stm32h7xx_hal_def.h"
|
||
ARM GAS C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s page 16
|
||
|
||
|
||
DEFINED SYMBOLS
|
||
*ABS*:00000000 stm32h7xx_hal_hsem.c
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:20 .text.HAL_HSEM_Take:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:26 .text.HAL_HSEM_Take:00000000 HAL_HSEM_Take
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:64 .text.HAL_HSEM_Take:0000001c $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:70 .text.HAL_HSEM_FastTake:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:76 .text.HAL_HSEM_FastTake:00000000 HAL_HSEM_FastTake
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:109 .text.HAL_HSEM_FastTake:00000018 $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:115 .text.HAL_HSEM_IsSemTaken:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:121 .text.HAL_HSEM_IsSemTaken:00000000 HAL_HSEM_IsSemTaken
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:151 .text.HAL_HSEM_IsSemTaken:00000014 $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:156 .text.HAL_HSEM_Release:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:162 .text.HAL_HSEM_Release:00000000 HAL_HSEM_Release
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:184 .text.HAL_HSEM_Release:0000000c $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:189 .text.HAL_HSEM_ReleaseAll:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:195 .text.HAL_HSEM_ReleaseAll:00000000 HAL_HSEM_ReleaseAll
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:219 .text.HAL_HSEM_ReleaseAll:00000010 $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:224 .text.HAL_HSEM_SetClearKey:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:230 .text.HAL_HSEM_SetClearKey:00000000 HAL_HSEM_SetClearKey
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:250 .text.HAL_HSEM_SetClearKey:00000014 $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:255 .text.HAL_HSEM_GetClearKey:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:261 .text.HAL_HSEM_GetClearKey:00000000 HAL_HSEM_GetClearKey
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:278 .text.HAL_HSEM_GetClearKey:0000000c $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:283 .text.HAL_HSEM_ActivateNotification:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:289 .text.HAL_HSEM_ActivateNotification:00000000 HAL_HSEM_ActivateNotification
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:309 .text.HAL_HSEM_ActivateNotification:0000000c $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:314 .text.HAL_HSEM_DeactivateNotification:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:320 .text.HAL_HSEM_DeactivateNotification:00000000 HAL_HSEM_DeactivateNotification
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:340 .text.HAL_HSEM_DeactivateNotification:0000000c $d
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:345 .text.HAL_HSEM_FreeCallback:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:351 .text.HAL_HSEM_FreeCallback:00000000 HAL_HSEM_FreeCallback
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:366 .text.HAL_HSEM_IRQHandler:00000000 $t
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:372 .text.HAL_HSEM_IRQHandler:00000000 HAL_HSEM_IRQHandler
|
||
C:\Users\lenex\AppData\Local\Temp\ccfcmKyG.s:405 .text.HAL_HSEM_IRQHandler:00000018 $d
|
||
|
||
NO UNDEFINED SYMBOLS
|