Files
RadioPhotonic_PCB_software/build/stm32f7xx_hal_cortex.lst
2025-03-04 11:43:09 +03:00

5738 lines
413 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

ARM GAS /tmp/ccY34ikP.s page 1
1 .cpu cortex-m7
2 .eabi_attribute 28, 1
3 .eabi_attribute 20, 1
4 .eabi_attribute 21, 1
5 .eabi_attribute 23, 3
6 .eabi_attribute 24, 1
7 .eabi_attribute 25, 1
8 .eabi_attribute 26, 1
9 .eabi_attribute 30, 1
10 .eabi_attribute 34, 1
11 .eabi_attribute 18, 4
12 .file "stm32f7xx_hal_cortex.c"
13 .text
14 .Ltext0:
15 .cfi_sections .debug_frame
16 .section .text.HAL_NVIC_SetPriorityGrouping,"ax",%progbits
17 .align 1
18 .global HAL_NVIC_SetPriorityGrouping
19 .arch armv7e-m
20 .syntax unified
21 .thumb
22 .thumb_func
23 .fpu fpv5-d16
25 HAL_NVIC_SetPriorityGrouping:
26 .LVL0:
27 .LFB141:
28 .file 1 "Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c"
1:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
2:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ******************************************************************************
3:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @file stm32f7xx_hal_cortex.c
4:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @author MCD Application Team
5:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief CORTEX HAL module driver.
6:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This file provides firmware functions to manage the following
7:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * functionalities of the CORTEX:
8:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * + Initialization and de-initialization functions
9:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * + Peripheral Control functions
10:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *
11:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** @verbatim
12:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ==============================================================================
13:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ##### How to use this driver #####
14:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ==============================================================================
15:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
16:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** [..]
17:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *** How to configure Interrupts using CORTEX HAL driver ***
18:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ===========================================================
19:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** [..]
20:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** This section provides functions allowing to configure the NVIC interrupts (IRQ).
21:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** The Cortex-M4 exceptions are managed by CMSIS functions.
22:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
23:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (#) Configure the NVIC Priority Grouping using HAL_NVIC_SetPriorityGrouping()
24:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** function according to the following table.
25:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (#) Configure the priority of the selected IRQ Channels using HAL_NVIC_SetPriority().
26:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (#) Enable the selected IRQ Channels using HAL_NVIC_EnableIRQ().
27:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (#) please refer to programming manual for details in how to configure priority.
28:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
29:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** -@- When the NVIC_PRIORITYGROUP_0 is selected, IRQ preemption is no more possible.
30:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** The pending IRQ priority will be managed only by the sub priority.
ARM GAS /tmp/ccY34ikP.s page 2
31:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
32:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** -@- IRQ priority order (sorted by highest to lowest priority):
33:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+@) Lowest preemption priority
34:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+@) Lowest sub priority
35:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+@) Lowest hardware priority (IRQ number)
36:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
37:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** [..]
38:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *** How to configure Systick using CORTEX HAL driver ***
39:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ========================================================
40:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** [..]
41:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** Setup SysTick Timer for time base.
42:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
43:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+) The HAL_SYSTICK_Config() function calls the SysTick_Config() function which
44:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** is a CMSIS function that:
45:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Configures the SysTick Reload register with value passed as function parameter.
46:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Configures the SysTick IRQ priority to the lowest value (0x0F).
47:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Resets the SysTick Counter register.
48:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Configures the SysTick Counter clock source to be Core Clock Source (HCLK).
49:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Enables the SysTick Interrupt.
50:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Starts the SysTick Counter.
51:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
52:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+) You can change the SysTick Clock source to be HCLK_Div8 by calling the macro
53:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** __HAL_CORTEX_SYSTICKCLK_CONFIG(SYSTICK_CLKSOURCE_HCLK_DIV8) just after the
54:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** HAL_SYSTICK_Config() function call. The __HAL_CORTEX_SYSTICKCLK_CONFIG() macro is defined
55:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** inside the stm32f7xx_hal_cortex.h file.
56:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
57:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+) You can change the SysTick IRQ priority by calling the
58:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** HAL_NVIC_SetPriority(SysTick_IRQn,...) function just after the HAL_SYSTICK_Config() function
59:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** call. The HAL_NVIC_SetPriority() call the NVIC_SetPriority() function which is a CMSIS funct
60:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
61:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (+) To adjust the SysTick time base, use the following formula:
62:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
63:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** Reload Value = SysTick Counter Clock (Hz) x Desired Time base (s)
64:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Reload Value is the parameter to be passed for HAL_SYSTICK_Config() function
65:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (++) Reload Value should not exceed 0xFFFFFF
66:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
67:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** @endverbatim
68:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ******************************************************************************
69:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @attention
70:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *
71:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * Copyright (c) 2017 STMicroelectronics.
72:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * All rights reserved.
73:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *
74:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This software is licensed under terms that can be found in the LICENSE file in
75:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * the root directory of this software component.
76:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * If no LICENSE file comes with this software, it is provided AS-IS.
77:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *
78:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ******************************************************************************
79:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
80:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
81:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Includes ------------------------------------------------------------------*/
82:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** #include "stm32f7xx_hal.h"
83:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
84:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /** @addtogroup STM32F7xx_HAL_Driver
85:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @{
86:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
87:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
ARM GAS /tmp/ccY34ikP.s page 3
88:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /** @defgroup CORTEX CORTEX
89:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief CORTEX HAL module driver
90:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @{
91:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
92:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
93:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** #ifdef HAL_CORTEX_MODULE_ENABLED
94:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
95:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Private types -------------------------------------------------------------*/
96:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Private variables ---------------------------------------------------------*/
97:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Private constants ---------------------------------------------------------*/
98:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Private macros ------------------------------------------------------------*/
99:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Private functions ---------------------------------------------------------*/
100:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Exported functions --------------------------------------------------------*/
101:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
102:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions CORTEX Exported Functions
103:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @{
104:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
105:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
106:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
107:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions_Group1 Initialization and de-initialization functions
108:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Initialization and Configuration functions
109:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *
110:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** @verbatim
111:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ==============================================================================
112:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ##### Initialization and de-initialization functions #####
113:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ==============================================================================
114:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** [..]
115:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** This section provides the CORTEX HAL driver functions allowing to configure Interrupts
116:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** Systick functionalities
117:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
118:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** @endverbatim
119:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @{
120:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
121:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
122:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
123:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
124:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Sets the priority grouping field (preemption priority and subpriority)
125:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * using the required unlock sequence.
126:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param PriorityGroup The priority grouping bits length.
127:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be one of the following values:
128:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_0: 0 bits for preemption priority
129:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 4 bits for subpriority
130:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_1: 1 bits for preemption priority
131:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 3 bits for subpriority
132:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_2: 2 bits for preemption priority
133:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 2 bits for subpriority
134:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_3: 3 bits for preemption priority
135:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 1 bits for subpriority
136:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_4: 4 bits for preemption priority
137:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 0 bits for subpriority
138:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @note When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible.
139:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * The pending IRQ priority will be managed only by the subpriority.
140:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
141:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
142:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
143:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
29 .loc 1 143 1 view -0
ARM GAS /tmp/ccY34ikP.s page 4
30 .cfi_startproc
31 @ args = 0, pretend = 0, frame = 0
32 @ frame_needed = 0, uses_anonymous_args = 0
33 @ link register save eliminated.
144:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
145:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));
34 .loc 1 145 3 view .LVU1
146:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
147:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */
148:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_SetPriorityGrouping(PriorityGroup);
35 .loc 1 148 3 view .LVU2
36 .LBB38:
37 .LBI38:
38 .file 2 "Drivers/CMSIS/Include/core_cm7.h"
1:Drivers/CMSIS/Include/core_cm7.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/core_cm7.h **** * @file core_cm7.h
3:Drivers/CMSIS/Include/core_cm7.h **** * @brief CMSIS Cortex-M7 Core Peripheral Access Layer Header File
4:Drivers/CMSIS/Include/core_cm7.h **** * @version V5.0.8
5:Drivers/CMSIS/Include/core_cm7.h **** * @date 04. June 2018
6:Drivers/CMSIS/Include/core_cm7.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/core_cm7.h **** /*
8:Drivers/CMSIS/Include/core_cm7.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/core_cm7.h **** *
10:Drivers/CMSIS/Include/core_cm7.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/core_cm7.h **** *
12:Drivers/CMSIS/Include/core_cm7.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/core_cm7.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/core_cm7.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/core_cm7.h **** *
16:Drivers/CMSIS/Include/core_cm7.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/core_cm7.h **** *
18:Drivers/CMSIS/Include/core_cm7.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/core_cm7.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
20:Drivers/CMSIS/Include/core_cm7.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21:Drivers/CMSIS/Include/core_cm7.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/core_cm7.h **** * limitations under the License.
23:Drivers/CMSIS/Include/core_cm7.h **** */
24:Drivers/CMSIS/Include/core_cm7.h ****
25:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __ICCARM__ )
26:Drivers/CMSIS/Include/core_cm7.h **** #pragma system_include /* treat file as system include file for MISRA check */
27:Drivers/CMSIS/Include/core_cm7.h **** #elif defined (__clang__)
28:Drivers/CMSIS/Include/core_cm7.h **** #pragma clang system_header /* treat file as system include file */
29:Drivers/CMSIS/Include/core_cm7.h **** #endif
30:Drivers/CMSIS/Include/core_cm7.h ****
31:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __CORE_CM7_H_GENERIC
32:Drivers/CMSIS/Include/core_cm7.h **** #define __CORE_CM7_H_GENERIC
33:Drivers/CMSIS/Include/core_cm7.h ****
34:Drivers/CMSIS/Include/core_cm7.h **** #include <stdint.h>
35:Drivers/CMSIS/Include/core_cm7.h ****
36:Drivers/CMSIS/Include/core_cm7.h **** #ifdef __cplusplus
37:Drivers/CMSIS/Include/core_cm7.h **** extern "C" {
38:Drivers/CMSIS/Include/core_cm7.h **** #endif
39:Drivers/CMSIS/Include/core_cm7.h ****
40:Drivers/CMSIS/Include/core_cm7.h **** /**
41:Drivers/CMSIS/Include/core_cm7.h **** \page CMSIS_MISRA_Exceptions MISRA-C:2004 Compliance Exceptions
42:Drivers/CMSIS/Include/core_cm7.h **** CMSIS violates the following MISRA-C:2004 rules:
43:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 5
44:Drivers/CMSIS/Include/core_cm7.h **** \li Required Rule 8.5, object/function definition in header file.<br>
45:Drivers/CMSIS/Include/core_cm7.h **** Function definitions in header files are used to allow 'inlining'.
46:Drivers/CMSIS/Include/core_cm7.h ****
47:Drivers/CMSIS/Include/core_cm7.h **** \li Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br>
48:Drivers/CMSIS/Include/core_cm7.h **** Unions are used for effective representation of core registers.
49:Drivers/CMSIS/Include/core_cm7.h ****
50:Drivers/CMSIS/Include/core_cm7.h **** \li Advisory Rule 19.7, Function-like macro defined.<br>
51:Drivers/CMSIS/Include/core_cm7.h **** Function-like macros are used to allow more efficient code.
52:Drivers/CMSIS/Include/core_cm7.h **** */
53:Drivers/CMSIS/Include/core_cm7.h ****
54:Drivers/CMSIS/Include/core_cm7.h ****
55:Drivers/CMSIS/Include/core_cm7.h **** /*******************************************************************************
56:Drivers/CMSIS/Include/core_cm7.h **** * CMSIS definitions
57:Drivers/CMSIS/Include/core_cm7.h **** ******************************************************************************/
58:Drivers/CMSIS/Include/core_cm7.h **** /**
59:Drivers/CMSIS/Include/core_cm7.h **** \ingroup Cortex_M7
60:Drivers/CMSIS/Include/core_cm7.h **** @{
61:Drivers/CMSIS/Include/core_cm7.h **** */
62:Drivers/CMSIS/Include/core_cm7.h ****
63:Drivers/CMSIS/Include/core_cm7.h **** #include "cmsis_version.h"
64:Drivers/CMSIS/Include/core_cm7.h ****
65:Drivers/CMSIS/Include/core_cm7.h **** /* CMSIS CM7 definitions */
66:Drivers/CMSIS/Include/core_cm7.h **** #define __CM7_CMSIS_VERSION_MAIN (__CM_CMSIS_VERSION_MAIN) /*!< \deprecated [31:1
67:Drivers/CMSIS/Include/core_cm7.h **** #define __CM7_CMSIS_VERSION_SUB ( __CM_CMSIS_VERSION_SUB) /*!< \deprecated [15:0
68:Drivers/CMSIS/Include/core_cm7.h **** #define __CM7_CMSIS_VERSION ((__CM7_CMSIS_VERSION_MAIN << 16U) | \
69:Drivers/CMSIS/Include/core_cm7.h **** __CM7_CMSIS_VERSION_SUB ) /*!< \deprecated CMSIS
70:Drivers/CMSIS/Include/core_cm7.h ****
71:Drivers/CMSIS/Include/core_cm7.h **** #define __CORTEX_M (7U) /*!< Cortex-M Core */
72:Drivers/CMSIS/Include/core_cm7.h ****
73:Drivers/CMSIS/Include/core_cm7.h **** /** __FPU_USED indicates whether an FPU is used or not.
74:Drivers/CMSIS/Include/core_cm7.h **** For this, __FPU_PRESENT has to be checked prior to making use of FPU specific registers and fun
75:Drivers/CMSIS/Include/core_cm7.h **** */
76:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __CC_ARM )
77:Drivers/CMSIS/Include/core_cm7.h **** #if defined __TARGET_FPU_VFP
78:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
79:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
80:Drivers/CMSIS/Include/core_cm7.h **** #else
81:Drivers/CMSIS/Include/core_cm7.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
82:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
83:Drivers/CMSIS/Include/core_cm7.h **** #endif
84:Drivers/CMSIS/Include/core_cm7.h **** #else
85:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
86:Drivers/CMSIS/Include/core_cm7.h **** #endif
87:Drivers/CMSIS/Include/core_cm7.h ****
88:Drivers/CMSIS/Include/core_cm7.h **** #elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
89:Drivers/CMSIS/Include/core_cm7.h **** #if defined __ARM_PCS_VFP
90:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
91:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
92:Drivers/CMSIS/Include/core_cm7.h **** #else
93:Drivers/CMSIS/Include/core_cm7.h **** #warning "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESEN
94:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
95:Drivers/CMSIS/Include/core_cm7.h **** #endif
96:Drivers/CMSIS/Include/core_cm7.h **** #else
97:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
98:Drivers/CMSIS/Include/core_cm7.h **** #endif
99:Drivers/CMSIS/Include/core_cm7.h ****
100:Drivers/CMSIS/Include/core_cm7.h **** #elif defined ( __GNUC__ )
ARM GAS /tmp/ccY34ikP.s page 6
101:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__VFP_FP__) && !defined(__SOFTFP__)
102:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
103:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
104:Drivers/CMSIS/Include/core_cm7.h **** #else
105:Drivers/CMSIS/Include/core_cm7.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
106:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
107:Drivers/CMSIS/Include/core_cm7.h **** #endif
108:Drivers/CMSIS/Include/core_cm7.h **** #else
109:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
110:Drivers/CMSIS/Include/core_cm7.h **** #endif
111:Drivers/CMSIS/Include/core_cm7.h ****
112:Drivers/CMSIS/Include/core_cm7.h **** #elif defined ( __ICCARM__ )
113:Drivers/CMSIS/Include/core_cm7.h **** #if defined __ARMVFP__
114:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
115:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
116:Drivers/CMSIS/Include/core_cm7.h **** #else
117:Drivers/CMSIS/Include/core_cm7.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
118:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
119:Drivers/CMSIS/Include/core_cm7.h **** #endif
120:Drivers/CMSIS/Include/core_cm7.h **** #else
121:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
122:Drivers/CMSIS/Include/core_cm7.h **** #endif
123:Drivers/CMSIS/Include/core_cm7.h ****
124:Drivers/CMSIS/Include/core_cm7.h **** #elif defined ( __TI_ARM__ )
125:Drivers/CMSIS/Include/core_cm7.h **** #if defined __TI_VFP_SUPPORT__
126:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
127:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
128:Drivers/CMSIS/Include/core_cm7.h **** #else
129:Drivers/CMSIS/Include/core_cm7.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
130:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
131:Drivers/CMSIS/Include/core_cm7.h **** #endif
132:Drivers/CMSIS/Include/core_cm7.h **** #else
133:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
134:Drivers/CMSIS/Include/core_cm7.h **** #endif
135:Drivers/CMSIS/Include/core_cm7.h ****
136:Drivers/CMSIS/Include/core_cm7.h **** #elif defined ( __TASKING__ )
137:Drivers/CMSIS/Include/core_cm7.h **** #if defined __FPU_VFP__
138:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
139:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
140:Drivers/CMSIS/Include/core_cm7.h **** #else
141:Drivers/CMSIS/Include/core_cm7.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
142:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
143:Drivers/CMSIS/Include/core_cm7.h **** #endif
144:Drivers/CMSIS/Include/core_cm7.h **** #else
145:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
146:Drivers/CMSIS/Include/core_cm7.h **** #endif
147:Drivers/CMSIS/Include/core_cm7.h ****
148:Drivers/CMSIS/Include/core_cm7.h **** #elif defined ( __CSMC__ )
149:Drivers/CMSIS/Include/core_cm7.h **** #if ( __CSMC__ & 0x400U)
150:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)
151:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 1U
152:Drivers/CMSIS/Include/core_cm7.h **** #else
153:Drivers/CMSIS/Include/core_cm7.h **** #error "Compiler generates FPU instructions for a device without an FPU (check __FPU_PRESENT)
154:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
155:Drivers/CMSIS/Include/core_cm7.h **** #endif
156:Drivers/CMSIS/Include/core_cm7.h **** #else
157:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_USED 0U
ARM GAS /tmp/ccY34ikP.s page 7
158:Drivers/CMSIS/Include/core_cm7.h **** #endif
159:Drivers/CMSIS/Include/core_cm7.h ****
160:Drivers/CMSIS/Include/core_cm7.h **** #endif
161:Drivers/CMSIS/Include/core_cm7.h ****
162:Drivers/CMSIS/Include/core_cm7.h **** #include "cmsis_compiler.h" /* CMSIS compiler specific defines */
163:Drivers/CMSIS/Include/core_cm7.h ****
164:Drivers/CMSIS/Include/core_cm7.h ****
165:Drivers/CMSIS/Include/core_cm7.h **** #ifdef __cplusplus
166:Drivers/CMSIS/Include/core_cm7.h **** }
167:Drivers/CMSIS/Include/core_cm7.h **** #endif
168:Drivers/CMSIS/Include/core_cm7.h ****
169:Drivers/CMSIS/Include/core_cm7.h **** #endif /* __CORE_CM7_H_GENERIC */
170:Drivers/CMSIS/Include/core_cm7.h ****
171:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __CMSIS_GENERIC
172:Drivers/CMSIS/Include/core_cm7.h ****
173:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __CORE_CM7_H_DEPENDANT
174:Drivers/CMSIS/Include/core_cm7.h **** #define __CORE_CM7_H_DEPENDANT
175:Drivers/CMSIS/Include/core_cm7.h ****
176:Drivers/CMSIS/Include/core_cm7.h **** #ifdef __cplusplus
177:Drivers/CMSIS/Include/core_cm7.h **** extern "C" {
178:Drivers/CMSIS/Include/core_cm7.h **** #endif
179:Drivers/CMSIS/Include/core_cm7.h ****
180:Drivers/CMSIS/Include/core_cm7.h **** /* check device defines and use defaults */
181:Drivers/CMSIS/Include/core_cm7.h **** #if defined __CHECK_DEVICE_DEFINES
182:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __CM7_REV
183:Drivers/CMSIS/Include/core_cm7.h **** #define __CM7_REV 0x0000U
184:Drivers/CMSIS/Include/core_cm7.h **** #warning "__CM7_REV not defined in device header file; using default!"
185:Drivers/CMSIS/Include/core_cm7.h **** #endif
186:Drivers/CMSIS/Include/core_cm7.h ****
187:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __FPU_PRESENT
188:Drivers/CMSIS/Include/core_cm7.h **** #define __FPU_PRESENT 0U
189:Drivers/CMSIS/Include/core_cm7.h **** #warning "__FPU_PRESENT not defined in device header file; using default!"
190:Drivers/CMSIS/Include/core_cm7.h **** #endif
191:Drivers/CMSIS/Include/core_cm7.h ****
192:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __MPU_PRESENT
193:Drivers/CMSIS/Include/core_cm7.h **** #define __MPU_PRESENT 0U
194:Drivers/CMSIS/Include/core_cm7.h **** #warning "__MPU_PRESENT not defined in device header file; using default!"
195:Drivers/CMSIS/Include/core_cm7.h **** #endif
196:Drivers/CMSIS/Include/core_cm7.h ****
197:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __ICACHE_PRESENT
198:Drivers/CMSIS/Include/core_cm7.h **** #define __ICACHE_PRESENT 0U
199:Drivers/CMSIS/Include/core_cm7.h **** #warning "__ICACHE_PRESENT not defined in device header file; using default!"
200:Drivers/CMSIS/Include/core_cm7.h **** #endif
201:Drivers/CMSIS/Include/core_cm7.h ****
202:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __DCACHE_PRESENT
203:Drivers/CMSIS/Include/core_cm7.h **** #define __DCACHE_PRESENT 0U
204:Drivers/CMSIS/Include/core_cm7.h **** #warning "__DCACHE_PRESENT not defined in device header file; using default!"
205:Drivers/CMSIS/Include/core_cm7.h **** #endif
206:Drivers/CMSIS/Include/core_cm7.h ****
207:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __DTCM_PRESENT
208:Drivers/CMSIS/Include/core_cm7.h **** #define __DTCM_PRESENT 0U
209:Drivers/CMSIS/Include/core_cm7.h **** #warning "__DTCM_PRESENT not defined in device header file; using default!"
210:Drivers/CMSIS/Include/core_cm7.h **** #endif
211:Drivers/CMSIS/Include/core_cm7.h ****
212:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __NVIC_PRIO_BITS
213:Drivers/CMSIS/Include/core_cm7.h **** #define __NVIC_PRIO_BITS 3U
214:Drivers/CMSIS/Include/core_cm7.h **** #warning "__NVIC_PRIO_BITS not defined in device header file; using default!"
ARM GAS /tmp/ccY34ikP.s page 8
215:Drivers/CMSIS/Include/core_cm7.h **** #endif
216:Drivers/CMSIS/Include/core_cm7.h ****
217:Drivers/CMSIS/Include/core_cm7.h **** #ifndef __Vendor_SysTickConfig
218:Drivers/CMSIS/Include/core_cm7.h **** #define __Vendor_SysTickConfig 0U
219:Drivers/CMSIS/Include/core_cm7.h **** #warning "__Vendor_SysTickConfig not defined in device header file; using default!"
220:Drivers/CMSIS/Include/core_cm7.h **** #endif
221:Drivers/CMSIS/Include/core_cm7.h **** #endif
222:Drivers/CMSIS/Include/core_cm7.h ****
223:Drivers/CMSIS/Include/core_cm7.h **** /* IO definitions (access restrictions to peripheral registers) */
224:Drivers/CMSIS/Include/core_cm7.h **** /**
225:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_glob_defs CMSIS Global Defines
226:Drivers/CMSIS/Include/core_cm7.h ****
227:Drivers/CMSIS/Include/core_cm7.h **** <strong>IO Type Qualifiers</strong> are used
228:Drivers/CMSIS/Include/core_cm7.h **** \li to specify the access to peripheral variables.
229:Drivers/CMSIS/Include/core_cm7.h **** \li for automatic generation of peripheral register debug information.
230:Drivers/CMSIS/Include/core_cm7.h **** */
231:Drivers/CMSIS/Include/core_cm7.h **** #ifdef __cplusplus
232:Drivers/CMSIS/Include/core_cm7.h **** #define __I volatile /*!< Defines 'read only' permissions */
233:Drivers/CMSIS/Include/core_cm7.h **** #else
234:Drivers/CMSIS/Include/core_cm7.h **** #define __I volatile const /*!< Defines 'read only' permissions */
235:Drivers/CMSIS/Include/core_cm7.h **** #endif
236:Drivers/CMSIS/Include/core_cm7.h **** #define __O volatile /*!< Defines 'write only' permissions */
237:Drivers/CMSIS/Include/core_cm7.h **** #define __IO volatile /*!< Defines 'read / write' permissions */
238:Drivers/CMSIS/Include/core_cm7.h ****
239:Drivers/CMSIS/Include/core_cm7.h **** /* following defines should be used for structure members */
240:Drivers/CMSIS/Include/core_cm7.h **** #define __IM volatile const /*! Defines 'read only' structure member permissions */
241:Drivers/CMSIS/Include/core_cm7.h **** #define __OM volatile /*! Defines 'write only' structure member permissions */
242:Drivers/CMSIS/Include/core_cm7.h **** #define __IOM volatile /*! Defines 'read / write' structure member permissions */
243:Drivers/CMSIS/Include/core_cm7.h ****
244:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group Cortex_M7 */
245:Drivers/CMSIS/Include/core_cm7.h ****
246:Drivers/CMSIS/Include/core_cm7.h ****
247:Drivers/CMSIS/Include/core_cm7.h ****
248:Drivers/CMSIS/Include/core_cm7.h **** /*******************************************************************************
249:Drivers/CMSIS/Include/core_cm7.h **** * Register Abstraction
250:Drivers/CMSIS/Include/core_cm7.h **** Core Register contain:
251:Drivers/CMSIS/Include/core_cm7.h **** - Core Register
252:Drivers/CMSIS/Include/core_cm7.h **** - Core NVIC Register
253:Drivers/CMSIS/Include/core_cm7.h **** - Core SCB Register
254:Drivers/CMSIS/Include/core_cm7.h **** - Core SysTick Register
255:Drivers/CMSIS/Include/core_cm7.h **** - Core Debug Register
256:Drivers/CMSIS/Include/core_cm7.h **** - Core MPU Register
257:Drivers/CMSIS/Include/core_cm7.h **** - Core FPU Register
258:Drivers/CMSIS/Include/core_cm7.h **** ******************************************************************************/
259:Drivers/CMSIS/Include/core_cm7.h **** /**
260:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_core_register Defines and Type Definitions
261:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions and defines for Cortex-M processor based devices.
262:Drivers/CMSIS/Include/core_cm7.h **** */
263:Drivers/CMSIS/Include/core_cm7.h ****
264:Drivers/CMSIS/Include/core_cm7.h **** /**
265:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
266:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_CORE Status and Control Registers
267:Drivers/CMSIS/Include/core_cm7.h **** \brief Core Register type definitions.
268:Drivers/CMSIS/Include/core_cm7.h **** @{
269:Drivers/CMSIS/Include/core_cm7.h **** */
270:Drivers/CMSIS/Include/core_cm7.h ****
271:Drivers/CMSIS/Include/core_cm7.h **** /**
ARM GAS /tmp/ccY34ikP.s page 9
272:Drivers/CMSIS/Include/core_cm7.h **** \brief Union type to access the Application Program Status Register (APSR).
273:Drivers/CMSIS/Include/core_cm7.h **** */
274:Drivers/CMSIS/Include/core_cm7.h **** typedef union
275:Drivers/CMSIS/Include/core_cm7.h **** {
276:Drivers/CMSIS/Include/core_cm7.h **** struct
277:Drivers/CMSIS/Include/core_cm7.h **** {
278:Drivers/CMSIS/Include/core_cm7.h **** uint32_t _reserved0:16; /*!< bit: 0..15 Reserved */
279:Drivers/CMSIS/Include/core_cm7.h **** uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */
280:Drivers/CMSIS/Include/core_cm7.h **** uint32_t _reserved1:7; /*!< bit: 20..26 Reserved */
281:Drivers/CMSIS/Include/core_cm7.h **** uint32_t Q:1; /*!< bit: 27 Saturation condition flag */
282:Drivers/CMSIS/Include/core_cm7.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */
283:Drivers/CMSIS/Include/core_cm7.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */
284:Drivers/CMSIS/Include/core_cm7.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */
285:Drivers/CMSIS/Include/core_cm7.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */
286:Drivers/CMSIS/Include/core_cm7.h **** } b; /*!< Structure used for bit access */
287:Drivers/CMSIS/Include/core_cm7.h **** uint32_t w; /*!< Type used for word access */
288:Drivers/CMSIS/Include/core_cm7.h **** } APSR_Type;
289:Drivers/CMSIS/Include/core_cm7.h ****
290:Drivers/CMSIS/Include/core_cm7.h **** /* APSR Register Definitions */
291:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_N_Pos 31U /*!< APSR
292:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_N_Msk (1UL << APSR_N_Pos) /*!< APSR
293:Drivers/CMSIS/Include/core_cm7.h ****
294:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_Z_Pos 30U /*!< APSR
295:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_Z_Msk (1UL << APSR_Z_Pos) /*!< APSR
296:Drivers/CMSIS/Include/core_cm7.h ****
297:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_C_Pos 29U /*!< APSR
298:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_C_Msk (1UL << APSR_C_Pos) /*!< APSR
299:Drivers/CMSIS/Include/core_cm7.h ****
300:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_V_Pos 28U /*!< APSR
301:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_V_Msk (1UL << APSR_V_Pos) /*!< APSR
302:Drivers/CMSIS/Include/core_cm7.h ****
303:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_Q_Pos 27U /*!< APSR
304:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_Q_Msk (1UL << APSR_Q_Pos) /*!< APSR
305:Drivers/CMSIS/Include/core_cm7.h ****
306:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_GE_Pos 16U /*!< APSR
307:Drivers/CMSIS/Include/core_cm7.h **** #define APSR_GE_Msk (0xFUL << APSR_GE_Pos) /*!< APSR
308:Drivers/CMSIS/Include/core_cm7.h ****
309:Drivers/CMSIS/Include/core_cm7.h ****
310:Drivers/CMSIS/Include/core_cm7.h **** /**
311:Drivers/CMSIS/Include/core_cm7.h **** \brief Union type to access the Interrupt Program Status Register (IPSR).
312:Drivers/CMSIS/Include/core_cm7.h **** */
313:Drivers/CMSIS/Include/core_cm7.h **** typedef union
314:Drivers/CMSIS/Include/core_cm7.h **** {
315:Drivers/CMSIS/Include/core_cm7.h **** struct
316:Drivers/CMSIS/Include/core_cm7.h **** {
317:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */
318:Drivers/CMSIS/Include/core_cm7.h **** uint32_t _reserved0:23; /*!< bit: 9..31 Reserved */
319:Drivers/CMSIS/Include/core_cm7.h **** } b; /*!< Structure used for bit access */
320:Drivers/CMSIS/Include/core_cm7.h **** uint32_t w; /*!< Type used for word access */
321:Drivers/CMSIS/Include/core_cm7.h **** } IPSR_Type;
322:Drivers/CMSIS/Include/core_cm7.h ****
323:Drivers/CMSIS/Include/core_cm7.h **** /* IPSR Register Definitions */
324:Drivers/CMSIS/Include/core_cm7.h **** #define IPSR_ISR_Pos 0U /*!< IPSR
325:Drivers/CMSIS/Include/core_cm7.h **** #define IPSR_ISR_Msk (0x1FFUL /*<< IPSR_ISR_Pos*/) /*!< IPSR
326:Drivers/CMSIS/Include/core_cm7.h ****
327:Drivers/CMSIS/Include/core_cm7.h ****
328:Drivers/CMSIS/Include/core_cm7.h **** /**
ARM GAS /tmp/ccY34ikP.s page 10
329:Drivers/CMSIS/Include/core_cm7.h **** \brief Union type to access the Special-Purpose Program Status Registers (xPSR).
330:Drivers/CMSIS/Include/core_cm7.h **** */
331:Drivers/CMSIS/Include/core_cm7.h **** typedef union
332:Drivers/CMSIS/Include/core_cm7.h **** {
333:Drivers/CMSIS/Include/core_cm7.h **** struct
334:Drivers/CMSIS/Include/core_cm7.h **** {
335:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ISR:9; /*!< bit: 0.. 8 Exception number */
336:Drivers/CMSIS/Include/core_cm7.h **** uint32_t _reserved0:1; /*!< bit: 9 Reserved */
337:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ICI_IT_1:6; /*!< bit: 10..15 ICI/IT part 1 */
338:Drivers/CMSIS/Include/core_cm7.h **** uint32_t GE:4; /*!< bit: 16..19 Greater than or Equal flags */
339:Drivers/CMSIS/Include/core_cm7.h **** uint32_t _reserved1:4; /*!< bit: 20..23 Reserved */
340:Drivers/CMSIS/Include/core_cm7.h **** uint32_t T:1; /*!< bit: 24 Thumb bit */
341:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ICI_IT_2:2; /*!< bit: 25..26 ICI/IT part 2 */
342:Drivers/CMSIS/Include/core_cm7.h **** uint32_t Q:1; /*!< bit: 27 Saturation condition flag */
343:Drivers/CMSIS/Include/core_cm7.h **** uint32_t V:1; /*!< bit: 28 Overflow condition code flag */
344:Drivers/CMSIS/Include/core_cm7.h **** uint32_t C:1; /*!< bit: 29 Carry condition code flag */
345:Drivers/CMSIS/Include/core_cm7.h **** uint32_t Z:1; /*!< bit: 30 Zero condition code flag */
346:Drivers/CMSIS/Include/core_cm7.h **** uint32_t N:1; /*!< bit: 31 Negative condition code flag */
347:Drivers/CMSIS/Include/core_cm7.h **** } b; /*!< Structure used for bit access */
348:Drivers/CMSIS/Include/core_cm7.h **** uint32_t w; /*!< Type used for word access */
349:Drivers/CMSIS/Include/core_cm7.h **** } xPSR_Type;
350:Drivers/CMSIS/Include/core_cm7.h ****
351:Drivers/CMSIS/Include/core_cm7.h **** /* xPSR Register Definitions */
352:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_N_Pos 31U /*!< xPSR
353:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_N_Msk (1UL << xPSR_N_Pos) /*!< xPSR
354:Drivers/CMSIS/Include/core_cm7.h ****
355:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_Z_Pos 30U /*!< xPSR
356:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_Z_Msk (1UL << xPSR_Z_Pos) /*!< xPSR
357:Drivers/CMSIS/Include/core_cm7.h ****
358:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_C_Pos 29U /*!< xPSR
359:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_C_Msk (1UL << xPSR_C_Pos) /*!< xPSR
360:Drivers/CMSIS/Include/core_cm7.h ****
361:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_V_Pos 28U /*!< xPSR
362:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_V_Msk (1UL << xPSR_V_Pos) /*!< xPSR
363:Drivers/CMSIS/Include/core_cm7.h ****
364:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_Q_Pos 27U /*!< xPSR
365:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_Q_Msk (1UL << xPSR_Q_Pos) /*!< xPSR
366:Drivers/CMSIS/Include/core_cm7.h ****
367:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_ICI_IT_2_Pos 25U /*!< xPSR
368:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_ICI_IT_2_Msk (3UL << xPSR_ICI_IT_2_Pos) /*!< xPSR
369:Drivers/CMSIS/Include/core_cm7.h ****
370:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_T_Pos 24U /*!< xPSR
371:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_T_Msk (1UL << xPSR_T_Pos) /*!< xPSR
372:Drivers/CMSIS/Include/core_cm7.h ****
373:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_GE_Pos 16U /*!< xPSR
374:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_GE_Msk (0xFUL << xPSR_GE_Pos) /*!< xPSR
375:Drivers/CMSIS/Include/core_cm7.h ****
376:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_ICI_IT_1_Pos 10U /*!< xPSR
377:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_ICI_IT_1_Msk (0x3FUL << xPSR_ICI_IT_1_Pos) /*!< xPSR
378:Drivers/CMSIS/Include/core_cm7.h ****
379:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_ISR_Pos 0U /*!< xPSR
380:Drivers/CMSIS/Include/core_cm7.h **** #define xPSR_ISR_Msk (0x1FFUL /*<< xPSR_ISR_Pos*/) /*!< xPSR
381:Drivers/CMSIS/Include/core_cm7.h ****
382:Drivers/CMSIS/Include/core_cm7.h ****
383:Drivers/CMSIS/Include/core_cm7.h **** /**
384:Drivers/CMSIS/Include/core_cm7.h **** \brief Union type to access the Control Registers (CONTROL).
385:Drivers/CMSIS/Include/core_cm7.h **** */
ARM GAS /tmp/ccY34ikP.s page 11
386:Drivers/CMSIS/Include/core_cm7.h **** typedef union
387:Drivers/CMSIS/Include/core_cm7.h **** {
388:Drivers/CMSIS/Include/core_cm7.h **** struct
389:Drivers/CMSIS/Include/core_cm7.h **** {
390:Drivers/CMSIS/Include/core_cm7.h **** uint32_t nPRIV:1; /*!< bit: 0 Execution privilege in Thread mode */
391:Drivers/CMSIS/Include/core_cm7.h **** uint32_t SPSEL:1; /*!< bit: 1 Stack to be used */
392:Drivers/CMSIS/Include/core_cm7.h **** uint32_t FPCA:1; /*!< bit: 2 FP extension active flag */
393:Drivers/CMSIS/Include/core_cm7.h **** uint32_t _reserved0:29; /*!< bit: 3..31 Reserved */
394:Drivers/CMSIS/Include/core_cm7.h **** } b; /*!< Structure used for bit access */
395:Drivers/CMSIS/Include/core_cm7.h **** uint32_t w; /*!< Type used for word access */
396:Drivers/CMSIS/Include/core_cm7.h **** } CONTROL_Type;
397:Drivers/CMSIS/Include/core_cm7.h ****
398:Drivers/CMSIS/Include/core_cm7.h **** /* CONTROL Register Definitions */
399:Drivers/CMSIS/Include/core_cm7.h **** #define CONTROL_FPCA_Pos 2U /*!< CONT
400:Drivers/CMSIS/Include/core_cm7.h **** #define CONTROL_FPCA_Msk (1UL << CONTROL_FPCA_Pos) /*!< CONT
401:Drivers/CMSIS/Include/core_cm7.h ****
402:Drivers/CMSIS/Include/core_cm7.h **** #define CONTROL_SPSEL_Pos 1U /*!< CONT
403:Drivers/CMSIS/Include/core_cm7.h **** #define CONTROL_SPSEL_Msk (1UL << CONTROL_SPSEL_Pos) /*!< CONT
404:Drivers/CMSIS/Include/core_cm7.h ****
405:Drivers/CMSIS/Include/core_cm7.h **** #define CONTROL_nPRIV_Pos 0U /*!< CONT
406:Drivers/CMSIS/Include/core_cm7.h **** #define CONTROL_nPRIV_Msk (1UL /*<< CONTROL_nPRIV_Pos*/) /*!< CONT
407:Drivers/CMSIS/Include/core_cm7.h ****
408:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_CORE */
409:Drivers/CMSIS/Include/core_cm7.h ****
410:Drivers/CMSIS/Include/core_cm7.h ****
411:Drivers/CMSIS/Include/core_cm7.h **** /**
412:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
413:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_NVIC Nested Vectored Interrupt Controller (NVIC)
414:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the NVIC Registers
415:Drivers/CMSIS/Include/core_cm7.h **** @{
416:Drivers/CMSIS/Include/core_cm7.h **** */
417:Drivers/CMSIS/Include/core_cm7.h ****
418:Drivers/CMSIS/Include/core_cm7.h **** /**
419:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Nested Vectored Interrupt Controller (NVIC).
420:Drivers/CMSIS/Include/core_cm7.h **** */
421:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
422:Drivers/CMSIS/Include/core_cm7.h **** {
423:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ISER[8U]; /*!< Offset: 0x000 (R/W) Interrupt Set Enable Register */
424:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[24U];
425:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ICER[8U]; /*!< Offset: 0x080 (R/W) Interrupt Clear Enable Register
426:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RSERVED1[24U];
427:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ISPR[8U]; /*!< Offset: 0x100 (R/W) Interrupt Set Pending Register *
428:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED2[24U];
429:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ICPR[8U]; /*!< Offset: 0x180 (R/W) Interrupt Clear Pending Register
430:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED3[24U];
431:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t IABR[8U]; /*!< Offset: 0x200 (R/W) Interrupt Active bit Register */
432:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED4[56U];
433:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint8_t IP[240U]; /*!< Offset: 0x300 (R/W) Interrupt Priority Register (8Bi
434:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED5[644U];
435:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t STIR; /*!< Offset: 0xE00 ( /W) Software Trigger Interrupt Regis
436:Drivers/CMSIS/Include/core_cm7.h **** } NVIC_Type;
437:Drivers/CMSIS/Include/core_cm7.h ****
438:Drivers/CMSIS/Include/core_cm7.h **** /* Software Triggered Interrupt Register Definitions */
439:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_STIR_INTID_Pos 0U /*!< STIR: I
440:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_STIR_INTID_Msk (0x1FFUL /*<< NVIC_STIR_INTID_Pos*/) /*!< STIR: I
441:Drivers/CMSIS/Include/core_cm7.h ****
442:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_NVIC */
ARM GAS /tmp/ccY34ikP.s page 12
443:Drivers/CMSIS/Include/core_cm7.h ****
444:Drivers/CMSIS/Include/core_cm7.h ****
445:Drivers/CMSIS/Include/core_cm7.h **** /**
446:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
447:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_SCB System Control Block (SCB)
448:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the System Control Block Registers
449:Drivers/CMSIS/Include/core_cm7.h **** @{
450:Drivers/CMSIS/Include/core_cm7.h **** */
451:Drivers/CMSIS/Include/core_cm7.h ****
452:Drivers/CMSIS/Include/core_cm7.h **** /**
453:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the System Control Block (SCB).
454:Drivers/CMSIS/Include/core_cm7.h **** */
455:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
456:Drivers/CMSIS/Include/core_cm7.h **** {
457:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CPUID; /*!< Offset: 0x000 (R/ ) CPUID Base Register */
458:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ICSR; /*!< Offset: 0x004 (R/W) Interrupt Control and State Regi
459:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t VTOR; /*!< Offset: 0x008 (R/W) Vector Table Offset Register */
460:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t AIRCR; /*!< Offset: 0x00C (R/W) Application Interrupt and Reset
461:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t SCR; /*!< Offset: 0x010 (R/W) System Control Register */
462:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CCR; /*!< Offset: 0x014 (R/W) Configuration Control Register *
463:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint8_t SHPR[12U]; /*!< Offset: 0x018 (R/W) System Handlers Priority Registe
464:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t SHCSR; /*!< Offset: 0x024 (R/W) System Handler Control and State
465:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CFSR; /*!< Offset: 0x028 (R/W) Configurable Fault Status Regist
466:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t HFSR; /*!< Offset: 0x02C (R/W) HardFault Status Register */
467:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t DFSR; /*!< Offset: 0x030 (R/W) Debug Fault Status Register */
468:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t MMFAR; /*!< Offset: 0x034 (R/W) MemManage Fault Address Register
469:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t BFAR; /*!< Offset: 0x038 (R/W) BusFault Address Register */
470:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t AFSR; /*!< Offset: 0x03C (R/W) Auxiliary Fault Status Register
471:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ID_PFR[2U]; /*!< Offset: 0x040 (R/ ) Processor Feature Register */
472:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ID_DFR; /*!< Offset: 0x048 (R/ ) Debug Feature Register */
473:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ID_AFR; /*!< Offset: 0x04C (R/ ) Auxiliary Feature Register */
474:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ID_MFR[4U]; /*!< Offset: 0x050 (R/ ) Memory Model Feature Register */
475:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ID_ISAR[5U]; /*!< Offset: 0x060 (R/ ) Instruction Set Attributes Regis
476:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[1U];
477:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CLIDR; /*!< Offset: 0x078 (R/ ) Cache Level ID register */
478:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CTR; /*!< Offset: 0x07C (R/ ) Cache Type register */
479:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CCSIDR; /*!< Offset: 0x080 (R/ ) Cache Size ID Register */
480:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CSSELR; /*!< Offset: 0x084 (R/W) Cache Size Selection Register */
481:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CPACR; /*!< Offset: 0x088 (R/W) Coprocessor Access Control Regis
482:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED3[93U];
483:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t STIR; /*!< Offset: 0x200 ( /W) Software Triggered Interrupt Reg
484:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED4[15U];
485:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR0; /*!< Offset: 0x240 (R/ ) Media and VFP Feature Register 0
486:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR1; /*!< Offset: 0x244 (R/ ) Media and VFP Feature Register 1
487:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR2; /*!< Offset: 0x248 (R/ ) Media and VFP Feature Register 2
488:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED5[1U];
489:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t ICIALLU; /*!< Offset: 0x250 ( /W) I-Cache Invalidate All to PoU */
490:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED6[1U];
491:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t ICIMVAU; /*!< Offset: 0x258 ( /W) I-Cache Invalidate by MVA to PoU
492:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCIMVAC; /*!< Offset: 0x25C ( /W) D-Cache Invalidate by MVA to PoC
493:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCISW; /*!< Offset: 0x260 ( /W) D-Cache Invalidate by Set-way */
494:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCCMVAU; /*!< Offset: 0x264 ( /W) D-Cache Clean by MVA to PoU */
495:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCCMVAC; /*!< Offset: 0x268 ( /W) D-Cache Clean by MVA to PoC */
496:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCCSW; /*!< Offset: 0x26C ( /W) D-Cache Clean by Set-way */
497:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCCIMVAC; /*!< Offset: 0x270 ( /W) D-Cache Clean and Invalidate by
498:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCCISW; /*!< Offset: 0x274 ( /W) D-Cache Clean and Invalidate by
499:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED7[6U];
ARM GAS /tmp/ccY34ikP.s page 13
500:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ITCMCR; /*!< Offset: 0x290 (R/W) Instruction Tightly-Coupled Memo
501:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t DTCMCR; /*!< Offset: 0x294 (R/W) Data Tightly-Coupled Memory Cont
502:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t AHBPCR; /*!< Offset: 0x298 (R/W) AHBP Control Register */
503:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CACR; /*!< Offset: 0x29C (R/W) L1 Cache Control Register */
504:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t AHBSCR; /*!< Offset: 0x2A0 (R/W) AHB Slave Control Register */
505:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED8[1U];
506:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ABFSR; /*!< Offset: 0x2A8 (R/W) Auxiliary Bus Fault Status Regis
507:Drivers/CMSIS/Include/core_cm7.h **** } SCB_Type;
508:Drivers/CMSIS/Include/core_cm7.h ****
509:Drivers/CMSIS/Include/core_cm7.h **** /* SCB CPUID Register Definitions */
510:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_IMPLEMENTER_Pos 24U /*!< SCB
511:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_IMPLEMENTER_Msk (0xFFUL << SCB_CPUID_IMPLEMENTER_Pos) /*!< SCB
512:Drivers/CMSIS/Include/core_cm7.h ****
513:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_VARIANT_Pos 20U /*!< SCB
514:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_VARIANT_Msk (0xFUL << SCB_CPUID_VARIANT_Pos) /*!< SCB
515:Drivers/CMSIS/Include/core_cm7.h ****
516:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_ARCHITECTURE_Pos 16U /*!< SCB
517:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_ARCHITECTURE_Msk (0xFUL << SCB_CPUID_ARCHITECTURE_Pos) /*!< SCB
518:Drivers/CMSIS/Include/core_cm7.h ****
519:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_PARTNO_Pos 4U /*!< SCB
520:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_PARTNO_Msk (0xFFFUL << SCB_CPUID_PARTNO_Pos) /*!< SCB
521:Drivers/CMSIS/Include/core_cm7.h ****
522:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_REVISION_Pos 0U /*!< SCB
523:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CPUID_REVISION_Msk (0xFUL /*<< SCB_CPUID_REVISION_Pos*/) /*!< SCB
524:Drivers/CMSIS/Include/core_cm7.h ****
525:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Interrupt Control State Register Definitions */
526:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_NMIPENDSET_Pos 31U /*!< SCB
527:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_NMIPENDSET_Msk (1UL << SCB_ICSR_NMIPENDSET_Pos) /*!< SCB
528:Drivers/CMSIS/Include/core_cm7.h ****
529:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSVSET_Pos 28U /*!< SCB
530:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSVSET_Msk (1UL << SCB_ICSR_PENDSVSET_Pos) /*!< SCB
531:Drivers/CMSIS/Include/core_cm7.h ****
532:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSVCLR_Pos 27U /*!< SCB
533:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSVCLR_Msk (1UL << SCB_ICSR_PENDSVCLR_Pos) /*!< SCB
534:Drivers/CMSIS/Include/core_cm7.h ****
535:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSTSET_Pos 26U /*!< SCB
536:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSTSET_Msk (1UL << SCB_ICSR_PENDSTSET_Pos) /*!< SCB
537:Drivers/CMSIS/Include/core_cm7.h ****
538:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSTCLR_Pos 25U /*!< SCB
539:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_PENDSTCLR_Msk (1UL << SCB_ICSR_PENDSTCLR_Pos) /*!< SCB
540:Drivers/CMSIS/Include/core_cm7.h ****
541:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPREEMPT_Pos 23U /*!< SCB
542:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPREEMPT_Msk (1UL << SCB_ICSR_ISRPREEMPT_Pos) /*!< SCB
543:Drivers/CMSIS/Include/core_cm7.h ****
544:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPENDING_Pos 22U /*!< SCB
545:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_ISRPENDING_Msk (1UL << SCB_ICSR_ISRPENDING_Pos) /*!< SCB
546:Drivers/CMSIS/Include/core_cm7.h ****
547:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_VECTPENDING_Pos 12U /*!< SCB
548:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_VECTPENDING_Msk (0x1FFUL << SCB_ICSR_VECTPENDING_Pos) /*!< SCB
549:Drivers/CMSIS/Include/core_cm7.h ****
550:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_RETTOBASE_Pos 11U /*!< SCB
551:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_RETTOBASE_Msk (1UL << SCB_ICSR_RETTOBASE_Pos) /*!< SCB
552:Drivers/CMSIS/Include/core_cm7.h ****
553:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_VECTACTIVE_Pos 0U /*!< SCB
554:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ICSR_VECTACTIVE_Msk (0x1FFUL /*<< SCB_ICSR_VECTACTIVE_Pos*/) /*!< SCB
555:Drivers/CMSIS/Include/core_cm7.h ****
556:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Vector Table Offset Register Definitions */
ARM GAS /tmp/ccY34ikP.s page 14
557:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_VTOR_TBLOFF_Pos 7U /*!< SCB
558:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_VTOR_TBLOFF_Msk (0x1FFFFFFUL << SCB_VTOR_TBLOFF_Pos) /*!< SCB
559:Drivers/CMSIS/Include/core_cm7.h ****
560:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Application Interrupt and Reset Control Register Definitions */
561:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTKEY_Pos 16U /*!< SCB
562:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTKEY_Msk (0xFFFFUL << SCB_AIRCR_VECTKEY_Pos) /*!< SCB
563:Drivers/CMSIS/Include/core_cm7.h ****
564:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTKEYSTAT_Pos 16U /*!< SCB
565:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTKEYSTAT_Msk (0xFFFFUL << SCB_AIRCR_VECTKEYSTAT_Pos) /*!< SCB
566:Drivers/CMSIS/Include/core_cm7.h ****
567:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_ENDIANESS_Pos 15U /*!< SCB
568:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_ENDIANESS_Msk (1UL << SCB_AIRCR_ENDIANESS_Pos) /*!< SCB
569:Drivers/CMSIS/Include/core_cm7.h ****
570:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_PRIGROUP_Pos 8U /*!< SCB
571:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_PRIGROUP_Msk (7UL << SCB_AIRCR_PRIGROUP_Pos) /*!< SCB
572:Drivers/CMSIS/Include/core_cm7.h ****
573:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_SYSRESETREQ_Pos 2U /*!< SCB
574:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_SYSRESETREQ_Msk (1UL << SCB_AIRCR_SYSRESETREQ_Pos) /*!< SCB
575:Drivers/CMSIS/Include/core_cm7.h ****
576:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTCLRACTIVE_Pos 1U /*!< SCB
577:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTCLRACTIVE_Msk (1UL << SCB_AIRCR_VECTCLRACTIVE_Pos) /*!< SCB
578:Drivers/CMSIS/Include/core_cm7.h ****
579:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTRESET_Pos 0U /*!< SCB
580:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AIRCR_VECTRESET_Msk (1UL /*<< SCB_AIRCR_VECTRESET_Pos*/) /*!< SCB
581:Drivers/CMSIS/Include/core_cm7.h ****
582:Drivers/CMSIS/Include/core_cm7.h **** /* SCB System Control Register Definitions */
583:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SCR_SEVONPEND_Pos 4U /*!< SCB
584:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SCR_SEVONPEND_Msk (1UL << SCB_SCR_SEVONPEND_Pos) /*!< SCB
585:Drivers/CMSIS/Include/core_cm7.h ****
586:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SCR_SLEEPDEEP_Pos 2U /*!< SCB
587:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SCR_SLEEPDEEP_Msk (1UL << SCB_SCR_SLEEPDEEP_Pos) /*!< SCB
588:Drivers/CMSIS/Include/core_cm7.h ****
589:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SCR_SLEEPONEXIT_Pos 1U /*!< SCB
590:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SCR_SLEEPONEXIT_Msk (1UL << SCB_SCR_SLEEPONEXIT_Pos) /*!< SCB
591:Drivers/CMSIS/Include/core_cm7.h ****
592:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Configuration Control Register Definitions */
593:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_BP_Pos 18U /*!< SCB
594:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_BP_Msk (1UL << SCB_CCR_BP_Pos) /*!< SCB
595:Drivers/CMSIS/Include/core_cm7.h ****
596:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_IC_Pos 17U /*!< SCB
597:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_IC_Msk (1UL << SCB_CCR_IC_Pos) /*!< SCB
598:Drivers/CMSIS/Include/core_cm7.h ****
599:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_DC_Pos 16U /*!< SCB
600:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_DC_Msk (1UL << SCB_CCR_DC_Pos) /*!< SCB
601:Drivers/CMSIS/Include/core_cm7.h ****
602:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_STKALIGN_Pos 9U /*!< SCB
603:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_STKALIGN_Msk (1UL << SCB_CCR_STKALIGN_Pos) /*!< SCB
604:Drivers/CMSIS/Include/core_cm7.h ****
605:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_BFHFNMIGN_Pos 8U /*!< SCB
606:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_BFHFNMIGN_Msk (1UL << SCB_CCR_BFHFNMIGN_Pos) /*!< SCB
607:Drivers/CMSIS/Include/core_cm7.h ****
608:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_DIV_0_TRP_Pos 4U /*!< SCB
609:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_DIV_0_TRP_Msk (1UL << SCB_CCR_DIV_0_TRP_Pos) /*!< SCB
610:Drivers/CMSIS/Include/core_cm7.h ****
611:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_UNALIGN_TRP_Pos 3U /*!< SCB
612:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_UNALIGN_TRP_Msk (1UL << SCB_CCR_UNALIGN_TRP_Pos) /*!< SCB
613:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 15
614:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_USERSETMPEND_Pos 1U /*!< SCB
615:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_USERSETMPEND_Msk (1UL << SCB_CCR_USERSETMPEND_Pos) /*!< SCB
616:Drivers/CMSIS/Include/core_cm7.h ****
617:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_NONBASETHRDENA_Pos 0U /*!< SCB
618:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCR_NONBASETHRDENA_Msk (1UL /*<< SCB_CCR_NONBASETHRDENA_Pos*/) /*!< SCB
619:Drivers/CMSIS/Include/core_cm7.h ****
620:Drivers/CMSIS/Include/core_cm7.h **** /* SCB System Handler Control and State Register Definitions */
621:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTENA_Pos 18U /*!< SCB
622:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTENA_Msk (1UL << SCB_SHCSR_USGFAULTENA_Pos) /*!< SCB
623:Drivers/CMSIS/Include/core_cm7.h ****
624:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTENA_Pos 17U /*!< SCB
625:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTENA_Msk (1UL << SCB_SHCSR_BUSFAULTENA_Pos) /*!< SCB
626:Drivers/CMSIS/Include/core_cm7.h ****
627:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MEMFAULTENA_Pos 16U /*!< SCB
628:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MEMFAULTENA_Msk (1UL << SCB_SHCSR_MEMFAULTENA_Pos) /*!< SCB
629:Drivers/CMSIS/Include/core_cm7.h ****
630:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_SVCALLPENDED_Pos 15U /*!< SCB
631:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_SVCALLPENDED_Msk (1UL << SCB_SHCSR_SVCALLPENDED_Pos) /*!< SCB
632:Drivers/CMSIS/Include/core_cm7.h ****
633:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTPENDED_Pos 14U /*!< SCB
634:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTPENDED_Msk (1UL << SCB_SHCSR_BUSFAULTPENDED_Pos) /*!< SCB
635:Drivers/CMSIS/Include/core_cm7.h ****
636:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MEMFAULTPENDED_Pos 13U /*!< SCB
637:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MEMFAULTPENDED_Msk (1UL << SCB_SHCSR_MEMFAULTPENDED_Pos) /*!< SCB
638:Drivers/CMSIS/Include/core_cm7.h ****
639:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTPENDED_Pos 12U /*!< SCB
640:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTPENDED_Msk (1UL << SCB_SHCSR_USGFAULTPENDED_Pos) /*!< SCB
641:Drivers/CMSIS/Include/core_cm7.h ****
642:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_SYSTICKACT_Pos 11U /*!< SCB
643:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_SYSTICKACT_Msk (1UL << SCB_SHCSR_SYSTICKACT_Pos) /*!< SCB
644:Drivers/CMSIS/Include/core_cm7.h ****
645:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_PENDSVACT_Pos 10U /*!< SCB
646:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_PENDSVACT_Msk (1UL << SCB_SHCSR_PENDSVACT_Pos) /*!< SCB
647:Drivers/CMSIS/Include/core_cm7.h ****
648:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MONITORACT_Pos 8U /*!< SCB
649:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MONITORACT_Msk (1UL << SCB_SHCSR_MONITORACT_Pos) /*!< SCB
650:Drivers/CMSIS/Include/core_cm7.h ****
651:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_SVCALLACT_Pos 7U /*!< SCB
652:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_SVCALLACT_Msk (1UL << SCB_SHCSR_SVCALLACT_Pos) /*!< SCB
653:Drivers/CMSIS/Include/core_cm7.h ****
654:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTACT_Pos 3U /*!< SCB
655:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_USGFAULTACT_Msk (1UL << SCB_SHCSR_USGFAULTACT_Pos) /*!< SCB
656:Drivers/CMSIS/Include/core_cm7.h ****
657:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTACT_Pos 1U /*!< SCB
658:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_BUSFAULTACT_Msk (1UL << SCB_SHCSR_BUSFAULTACT_Pos) /*!< SCB
659:Drivers/CMSIS/Include/core_cm7.h ****
660:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MEMFAULTACT_Pos 0U /*!< SCB
661:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_SHCSR_MEMFAULTACT_Msk (1UL /*<< SCB_SHCSR_MEMFAULTACT_Pos*/) /*!< SCB
662:Drivers/CMSIS/Include/core_cm7.h ****
663:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Configurable Fault Status Register Definitions */
664:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_USGFAULTSR_Pos 16U /*!< SCB
665:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_USGFAULTSR_Msk (0xFFFFUL << SCB_CFSR_USGFAULTSR_Pos) /*!< SCB
666:Drivers/CMSIS/Include/core_cm7.h ****
667:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_BUSFAULTSR_Pos 8U /*!< SCB
668:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_BUSFAULTSR_Msk (0xFFUL << SCB_CFSR_BUSFAULTSR_Pos) /*!< SCB
669:Drivers/CMSIS/Include/core_cm7.h ****
670:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MEMFAULTSR_Pos 0U /*!< SCB
ARM GAS /tmp/ccY34ikP.s page 16
671:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MEMFAULTSR_Msk (0xFFUL /*<< SCB_CFSR_MEMFAULTSR_Pos*/) /*!< SCB
672:Drivers/CMSIS/Include/core_cm7.h ****
673:Drivers/CMSIS/Include/core_cm7.h **** /* MemManage Fault Status Register (part of SCB Configurable Fault Status Register) */
674:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MMARVALID_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 7U) /*!< SCB
675:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MMARVALID_Msk (1UL << SCB_CFSR_MMARVALID_Pos) /*!< SCB
676:Drivers/CMSIS/Include/core_cm7.h ****
677:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MLSPERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 5U) /*!< SCB
678:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MLSPERR_Msk (1UL << SCB_CFSR_MLSPERR_Pos) /*!< SCB
679:Drivers/CMSIS/Include/core_cm7.h ****
680:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 4U) /*!< SCB
681:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MSTKERR_Msk (1UL << SCB_CFSR_MSTKERR_Pos) /*!< SCB
682:Drivers/CMSIS/Include/core_cm7.h ****
683:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MUNSTKERR_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 3U) /*!< SCB
684:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_MUNSTKERR_Msk (1UL << SCB_CFSR_MUNSTKERR_Pos) /*!< SCB
685:Drivers/CMSIS/Include/core_cm7.h ****
686:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_DACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 1U) /*!< SCB
687:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_DACCVIOL_Msk (1UL << SCB_CFSR_DACCVIOL_Pos) /*!< SCB
688:Drivers/CMSIS/Include/core_cm7.h ****
689:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IACCVIOL_Pos (SCB_SHCSR_MEMFAULTACT_Pos + 0U) /*!< SCB
690:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IACCVIOL_Msk (1UL /*<< SCB_CFSR_IACCVIOL_Pos*/) /*!< SCB
691:Drivers/CMSIS/Include/core_cm7.h ****
692:Drivers/CMSIS/Include/core_cm7.h **** /* BusFault Status Register (part of SCB Configurable Fault Status Register) */
693:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_BFARVALID_Pos (SCB_CFSR_BUSFAULTSR_Pos + 7U) /*!< SCB
694:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_BFARVALID_Msk (1UL << SCB_CFSR_BFARVALID_Pos) /*!< SCB
695:Drivers/CMSIS/Include/core_cm7.h ****
696:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_LSPERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 5U) /*!< SCB
697:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_LSPERR_Msk (1UL << SCB_CFSR_LSPERR_Pos) /*!< SCB
698:Drivers/CMSIS/Include/core_cm7.h ****
699:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_STKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 4U) /*!< SCB
700:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_STKERR_Msk (1UL << SCB_CFSR_STKERR_Pos) /*!< SCB
701:Drivers/CMSIS/Include/core_cm7.h ****
702:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_UNSTKERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 3U) /*!< SCB
703:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_UNSTKERR_Msk (1UL << SCB_CFSR_UNSTKERR_Pos) /*!< SCB
704:Drivers/CMSIS/Include/core_cm7.h ****
705:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IMPRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 2U) /*!< SCB
706:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IMPRECISERR_Msk (1UL << SCB_CFSR_IMPRECISERR_Pos) /*!< SCB
707:Drivers/CMSIS/Include/core_cm7.h ****
708:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_PRECISERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 1U) /*!< SCB
709:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_PRECISERR_Msk (1UL << SCB_CFSR_PRECISERR_Pos) /*!< SCB
710:Drivers/CMSIS/Include/core_cm7.h ****
711:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IBUSERR_Pos (SCB_CFSR_BUSFAULTSR_Pos + 0U) /*!< SCB
712:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_IBUSERR_Msk (1UL << SCB_CFSR_IBUSERR_Pos) /*!< SCB
713:Drivers/CMSIS/Include/core_cm7.h ****
714:Drivers/CMSIS/Include/core_cm7.h **** /* UsageFault Status Register (part of SCB Configurable Fault Status Register) */
715:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_DIVBYZERO_Pos (SCB_CFSR_USGFAULTSR_Pos + 9U) /*!< SCB
716:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_DIVBYZERO_Msk (1UL << SCB_CFSR_DIVBYZERO_Pos) /*!< SCB
717:Drivers/CMSIS/Include/core_cm7.h ****
718:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_UNALIGNED_Pos (SCB_CFSR_USGFAULTSR_Pos + 8U) /*!< SCB
719:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_UNALIGNED_Msk (1UL << SCB_CFSR_UNALIGNED_Pos) /*!< SCB
720:Drivers/CMSIS/Include/core_cm7.h ****
721:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_NOCP_Pos (SCB_CFSR_USGFAULTSR_Pos + 3U) /*!< SCB
722:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_NOCP_Msk (1UL << SCB_CFSR_NOCP_Pos) /*!< SCB
723:Drivers/CMSIS/Include/core_cm7.h ****
724:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_INVPC_Pos (SCB_CFSR_USGFAULTSR_Pos + 2U) /*!< SCB
725:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_INVPC_Msk (1UL << SCB_CFSR_INVPC_Pos) /*!< SCB
726:Drivers/CMSIS/Include/core_cm7.h ****
727:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_INVSTATE_Pos (SCB_CFSR_USGFAULTSR_Pos + 1U) /*!< SCB
ARM GAS /tmp/ccY34ikP.s page 17
728:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_INVSTATE_Msk (1UL << SCB_CFSR_INVSTATE_Pos) /*!< SCB
729:Drivers/CMSIS/Include/core_cm7.h ****
730:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_UNDEFINSTR_Pos (SCB_CFSR_USGFAULTSR_Pos + 0U) /*!< SCB
731:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CFSR_UNDEFINSTR_Msk (1UL << SCB_CFSR_UNDEFINSTR_Pos) /*!< SCB
732:Drivers/CMSIS/Include/core_cm7.h ****
733:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Hard Fault Status Register Definitions */
734:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_HFSR_DEBUGEVT_Pos 31U /*!< SCB
735:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_HFSR_DEBUGEVT_Msk (1UL << SCB_HFSR_DEBUGEVT_Pos) /*!< SCB
736:Drivers/CMSIS/Include/core_cm7.h ****
737:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_HFSR_FORCED_Pos 30U /*!< SCB
738:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_HFSR_FORCED_Msk (1UL << SCB_HFSR_FORCED_Pos) /*!< SCB
739:Drivers/CMSIS/Include/core_cm7.h ****
740:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_HFSR_VECTTBL_Pos 1U /*!< SCB
741:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_HFSR_VECTTBL_Msk (1UL << SCB_HFSR_VECTTBL_Pos) /*!< SCB
742:Drivers/CMSIS/Include/core_cm7.h ****
743:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Debug Fault Status Register Definitions */
744:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_EXTERNAL_Pos 4U /*!< SCB
745:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_EXTERNAL_Msk (1UL << SCB_DFSR_EXTERNAL_Pos) /*!< SCB
746:Drivers/CMSIS/Include/core_cm7.h ****
747:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_VCATCH_Pos 3U /*!< SCB
748:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_VCATCH_Msk (1UL << SCB_DFSR_VCATCH_Pos) /*!< SCB
749:Drivers/CMSIS/Include/core_cm7.h ****
750:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_DWTTRAP_Pos 2U /*!< SCB
751:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_DWTTRAP_Msk (1UL << SCB_DFSR_DWTTRAP_Pos) /*!< SCB
752:Drivers/CMSIS/Include/core_cm7.h ****
753:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_BKPT_Pos 1U /*!< SCB
754:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_BKPT_Msk (1UL << SCB_DFSR_BKPT_Pos) /*!< SCB
755:Drivers/CMSIS/Include/core_cm7.h ****
756:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_HALTED_Pos 0U /*!< SCB
757:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DFSR_HALTED_Msk (1UL /*<< SCB_DFSR_HALTED_Pos*/) /*!< SCB
758:Drivers/CMSIS/Include/core_cm7.h ****
759:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Cache Level ID Register Definitions */
760:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CLIDR_LOUU_Pos 27U /*!< SCB
761:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CLIDR_LOUU_Msk (7UL << SCB_CLIDR_LOUU_Pos) /*!< SCB
762:Drivers/CMSIS/Include/core_cm7.h ****
763:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CLIDR_LOC_Pos 24U /*!< SCB
764:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CLIDR_LOC_Msk (7UL << SCB_CLIDR_LOC_Pos) /*!< SCB
765:Drivers/CMSIS/Include/core_cm7.h ****
766:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Cache Type Register Definitions */
767:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_FORMAT_Pos 29U /*!< SCB
768:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_FORMAT_Msk (7UL << SCB_CTR_FORMAT_Pos) /*!< SCB
769:Drivers/CMSIS/Include/core_cm7.h ****
770:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_CWG_Pos 24U /*!< SCB
771:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_CWG_Msk (0xFUL << SCB_CTR_CWG_Pos) /*!< SCB
772:Drivers/CMSIS/Include/core_cm7.h ****
773:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_ERG_Pos 20U /*!< SCB
774:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_ERG_Msk (0xFUL << SCB_CTR_ERG_Pos) /*!< SCB
775:Drivers/CMSIS/Include/core_cm7.h ****
776:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_DMINLINE_Pos 16U /*!< SCB
777:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_DMINLINE_Msk (0xFUL << SCB_CTR_DMINLINE_Pos) /*!< SCB
778:Drivers/CMSIS/Include/core_cm7.h ****
779:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_IMINLINE_Pos 0U /*!< SCB
780:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CTR_IMINLINE_Msk (0xFUL /*<< SCB_CTR_IMINLINE_Pos*/) /*!< SCB
781:Drivers/CMSIS/Include/core_cm7.h ****
782:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Cache Size ID Register Definitions */
783:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_WT_Pos 31U /*!< SCB
784:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_WT_Msk (1UL << SCB_CCSIDR_WT_Pos) /*!< SCB
ARM GAS /tmp/ccY34ikP.s page 18
785:Drivers/CMSIS/Include/core_cm7.h ****
786:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_WB_Pos 30U /*!< SCB
787:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_WB_Msk (1UL << SCB_CCSIDR_WB_Pos) /*!< SCB
788:Drivers/CMSIS/Include/core_cm7.h ****
789:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_RA_Pos 29U /*!< SCB
790:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_RA_Msk (1UL << SCB_CCSIDR_RA_Pos) /*!< SCB
791:Drivers/CMSIS/Include/core_cm7.h ****
792:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_WA_Pos 28U /*!< SCB
793:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_WA_Msk (1UL << SCB_CCSIDR_WA_Pos) /*!< SCB
794:Drivers/CMSIS/Include/core_cm7.h ****
795:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_NUMSETS_Pos 13U /*!< SCB
796:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_NUMSETS_Msk (0x7FFFUL << SCB_CCSIDR_NUMSETS_Pos) /*!< SCB
797:Drivers/CMSIS/Include/core_cm7.h ****
798:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_ASSOCIATIVITY_Pos 3U /*!< SCB
799:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_ASSOCIATIVITY_Msk (0x3FFUL << SCB_CCSIDR_ASSOCIATIVITY_Pos) /*!< SCB
800:Drivers/CMSIS/Include/core_cm7.h ****
801:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_LINESIZE_Pos 0U /*!< SCB
802:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CCSIDR_LINESIZE_Msk (7UL /*<< SCB_CCSIDR_LINESIZE_Pos*/) /*!< SCB
803:Drivers/CMSIS/Include/core_cm7.h ****
804:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Cache Size Selection Register Definitions */
805:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CSSELR_LEVEL_Pos 1U /*!< SCB
806:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CSSELR_LEVEL_Msk (7UL << SCB_CSSELR_LEVEL_Pos) /*!< SCB
807:Drivers/CMSIS/Include/core_cm7.h ****
808:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CSSELR_IND_Pos 0U /*!< SCB
809:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CSSELR_IND_Msk (1UL /*<< SCB_CSSELR_IND_Pos*/) /*!< SCB
810:Drivers/CMSIS/Include/core_cm7.h ****
811:Drivers/CMSIS/Include/core_cm7.h **** /* SCB Software Triggered Interrupt Register Definitions */
812:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_STIR_INTID_Pos 0U /*!< SCB
813:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_STIR_INTID_Msk (0x1FFUL /*<< SCB_STIR_INTID_Pos*/) /*!< SCB
814:Drivers/CMSIS/Include/core_cm7.h ****
815:Drivers/CMSIS/Include/core_cm7.h **** /* SCB D-Cache Invalidate by Set-way Register Definitions */
816:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCISW_WAY_Pos 30U /*!< SCB
817:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCISW_WAY_Msk (3UL << SCB_DCISW_WAY_Pos) /*!< SCB
818:Drivers/CMSIS/Include/core_cm7.h ****
819:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCISW_SET_Pos 5U /*!< SCB
820:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCISW_SET_Msk (0x1FFUL << SCB_DCISW_SET_Pos) /*!< SCB
821:Drivers/CMSIS/Include/core_cm7.h ****
822:Drivers/CMSIS/Include/core_cm7.h **** /* SCB D-Cache Clean by Set-way Register Definitions */
823:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCSW_WAY_Pos 30U /*!< SCB
824:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCSW_WAY_Msk (3UL << SCB_DCCSW_WAY_Pos) /*!< SCB
825:Drivers/CMSIS/Include/core_cm7.h ****
826:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCSW_SET_Pos 5U /*!< SCB
827:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCSW_SET_Msk (0x1FFUL << SCB_DCCSW_SET_Pos) /*!< SCB
828:Drivers/CMSIS/Include/core_cm7.h ****
829:Drivers/CMSIS/Include/core_cm7.h **** /* SCB D-Cache Clean and Invalidate by Set-way Register Definitions */
830:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCISW_WAY_Pos 30U /*!< SCB
831:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCISW_WAY_Msk (3UL << SCB_DCCISW_WAY_Pos) /*!< SCB
832:Drivers/CMSIS/Include/core_cm7.h ****
833:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCISW_SET_Pos 5U /*!< SCB
834:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DCCISW_SET_Msk (0x1FFUL << SCB_DCCISW_SET_Pos) /*!< SCB
835:Drivers/CMSIS/Include/core_cm7.h ****
836:Drivers/CMSIS/Include/core_cm7.h **** /* Instruction Tightly-Coupled Memory Control Register Definitions */
837:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_SZ_Pos 3U /*!< SCB
838:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_SZ_Msk (0xFUL << SCB_ITCMCR_SZ_Pos) /*!< SCB
839:Drivers/CMSIS/Include/core_cm7.h ****
840:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_RETEN_Pos 2U /*!< SCB
841:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_RETEN_Msk (1UL << SCB_ITCMCR_RETEN_Pos) /*!< SCB
ARM GAS /tmp/ccY34ikP.s page 19
842:Drivers/CMSIS/Include/core_cm7.h ****
843:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_RMW_Pos 1U /*!< SCB
844:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_RMW_Msk (1UL << SCB_ITCMCR_RMW_Pos) /*!< SCB
845:Drivers/CMSIS/Include/core_cm7.h ****
846:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_EN_Pos 0U /*!< SCB
847:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ITCMCR_EN_Msk (1UL /*<< SCB_ITCMCR_EN_Pos*/) /*!< SCB
848:Drivers/CMSIS/Include/core_cm7.h ****
849:Drivers/CMSIS/Include/core_cm7.h **** /* Data Tightly-Coupled Memory Control Register Definitions */
850:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_SZ_Pos 3U /*!< SCB
851:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_SZ_Msk (0xFUL << SCB_DTCMCR_SZ_Pos) /*!< SCB
852:Drivers/CMSIS/Include/core_cm7.h ****
853:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_RETEN_Pos 2U /*!< SCB
854:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_RETEN_Msk (1UL << SCB_DTCMCR_RETEN_Pos) /*!< SCB
855:Drivers/CMSIS/Include/core_cm7.h ****
856:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_RMW_Pos 1U /*!< SCB
857:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_RMW_Msk (1UL << SCB_DTCMCR_RMW_Pos) /*!< SCB
858:Drivers/CMSIS/Include/core_cm7.h ****
859:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_EN_Pos 0U /*!< SCB
860:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_DTCMCR_EN_Msk (1UL /*<< SCB_DTCMCR_EN_Pos*/) /*!< SCB
861:Drivers/CMSIS/Include/core_cm7.h ****
862:Drivers/CMSIS/Include/core_cm7.h **** /* AHBP Control Register Definitions */
863:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBPCR_SZ_Pos 1U /*!< SCB
864:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBPCR_SZ_Msk (7UL << SCB_AHBPCR_SZ_Pos) /*!< SCB
865:Drivers/CMSIS/Include/core_cm7.h ****
866:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBPCR_EN_Pos 0U /*!< SCB
867:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBPCR_EN_Msk (1UL /*<< SCB_AHBPCR_EN_Pos*/) /*!< SCB
868:Drivers/CMSIS/Include/core_cm7.h ****
869:Drivers/CMSIS/Include/core_cm7.h **** /* L1 Cache Control Register Definitions */
870:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CACR_FORCEWT_Pos 2U /*!< SCB
871:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CACR_FORCEWT_Msk (1UL << SCB_CACR_FORCEWT_Pos) /*!< SCB
872:Drivers/CMSIS/Include/core_cm7.h ****
873:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CACR_ECCEN_Pos 1U /*!< SCB
874:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CACR_ECCEN_Msk (1UL << SCB_CACR_ECCEN_Pos) /*!< SCB
875:Drivers/CMSIS/Include/core_cm7.h ****
876:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CACR_SIWT_Pos 0U /*!< SCB
877:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_CACR_SIWT_Msk (1UL /*<< SCB_CACR_SIWT_Pos*/) /*!< SCB
878:Drivers/CMSIS/Include/core_cm7.h ****
879:Drivers/CMSIS/Include/core_cm7.h **** /* AHBS Control Register Definitions */
880:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_INITCOUNT_Pos 11U /*!< SCB
881:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_INITCOUNT_Msk (0x1FUL << SCB_AHBPCR_INITCOUNT_Pos) /*!< SCB
882:Drivers/CMSIS/Include/core_cm7.h ****
883:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_TPRI_Pos 2U /*!< SCB
884:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_TPRI_Msk (0x1FFUL << SCB_AHBPCR_TPRI_Pos) /*!< SCB
885:Drivers/CMSIS/Include/core_cm7.h ****
886:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_CTL_Pos 0U /*!< SCB
887:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_AHBSCR_CTL_Msk (3UL /*<< SCB_AHBPCR_CTL_Pos*/) /*!< SCB
888:Drivers/CMSIS/Include/core_cm7.h ****
889:Drivers/CMSIS/Include/core_cm7.h **** /* Auxiliary Bus Fault Status Register Definitions */
890:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_AXIMTYPE_Pos 8U /*!< SCB
891:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_AXIMTYPE_Msk (3UL << SCB_ABFSR_AXIMTYPE_Pos) /*!< SCB
892:Drivers/CMSIS/Include/core_cm7.h ****
893:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_EPPB_Pos 4U /*!< SCB
894:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_EPPB_Msk (1UL << SCB_ABFSR_EPPB_Pos) /*!< SCB
895:Drivers/CMSIS/Include/core_cm7.h ****
896:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_AXIM_Pos 3U /*!< SCB
897:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_AXIM_Msk (1UL << SCB_ABFSR_AXIM_Pos) /*!< SCB
898:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 20
899:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_AHBP_Pos 2U /*!< SCB
900:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_AHBP_Msk (1UL << SCB_ABFSR_AHBP_Pos) /*!< SCB
901:Drivers/CMSIS/Include/core_cm7.h ****
902:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_DTCM_Pos 1U /*!< SCB
903:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_DTCM_Msk (1UL << SCB_ABFSR_DTCM_Pos) /*!< SCB
904:Drivers/CMSIS/Include/core_cm7.h ****
905:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_ITCM_Pos 0U /*!< SCB
906:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_ABFSR_ITCM_Msk (1UL /*<< SCB_ABFSR_ITCM_Pos*/) /*!< SCB
907:Drivers/CMSIS/Include/core_cm7.h ****
908:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_SCB */
909:Drivers/CMSIS/Include/core_cm7.h ****
910:Drivers/CMSIS/Include/core_cm7.h ****
911:Drivers/CMSIS/Include/core_cm7.h **** /**
912:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
913:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_SCnSCB System Controls not in SCB (SCnSCB)
914:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the System Control and ID Register not in the SCB
915:Drivers/CMSIS/Include/core_cm7.h **** @{
916:Drivers/CMSIS/Include/core_cm7.h **** */
917:Drivers/CMSIS/Include/core_cm7.h ****
918:Drivers/CMSIS/Include/core_cm7.h **** /**
919:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the System Control and ID Register not in the SCB.
920:Drivers/CMSIS/Include/core_cm7.h **** */
921:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
922:Drivers/CMSIS/Include/core_cm7.h **** {
923:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[1U];
924:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ICTR; /*!< Offset: 0x004 (R/ ) Interrupt Controller Type Regist
925:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ACTLR; /*!< Offset: 0x008 (R/W) Auxiliary Control Register */
926:Drivers/CMSIS/Include/core_cm7.h **** } SCnSCB_Type;
927:Drivers/CMSIS/Include/core_cm7.h ****
928:Drivers/CMSIS/Include/core_cm7.h **** /* Interrupt Controller Type Register Definitions */
929:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ICTR_INTLINESNUM_Pos 0U /*!< ICTR: I
930:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ICTR_INTLINESNUM_Msk (0xFUL /*<< SCnSCB_ICTR_INTLINESNUM_Pos*/) /*!< ICTR: I
931:Drivers/CMSIS/Include/core_cm7.h ****
932:Drivers/CMSIS/Include/core_cm7.h **** /* Auxiliary Control Register Definitions */
933:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISITMATBFLUSH_Pos 12U /*!< ACTLR:
934:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISITMATBFLUSH_Msk (1UL << SCnSCB_ACTLR_DISITMATBFLUSH_Pos) /*!< ACTLR:
935:Drivers/CMSIS/Include/core_cm7.h ****
936:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISRAMODE_Pos 11U /*!< ACTLR:
937:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISRAMODE_Msk (1UL << SCnSCB_ACTLR_DISRAMODE_Pos) /*!< ACTLR:
938:Drivers/CMSIS/Include/core_cm7.h ****
939:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_FPEXCODIS_Pos 10U /*!< ACTLR:
940:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_FPEXCODIS_Msk (1UL << SCnSCB_ACTLR_FPEXCODIS_Pos) /*!< ACTLR:
941:Drivers/CMSIS/Include/core_cm7.h ****
942:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISFOLD_Pos 2U /*!< ACTLR:
943:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISFOLD_Msk (1UL << SCnSCB_ACTLR_DISFOLD_Pos) /*!< ACTLR:
944:Drivers/CMSIS/Include/core_cm7.h ****
945:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISMCYCINT_Pos 0U /*!< ACTLR:
946:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB_ACTLR_DISMCYCINT_Msk (1UL /*<< SCnSCB_ACTLR_DISMCYCINT_Pos*/) /*!< ACTLR:
947:Drivers/CMSIS/Include/core_cm7.h ****
948:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_SCnotSCB */
949:Drivers/CMSIS/Include/core_cm7.h ****
950:Drivers/CMSIS/Include/core_cm7.h ****
951:Drivers/CMSIS/Include/core_cm7.h **** /**
952:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
953:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_SysTick System Tick Timer (SysTick)
954:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the System Timer Registers.
955:Drivers/CMSIS/Include/core_cm7.h **** @{
ARM GAS /tmp/ccY34ikP.s page 21
956:Drivers/CMSIS/Include/core_cm7.h **** */
957:Drivers/CMSIS/Include/core_cm7.h ****
958:Drivers/CMSIS/Include/core_cm7.h **** /**
959:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the System Timer (SysTick).
960:Drivers/CMSIS/Include/core_cm7.h **** */
961:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
962:Drivers/CMSIS/Include/core_cm7.h **** {
963:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) SysTick Control and Status Regis
964:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t LOAD; /*!< Offset: 0x004 (R/W) SysTick Reload Value Register */
965:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t VAL; /*!< Offset: 0x008 (R/W) SysTick Current Value Register *
966:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CALIB; /*!< Offset: 0x00C (R/ ) SysTick Calibration Register */
967:Drivers/CMSIS/Include/core_cm7.h **** } SysTick_Type;
968:Drivers/CMSIS/Include/core_cm7.h ****
969:Drivers/CMSIS/Include/core_cm7.h **** /* SysTick Control / Status Register Definitions */
970:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_COUNTFLAG_Pos 16U /*!< SysT
971:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_COUNTFLAG_Msk (1UL << SysTick_CTRL_COUNTFLAG_Pos) /*!< SysT
972:Drivers/CMSIS/Include/core_cm7.h ****
973:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_CLKSOURCE_Pos 2U /*!< SysT
974:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_CLKSOURCE_Msk (1UL << SysTick_CTRL_CLKSOURCE_Pos) /*!< SysT
975:Drivers/CMSIS/Include/core_cm7.h ****
976:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_TICKINT_Pos 1U /*!< SysT
977:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_TICKINT_Msk (1UL << SysTick_CTRL_TICKINT_Pos) /*!< SysT
978:Drivers/CMSIS/Include/core_cm7.h ****
979:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_ENABLE_Pos 0U /*!< SysT
980:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CTRL_ENABLE_Msk (1UL /*<< SysTick_CTRL_ENABLE_Pos*/) /*!< SysT
981:Drivers/CMSIS/Include/core_cm7.h ****
982:Drivers/CMSIS/Include/core_cm7.h **** /* SysTick Reload Register Definitions */
983:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_LOAD_RELOAD_Pos 0U /*!< SysT
984:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_LOAD_RELOAD_Msk (0xFFFFFFUL /*<< SysTick_LOAD_RELOAD_Pos*/) /*!< SysT
985:Drivers/CMSIS/Include/core_cm7.h ****
986:Drivers/CMSIS/Include/core_cm7.h **** /* SysTick Current Register Definitions */
987:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_VAL_CURRENT_Pos 0U /*!< SysT
988:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_VAL_CURRENT_Msk (0xFFFFFFUL /*<< SysTick_VAL_CURRENT_Pos*/) /*!< SysT
989:Drivers/CMSIS/Include/core_cm7.h ****
990:Drivers/CMSIS/Include/core_cm7.h **** /* SysTick Calibration Register Definitions */
991:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_NOREF_Pos 31U /*!< SysT
992:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_NOREF_Msk (1UL << SysTick_CALIB_NOREF_Pos) /*!< SysT
993:Drivers/CMSIS/Include/core_cm7.h ****
994:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_SKEW_Pos 30U /*!< SysT
995:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_SKEW_Msk (1UL << SysTick_CALIB_SKEW_Pos) /*!< SysT
996:Drivers/CMSIS/Include/core_cm7.h ****
997:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_TENMS_Pos 0U /*!< SysT
998:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_CALIB_TENMS_Msk (0xFFFFFFUL /*<< SysTick_CALIB_TENMS_Pos*/) /*!< SysT
999:Drivers/CMSIS/Include/core_cm7.h ****
1000:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_SysTick */
1001:Drivers/CMSIS/Include/core_cm7.h ****
1002:Drivers/CMSIS/Include/core_cm7.h ****
1003:Drivers/CMSIS/Include/core_cm7.h **** /**
1004:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1005:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_ITM Instrumentation Trace Macrocell (ITM)
1006:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Instrumentation Trace Macrocell (ITM)
1007:Drivers/CMSIS/Include/core_cm7.h **** @{
1008:Drivers/CMSIS/Include/core_cm7.h **** */
1009:Drivers/CMSIS/Include/core_cm7.h ****
1010:Drivers/CMSIS/Include/core_cm7.h **** /**
1011:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Instrumentation Trace Macrocell Register (ITM).
1012:Drivers/CMSIS/Include/core_cm7.h **** */
ARM GAS /tmp/ccY34ikP.s page 22
1013:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
1014:Drivers/CMSIS/Include/core_cm7.h **** {
1015:Drivers/CMSIS/Include/core_cm7.h **** __OM union
1016:Drivers/CMSIS/Include/core_cm7.h **** {
1017:Drivers/CMSIS/Include/core_cm7.h **** __OM uint8_t u8; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 8-bit */
1018:Drivers/CMSIS/Include/core_cm7.h **** __OM uint16_t u16; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 16-bit */
1019:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t u32; /*!< Offset: 0x000 ( /W) ITM Stimulus Port 32-bit */
1020:Drivers/CMSIS/Include/core_cm7.h **** } PORT [32U]; /*!< Offset: 0x000 ( /W) ITM Stimulus Port Registers */
1021:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[864U];
1022:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t TER; /*!< Offset: 0xE00 (R/W) ITM Trace Enable Register */
1023:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED1[15U];
1024:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t TPR; /*!< Offset: 0xE40 (R/W) ITM Trace Privilege Register */
1025:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED2[15U];
1026:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t TCR; /*!< Offset: 0xE80 (R/W) ITM Trace Control Register */
1027:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED3[29U];
1028:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t IWR; /*!< Offset: 0xEF8 ( /W) ITM Integration Write Register *
1029:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t IRR; /*!< Offset: 0xEFC (R/ ) ITM Integration Read Register */
1030:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t IMCR; /*!< Offset: 0xF00 (R/W) ITM Integration Mode Control Reg
1031:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED4[43U];
1032:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t LAR; /*!< Offset: 0xFB0 ( /W) ITM Lock Access Register */
1033:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t LSR; /*!< Offset: 0xFB4 (R/ ) ITM Lock Status Register */
1034:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED5[6U];
1035:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID4; /*!< Offset: 0xFD0 (R/ ) ITM Peripheral Identification Re
1036:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID5; /*!< Offset: 0xFD4 (R/ ) ITM Peripheral Identification Re
1037:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID6; /*!< Offset: 0xFD8 (R/ ) ITM Peripheral Identification Re
1038:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID7; /*!< Offset: 0xFDC (R/ ) ITM Peripheral Identification Re
1039:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID0; /*!< Offset: 0xFE0 (R/ ) ITM Peripheral Identification Re
1040:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID1; /*!< Offset: 0xFE4 (R/ ) ITM Peripheral Identification Re
1041:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID2; /*!< Offset: 0xFE8 (R/ ) ITM Peripheral Identification Re
1042:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PID3; /*!< Offset: 0xFEC (R/ ) ITM Peripheral Identification Re
1043:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CID0; /*!< Offset: 0xFF0 (R/ ) ITM Component Identification Re
1044:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CID1; /*!< Offset: 0xFF4 (R/ ) ITM Component Identification Re
1045:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CID2; /*!< Offset: 0xFF8 (R/ ) ITM Component Identification Re
1046:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t CID3; /*!< Offset: 0xFFC (R/ ) ITM Component Identification Re
1047:Drivers/CMSIS/Include/core_cm7.h **** } ITM_Type;
1048:Drivers/CMSIS/Include/core_cm7.h ****
1049:Drivers/CMSIS/Include/core_cm7.h **** /* ITM Trace Privilege Register Definitions */
1050:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TPR_PRIVMASK_Pos 0U /*!< ITM
1051:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TPR_PRIVMASK_Msk (0xFFFFFFFFUL /*<< ITM_TPR_PRIVMASK_Pos*/) /*!< ITM
1052:Drivers/CMSIS/Include/core_cm7.h ****
1053:Drivers/CMSIS/Include/core_cm7.h **** /* ITM Trace Control Register Definitions */
1054:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_BUSY_Pos 23U /*!< ITM
1055:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_BUSY_Msk (1UL << ITM_TCR_BUSY_Pos) /*!< ITM
1056:Drivers/CMSIS/Include/core_cm7.h ****
1057:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TraceBusID_Pos 16U /*!< ITM
1058:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TraceBusID_Msk (0x7FUL << ITM_TCR_TraceBusID_Pos) /*!< ITM
1059:Drivers/CMSIS/Include/core_cm7.h ****
1060:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_GTSFREQ_Pos 10U /*!< ITM
1061:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_GTSFREQ_Msk (3UL << ITM_TCR_GTSFREQ_Pos) /*!< ITM
1062:Drivers/CMSIS/Include/core_cm7.h ****
1063:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TSPrescale_Pos 8U /*!< ITM
1064:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TSPrescale_Msk (3UL << ITM_TCR_TSPrescale_Pos) /*!< ITM
1065:Drivers/CMSIS/Include/core_cm7.h ****
1066:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_SWOENA_Pos 4U /*!< ITM
1067:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_SWOENA_Msk (1UL << ITM_TCR_SWOENA_Pos) /*!< ITM
1068:Drivers/CMSIS/Include/core_cm7.h ****
1069:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_DWTENA_Pos 3U /*!< ITM
ARM GAS /tmp/ccY34ikP.s page 23
1070:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_DWTENA_Msk (1UL << ITM_TCR_DWTENA_Pos) /*!< ITM
1071:Drivers/CMSIS/Include/core_cm7.h ****
1072:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_SYNCENA_Pos 2U /*!< ITM
1073:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_SYNCENA_Msk (1UL << ITM_TCR_SYNCENA_Pos) /*!< ITM
1074:Drivers/CMSIS/Include/core_cm7.h ****
1075:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TSENA_Pos 1U /*!< ITM
1076:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_TSENA_Msk (1UL << ITM_TCR_TSENA_Pos) /*!< ITM
1077:Drivers/CMSIS/Include/core_cm7.h ****
1078:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_ITMENA_Pos 0U /*!< ITM
1079:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_TCR_ITMENA_Msk (1UL /*<< ITM_TCR_ITMENA_Pos*/) /*!< ITM
1080:Drivers/CMSIS/Include/core_cm7.h ****
1081:Drivers/CMSIS/Include/core_cm7.h **** /* ITM Integration Write Register Definitions */
1082:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_IWR_ATVALIDM_Pos 0U /*!< ITM
1083:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_IWR_ATVALIDM_Msk (1UL /*<< ITM_IWR_ATVALIDM_Pos*/) /*!< ITM
1084:Drivers/CMSIS/Include/core_cm7.h ****
1085:Drivers/CMSIS/Include/core_cm7.h **** /* ITM Integration Read Register Definitions */
1086:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_IRR_ATREADYM_Pos 0U /*!< ITM
1087:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_IRR_ATREADYM_Msk (1UL /*<< ITM_IRR_ATREADYM_Pos*/) /*!< ITM
1088:Drivers/CMSIS/Include/core_cm7.h ****
1089:Drivers/CMSIS/Include/core_cm7.h **** /* ITM Integration Mode Control Register Definitions */
1090:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_IMCR_INTEGRATION_Pos 0U /*!< ITM
1091:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_IMCR_INTEGRATION_Msk (1UL /*<< ITM_IMCR_INTEGRATION_Pos*/) /*!< ITM
1092:Drivers/CMSIS/Include/core_cm7.h ****
1093:Drivers/CMSIS/Include/core_cm7.h **** /* ITM Lock Status Register Definitions */
1094:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_LSR_ByteAcc_Pos 2U /*!< ITM
1095:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_LSR_ByteAcc_Msk (1UL << ITM_LSR_ByteAcc_Pos) /*!< ITM
1096:Drivers/CMSIS/Include/core_cm7.h ****
1097:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_LSR_Access_Pos 1U /*!< ITM
1098:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_LSR_Access_Msk (1UL << ITM_LSR_Access_Pos) /*!< ITM
1099:Drivers/CMSIS/Include/core_cm7.h ****
1100:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_LSR_Present_Pos 0U /*!< ITM
1101:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_LSR_Present_Msk (1UL /*<< ITM_LSR_Present_Pos*/) /*!< ITM
1102:Drivers/CMSIS/Include/core_cm7.h ****
1103:Drivers/CMSIS/Include/core_cm7.h **** /*@}*/ /* end of group CMSIS_ITM */
1104:Drivers/CMSIS/Include/core_cm7.h ****
1105:Drivers/CMSIS/Include/core_cm7.h ****
1106:Drivers/CMSIS/Include/core_cm7.h **** /**
1107:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1108:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_DWT Data Watchpoint and Trace (DWT)
1109:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Data Watchpoint and Trace (DWT)
1110:Drivers/CMSIS/Include/core_cm7.h **** @{
1111:Drivers/CMSIS/Include/core_cm7.h **** */
1112:Drivers/CMSIS/Include/core_cm7.h ****
1113:Drivers/CMSIS/Include/core_cm7.h **** /**
1114:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Data Watchpoint and Trace Register (DWT).
1115:Drivers/CMSIS/Include/core_cm7.h **** */
1116:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
1117:Drivers/CMSIS/Include/core_cm7.h **** {
1118:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CTRL; /*!< Offset: 0x000 (R/W) Control Register */
1119:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CYCCNT; /*!< Offset: 0x004 (R/W) Cycle Count Register */
1120:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CPICNT; /*!< Offset: 0x008 (R/W) CPI Count Register */
1121:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t EXCCNT; /*!< Offset: 0x00C (R/W) Exception Overhead Count Registe
1122:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t SLEEPCNT; /*!< Offset: 0x010 (R/W) Sleep Count Register */
1123:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t LSUCNT; /*!< Offset: 0x014 (R/W) LSU Count Register */
1124:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FOLDCNT; /*!< Offset: 0x018 (R/W) Folded-instruction Count Registe
1125:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t PCSR; /*!< Offset: 0x01C (R/ ) Program Counter Sample Register
1126:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t COMP0; /*!< Offset: 0x020 (R/W) Comparator Register 0 */
ARM GAS /tmp/ccY34ikP.s page 24
1127:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t MASK0; /*!< Offset: 0x024 (R/W) Mask Register 0 */
1128:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FUNCTION0; /*!< Offset: 0x028 (R/W) Function Register 0 */
1129:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[1U];
1130:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t COMP1; /*!< Offset: 0x030 (R/W) Comparator Register 1 */
1131:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t MASK1; /*!< Offset: 0x034 (R/W) Mask Register 1 */
1132:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FUNCTION1; /*!< Offset: 0x038 (R/W) Function Register 1 */
1133:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED1[1U];
1134:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t COMP2; /*!< Offset: 0x040 (R/W) Comparator Register 2 */
1135:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t MASK2; /*!< Offset: 0x044 (R/W) Mask Register 2 */
1136:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FUNCTION2; /*!< Offset: 0x048 (R/W) Function Register 2 */
1137:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED2[1U];
1138:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t COMP3; /*!< Offset: 0x050 (R/W) Comparator Register 3 */
1139:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t MASK3; /*!< Offset: 0x054 (R/W) Mask Register 3 */
1140:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FUNCTION3; /*!< Offset: 0x058 (R/W) Function Register 3 */
1141:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED3[981U];
1142:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t LAR; /*!< Offset: 0xFB0 ( W) Lock Access Register */
1143:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t LSR; /*!< Offset: 0xFB4 (R ) Lock Status Register */
1144:Drivers/CMSIS/Include/core_cm7.h **** } DWT_Type;
1145:Drivers/CMSIS/Include/core_cm7.h ****
1146:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Control Register Definitions */
1147:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NUMCOMP_Pos 28U /*!< DWT CTR
1148:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NUMCOMP_Msk (0xFUL << DWT_CTRL_NUMCOMP_Pos) /*!< DWT CTR
1149:Drivers/CMSIS/Include/core_cm7.h ****
1150:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOTRCPKT_Pos 27U /*!< DWT CTR
1151:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOTRCPKT_Msk (0x1UL << DWT_CTRL_NOTRCPKT_Pos) /*!< DWT CTR
1152:Drivers/CMSIS/Include/core_cm7.h ****
1153:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOEXTTRIG_Pos 26U /*!< DWT CTR
1154:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOEXTTRIG_Msk (0x1UL << DWT_CTRL_NOEXTTRIG_Pos) /*!< DWT CTR
1155:Drivers/CMSIS/Include/core_cm7.h ****
1156:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOCYCCNT_Pos 25U /*!< DWT CTR
1157:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOCYCCNT_Msk (0x1UL << DWT_CTRL_NOCYCCNT_Pos) /*!< DWT CTR
1158:Drivers/CMSIS/Include/core_cm7.h ****
1159:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOPRFCNT_Pos 24U /*!< DWT CTR
1160:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_NOPRFCNT_Msk (0x1UL << DWT_CTRL_NOPRFCNT_Pos) /*!< DWT CTR
1161:Drivers/CMSIS/Include/core_cm7.h ****
1162:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CYCEVTENA_Pos 22U /*!< DWT CTR
1163:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CYCEVTENA_Msk (0x1UL << DWT_CTRL_CYCEVTENA_Pos) /*!< DWT CTR
1164:Drivers/CMSIS/Include/core_cm7.h ****
1165:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_FOLDEVTENA_Pos 21U /*!< DWT CTR
1166:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_FOLDEVTENA_Msk (0x1UL << DWT_CTRL_FOLDEVTENA_Pos) /*!< DWT CTR
1167:Drivers/CMSIS/Include/core_cm7.h ****
1168:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_LSUEVTENA_Pos 20U /*!< DWT CTR
1169:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_LSUEVTENA_Msk (0x1UL << DWT_CTRL_LSUEVTENA_Pos) /*!< DWT CTR
1170:Drivers/CMSIS/Include/core_cm7.h ****
1171:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_SLEEPEVTENA_Pos 19U /*!< DWT CTR
1172:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_SLEEPEVTENA_Msk (0x1UL << DWT_CTRL_SLEEPEVTENA_Pos) /*!< DWT CTR
1173:Drivers/CMSIS/Include/core_cm7.h ****
1174:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_EXCEVTENA_Pos 18U /*!< DWT CTR
1175:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_EXCEVTENA_Msk (0x1UL << DWT_CTRL_EXCEVTENA_Pos) /*!< DWT CTR
1176:Drivers/CMSIS/Include/core_cm7.h ****
1177:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CPIEVTENA_Pos 17U /*!< DWT CTR
1178:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CPIEVTENA_Msk (0x1UL << DWT_CTRL_CPIEVTENA_Pos) /*!< DWT CTR
1179:Drivers/CMSIS/Include/core_cm7.h ****
1180:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_EXCTRCENA_Pos 16U /*!< DWT CTR
1181:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_EXCTRCENA_Msk (0x1UL << DWT_CTRL_EXCTRCENA_Pos) /*!< DWT CTR
1182:Drivers/CMSIS/Include/core_cm7.h ****
1183:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_PCSAMPLENA_Pos 12U /*!< DWT CTR
ARM GAS /tmp/ccY34ikP.s page 25
1184:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_PCSAMPLENA_Msk (0x1UL << DWT_CTRL_PCSAMPLENA_Pos) /*!< DWT CTR
1185:Drivers/CMSIS/Include/core_cm7.h ****
1186:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_SYNCTAP_Pos 10U /*!< DWT CTR
1187:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_SYNCTAP_Msk (0x3UL << DWT_CTRL_SYNCTAP_Pos) /*!< DWT CTR
1188:Drivers/CMSIS/Include/core_cm7.h ****
1189:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CYCTAP_Pos 9U /*!< DWT CTR
1190:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CYCTAP_Msk (0x1UL << DWT_CTRL_CYCTAP_Pos) /*!< DWT CTR
1191:Drivers/CMSIS/Include/core_cm7.h ****
1192:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_POSTINIT_Pos 5U /*!< DWT CTR
1193:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_POSTINIT_Msk (0xFUL << DWT_CTRL_POSTINIT_Pos) /*!< DWT CTR
1194:Drivers/CMSIS/Include/core_cm7.h ****
1195:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_POSTPRESET_Pos 1U /*!< DWT CTR
1196:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_POSTPRESET_Msk (0xFUL << DWT_CTRL_POSTPRESET_Pos) /*!< DWT CTR
1197:Drivers/CMSIS/Include/core_cm7.h ****
1198:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CYCCNTENA_Pos 0U /*!< DWT CTR
1199:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CTRL_CYCCNTENA_Msk (0x1UL /*<< DWT_CTRL_CYCCNTENA_Pos*/) /*!< DWT CTR
1200:Drivers/CMSIS/Include/core_cm7.h ****
1201:Drivers/CMSIS/Include/core_cm7.h **** /* DWT CPI Count Register Definitions */
1202:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CPICNT_CPICNT_Pos 0U /*!< DWT CPI
1203:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_CPICNT_CPICNT_Msk (0xFFUL /*<< DWT_CPICNT_CPICNT_Pos*/) /*!< DWT CPI
1204:Drivers/CMSIS/Include/core_cm7.h ****
1205:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Exception Overhead Count Register Definitions */
1206:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_EXCCNT_EXCCNT_Pos 0U /*!< DWT EXC
1207:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_EXCCNT_EXCCNT_Msk (0xFFUL /*<< DWT_EXCCNT_EXCCNT_Pos*/) /*!< DWT EXC
1208:Drivers/CMSIS/Include/core_cm7.h ****
1209:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Sleep Count Register Definitions */
1210:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_SLEEPCNT_SLEEPCNT_Pos 0U /*!< DWT SLE
1211:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_SLEEPCNT_SLEEPCNT_Msk (0xFFUL /*<< DWT_SLEEPCNT_SLEEPCNT_Pos*/) /*!< DWT SLE
1212:Drivers/CMSIS/Include/core_cm7.h ****
1213:Drivers/CMSIS/Include/core_cm7.h **** /* DWT LSU Count Register Definitions */
1214:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_LSUCNT_LSUCNT_Pos 0U /*!< DWT LSU
1215:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_LSUCNT_LSUCNT_Msk (0xFFUL /*<< DWT_LSUCNT_LSUCNT_Pos*/) /*!< DWT LSU
1216:Drivers/CMSIS/Include/core_cm7.h ****
1217:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Folded-instruction Count Register Definitions */
1218:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FOLDCNT_FOLDCNT_Pos 0U /*!< DWT FOL
1219:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FOLDCNT_FOLDCNT_Msk (0xFFUL /*<< DWT_FOLDCNT_FOLDCNT_Pos*/) /*!< DWT FOL
1220:Drivers/CMSIS/Include/core_cm7.h ****
1221:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Comparator Mask Register Definitions */
1222:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_MASK_MASK_Pos 0U /*!< DWT MAS
1223:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_MASK_MASK_Msk (0x1FUL /*<< DWT_MASK_MASK_Pos*/) /*!< DWT MAS
1224:Drivers/CMSIS/Include/core_cm7.h ****
1225:Drivers/CMSIS/Include/core_cm7.h **** /* DWT Comparator Function Register Definitions */
1226:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_MATCHED_Pos 24U /*!< DWT FUN
1227:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_MATCHED_Msk (0x1UL << DWT_FUNCTION_MATCHED_Pos) /*!< DWT FUN
1228:Drivers/CMSIS/Include/core_cm7.h ****
1229:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVADDR1_Pos 16U /*!< DWT FUN
1230:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVADDR1_Msk (0xFUL << DWT_FUNCTION_DATAVADDR1_Pos) /*!< DWT FUN
1231:Drivers/CMSIS/Include/core_cm7.h ****
1232:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVADDR0_Pos 12U /*!< DWT FUN
1233:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVADDR0_Msk (0xFUL << DWT_FUNCTION_DATAVADDR0_Pos) /*!< DWT FUN
1234:Drivers/CMSIS/Include/core_cm7.h ****
1235:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVSIZE_Pos 10U /*!< DWT FUN
1236:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVSIZE_Msk (0x3UL << DWT_FUNCTION_DATAVSIZE_Pos) /*!< DWT FUN
1237:Drivers/CMSIS/Include/core_cm7.h ****
1238:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_LNK1ENA_Pos 9U /*!< DWT FUN
1239:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_LNK1ENA_Msk (0x1UL << DWT_FUNCTION_LNK1ENA_Pos) /*!< DWT FUN
1240:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 26
1241:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVMATCH_Pos 8U /*!< DWT FUN
1242:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_DATAVMATCH_Msk (0x1UL << DWT_FUNCTION_DATAVMATCH_Pos) /*!< DWT FUN
1243:Drivers/CMSIS/Include/core_cm7.h ****
1244:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_CYCMATCH_Pos 7U /*!< DWT FUN
1245:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_CYCMATCH_Msk (0x1UL << DWT_FUNCTION_CYCMATCH_Pos) /*!< DWT FUN
1246:Drivers/CMSIS/Include/core_cm7.h ****
1247:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_EMITRANGE_Pos 5U /*!< DWT FUN
1248:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_EMITRANGE_Msk (0x1UL << DWT_FUNCTION_EMITRANGE_Pos) /*!< DWT FUN
1249:Drivers/CMSIS/Include/core_cm7.h ****
1250:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_FUNCTION_Pos 0U /*!< DWT FUN
1251:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_FUNCTION_FUNCTION_Msk (0xFUL /*<< DWT_FUNCTION_FUNCTION_Pos*/) /*!< DWT FUN
1252:Drivers/CMSIS/Include/core_cm7.h ****
1253:Drivers/CMSIS/Include/core_cm7.h **** /*@}*/ /* end of group CMSIS_DWT */
1254:Drivers/CMSIS/Include/core_cm7.h ****
1255:Drivers/CMSIS/Include/core_cm7.h ****
1256:Drivers/CMSIS/Include/core_cm7.h **** /**
1257:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1258:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_TPI Trace Port Interface (TPI)
1259:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Trace Port Interface (TPI)
1260:Drivers/CMSIS/Include/core_cm7.h **** @{
1261:Drivers/CMSIS/Include/core_cm7.h **** */
1262:Drivers/CMSIS/Include/core_cm7.h ****
1263:Drivers/CMSIS/Include/core_cm7.h **** /**
1264:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Trace Port Interface Register (TPI).
1265:Drivers/CMSIS/Include/core_cm7.h **** */
1266:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
1267:Drivers/CMSIS/Include/core_cm7.h **** {
1268:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t SSPSR; /*!< Offset: 0x000 (R/ ) Supported Parallel Port Size Reg
1269:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CSPSR; /*!< Offset: 0x004 (R/W) Current Parallel Port Size Regis
1270:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[2U];
1271:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ACPR; /*!< Offset: 0x010 (R/W) Asynchronous Clock Prescaler Reg
1272:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED1[55U];
1273:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t SPPR; /*!< Offset: 0x0F0 (R/W) Selected Pin Protocol Register *
1274:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED2[131U];
1275:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t FFSR; /*!< Offset: 0x300 (R/ ) Formatter and Flush Status Regis
1276:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FFCR; /*!< Offset: 0x304 (R/W) Formatter and Flush Control Regi
1277:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t FSCR; /*!< Offset: 0x308 (R/ ) Formatter Synchronization Counte
1278:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED3[759U];
1279:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t TRIGGER; /*!< Offset: 0xEE8 (R/ ) TRIGGER Register */
1280:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t FIFO0; /*!< Offset: 0xEEC (R/ ) Integration ETM Data */
1281:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ITATBCTR2; /*!< Offset: 0xEF0 (R/ ) ITATBCTR2 */
1282:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED4[1U];
1283:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t ITATBCTR0; /*!< Offset: 0xEF8 (R/ ) ITATBCTR0 */
1284:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t FIFO1; /*!< Offset: 0xEFC (R/ ) Integration ITM Data */
1285:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t ITCTRL; /*!< Offset: 0xF00 (R/W) Integration Mode Control */
1286:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED5[39U];
1287:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CLAIMSET; /*!< Offset: 0xFA0 (R/W) Claim tag set */
1288:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CLAIMCLR; /*!< Offset: 0xFA4 (R/W) Claim tag clear */
1289:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED7[8U];
1290:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t DEVID; /*!< Offset: 0xFC8 (R/ ) TPIU_DEVID */
1291:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t DEVTYPE; /*!< Offset: 0xFCC (R/ ) TPIU_DEVTYPE */
1292:Drivers/CMSIS/Include/core_cm7.h **** } TPI_Type;
1293:Drivers/CMSIS/Include/core_cm7.h ****
1294:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Asynchronous Clock Prescaler Register Definitions */
1295:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ACPR_PRESCALER_Pos 0U /*!< TPI ACP
1296:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ACPR_PRESCALER_Msk (0x1FFFUL /*<< TPI_ACPR_PRESCALER_Pos*/) /*!< TPI ACP
1297:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 27
1298:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Selected Pin Protocol Register Definitions */
1299:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_SPPR_TXMODE_Pos 0U /*!< TPI SPP
1300:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_SPPR_TXMODE_Msk (0x3UL /*<< TPI_SPPR_TXMODE_Pos*/) /*!< TPI SPP
1301:Drivers/CMSIS/Include/core_cm7.h ****
1302:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Formatter and Flush Status Register Definitions */
1303:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_FtNonStop_Pos 3U /*!< TPI FFS
1304:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_FtNonStop_Msk (0x1UL << TPI_FFSR_FtNonStop_Pos) /*!< TPI FFS
1305:Drivers/CMSIS/Include/core_cm7.h ****
1306:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_TCPresent_Pos 2U /*!< TPI FFS
1307:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_TCPresent_Msk (0x1UL << TPI_FFSR_TCPresent_Pos) /*!< TPI FFS
1308:Drivers/CMSIS/Include/core_cm7.h ****
1309:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_FtStopped_Pos 1U /*!< TPI FFS
1310:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_FtStopped_Msk (0x1UL << TPI_FFSR_FtStopped_Pos) /*!< TPI FFS
1311:Drivers/CMSIS/Include/core_cm7.h ****
1312:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_FlInProg_Pos 0U /*!< TPI FFS
1313:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFSR_FlInProg_Msk (0x1UL /*<< TPI_FFSR_FlInProg_Pos*/) /*!< TPI FFS
1314:Drivers/CMSIS/Include/core_cm7.h ****
1315:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Formatter and Flush Control Register Definitions */
1316:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFCR_TrigIn_Pos 8U /*!< TPI FFC
1317:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFCR_TrigIn_Msk (0x1UL << TPI_FFCR_TrigIn_Pos) /*!< TPI FFC
1318:Drivers/CMSIS/Include/core_cm7.h ****
1319:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFCR_EnFCont_Pos 1U /*!< TPI FFC
1320:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FFCR_EnFCont_Msk (0x1UL << TPI_FFCR_EnFCont_Pos) /*!< TPI FFC
1321:Drivers/CMSIS/Include/core_cm7.h ****
1322:Drivers/CMSIS/Include/core_cm7.h **** /* TPI TRIGGER Register Definitions */
1323:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_TRIGGER_TRIGGER_Pos 0U /*!< TPI TRI
1324:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_TRIGGER_TRIGGER_Msk (0x1UL /*<< TPI_TRIGGER_TRIGGER_Pos*/) /*!< TPI TRI
1325:Drivers/CMSIS/Include/core_cm7.h ****
1326:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Integration ETM Data Register Definitions (FIFO0) */
1327:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ITM_ATVALID_Pos 29U /*!< TPI FIF
1328:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ITM_ATVALID_Msk (0x3UL << TPI_FIFO0_ITM_ATVALID_Pos) /*!< TPI FIF
1329:Drivers/CMSIS/Include/core_cm7.h ****
1330:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ITM_bytecount_Pos 27U /*!< TPI FIF
1331:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ITM_bytecount_Msk (0x3UL << TPI_FIFO0_ITM_bytecount_Pos) /*!< TPI FIF
1332:Drivers/CMSIS/Include/core_cm7.h ****
1333:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM_ATVALID_Pos 26U /*!< TPI FIF
1334:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM_ATVALID_Msk (0x3UL << TPI_FIFO0_ETM_ATVALID_Pos) /*!< TPI FIF
1335:Drivers/CMSIS/Include/core_cm7.h ****
1336:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM_bytecount_Pos 24U /*!< TPI FIF
1337:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM_bytecount_Msk (0x3UL << TPI_FIFO0_ETM_bytecount_Pos) /*!< TPI FIF
1338:Drivers/CMSIS/Include/core_cm7.h ****
1339:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM2_Pos 16U /*!< TPI FIF
1340:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM2_Msk (0xFFUL << TPI_FIFO0_ETM2_Pos) /*!< TPI FIF
1341:Drivers/CMSIS/Include/core_cm7.h ****
1342:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM1_Pos 8U /*!< TPI FIF
1343:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM1_Msk (0xFFUL << TPI_FIFO0_ETM1_Pos) /*!< TPI FIF
1344:Drivers/CMSIS/Include/core_cm7.h ****
1345:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM0_Pos 0U /*!< TPI FIF
1346:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO0_ETM0_Msk (0xFFUL /*<< TPI_FIFO0_ETM0_Pos*/) /*!< TPI FIF
1347:Drivers/CMSIS/Include/core_cm7.h ****
1348:Drivers/CMSIS/Include/core_cm7.h **** /* TPI ITATBCTR2 Register Definitions */
1349:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR2_ATREADY2_Pos 0U /*!< TPI ITA
1350:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR2_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY2_Pos*/) /*!< TPI ITA
1351:Drivers/CMSIS/Include/core_cm7.h ****
1352:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR2_ATREADY1_Pos 0U /*!< TPI ITA
1353:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR2_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR2_ATREADY1_Pos*/) /*!< TPI ITA
1354:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 28
1355:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Integration ITM Data Register Definitions (FIFO1) */
1356:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM_ATVALID_Pos 29U /*!< TPI FIF
1357:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM_ATVALID_Msk (0x3UL << TPI_FIFO1_ITM_ATVALID_Pos) /*!< TPI FIF
1358:Drivers/CMSIS/Include/core_cm7.h ****
1359:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM_bytecount_Pos 27U /*!< TPI FIF
1360:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM_bytecount_Msk (0x3UL << TPI_FIFO1_ITM_bytecount_Pos) /*!< TPI FIF
1361:Drivers/CMSIS/Include/core_cm7.h ****
1362:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ETM_ATVALID_Pos 26U /*!< TPI FIF
1363:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ETM_ATVALID_Msk (0x3UL << TPI_FIFO1_ETM_ATVALID_Pos) /*!< TPI FIF
1364:Drivers/CMSIS/Include/core_cm7.h ****
1365:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ETM_bytecount_Pos 24U /*!< TPI FIF
1366:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ETM_bytecount_Msk (0x3UL << TPI_FIFO1_ETM_bytecount_Pos) /*!< TPI FIF
1367:Drivers/CMSIS/Include/core_cm7.h ****
1368:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM2_Pos 16U /*!< TPI FIF
1369:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM2_Msk (0xFFUL << TPI_FIFO1_ITM2_Pos) /*!< TPI FIF
1370:Drivers/CMSIS/Include/core_cm7.h ****
1371:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM1_Pos 8U /*!< TPI FIF
1372:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM1_Msk (0xFFUL << TPI_FIFO1_ITM1_Pos) /*!< TPI FIF
1373:Drivers/CMSIS/Include/core_cm7.h ****
1374:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM0_Pos 0U /*!< TPI FIF
1375:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_FIFO1_ITM0_Msk (0xFFUL /*<< TPI_FIFO1_ITM0_Pos*/) /*!< TPI FIF
1376:Drivers/CMSIS/Include/core_cm7.h ****
1377:Drivers/CMSIS/Include/core_cm7.h **** /* TPI ITATBCTR0 Register Definitions */
1378:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR0_ATREADY2_Pos 0U /*!< TPI ITA
1379:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR0_ATREADY2_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY2_Pos*/) /*!< TPI ITA
1380:Drivers/CMSIS/Include/core_cm7.h ****
1381:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR0_ATREADY1_Pos 0U /*!< TPI ITA
1382:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITATBCTR0_ATREADY1_Msk (0x1UL /*<< TPI_ITATBCTR0_ATREADY1_Pos*/) /*!< TPI ITA
1383:Drivers/CMSIS/Include/core_cm7.h ****
1384:Drivers/CMSIS/Include/core_cm7.h **** /* TPI Integration Mode Control Register Definitions */
1385:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITCTRL_Mode_Pos 0U /*!< TPI ITC
1386:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_ITCTRL_Mode_Msk (0x3UL /*<< TPI_ITCTRL_Mode_Pos*/) /*!< TPI ITC
1387:Drivers/CMSIS/Include/core_cm7.h ****
1388:Drivers/CMSIS/Include/core_cm7.h **** /* TPI DEVID Register Definitions */
1389:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_NRZVALID_Pos 11U /*!< TPI DEV
1390:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_NRZVALID_Msk (0x1UL << TPI_DEVID_NRZVALID_Pos) /*!< TPI DEV
1391:Drivers/CMSIS/Include/core_cm7.h ****
1392:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_MANCVALID_Pos 10U /*!< TPI DEV
1393:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_MANCVALID_Msk (0x1UL << TPI_DEVID_MANCVALID_Pos) /*!< TPI DEV
1394:Drivers/CMSIS/Include/core_cm7.h ****
1395:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_PTINVALID_Pos 9U /*!< TPI DEV
1396:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_PTINVALID_Msk (0x1UL << TPI_DEVID_PTINVALID_Pos) /*!< TPI DEV
1397:Drivers/CMSIS/Include/core_cm7.h ****
1398:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_MinBufSz_Pos 6U /*!< TPI DEV
1399:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_MinBufSz_Msk (0x7UL << TPI_DEVID_MinBufSz_Pos) /*!< TPI DEV
1400:Drivers/CMSIS/Include/core_cm7.h ****
1401:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_AsynClkIn_Pos 5U /*!< TPI DEV
1402:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_AsynClkIn_Msk (0x1UL << TPI_DEVID_AsynClkIn_Pos) /*!< TPI DEV
1403:Drivers/CMSIS/Include/core_cm7.h ****
1404:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_NrTraceInput_Pos 0U /*!< TPI DEV
1405:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVID_NrTraceInput_Msk (0x1FUL /*<< TPI_DEVID_NrTraceInput_Pos*/) /*!< TPI DEV
1406:Drivers/CMSIS/Include/core_cm7.h ****
1407:Drivers/CMSIS/Include/core_cm7.h **** /* TPI DEVTYPE Register Definitions */
1408:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVTYPE_SubType_Pos 4U /*!< TPI DEV
1409:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVTYPE_SubType_Msk (0xFUL /*<< TPI_DEVTYPE_SubType_Pos*/) /*!< TPI DEV
1410:Drivers/CMSIS/Include/core_cm7.h ****
1411:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVTYPE_MajorType_Pos 0U /*!< TPI DEV
ARM GAS /tmp/ccY34ikP.s page 29
1412:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_DEVTYPE_MajorType_Msk (0xFUL << TPI_DEVTYPE_MajorType_Pos) /*!< TPI DEV
1413:Drivers/CMSIS/Include/core_cm7.h ****
1414:Drivers/CMSIS/Include/core_cm7.h **** /*@}*/ /* end of group CMSIS_TPI */
1415:Drivers/CMSIS/Include/core_cm7.h ****
1416:Drivers/CMSIS/Include/core_cm7.h ****
1417:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1418:Drivers/CMSIS/Include/core_cm7.h **** /**
1419:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1420:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_MPU Memory Protection Unit (MPU)
1421:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Memory Protection Unit (MPU)
1422:Drivers/CMSIS/Include/core_cm7.h **** @{
1423:Drivers/CMSIS/Include/core_cm7.h **** */
1424:Drivers/CMSIS/Include/core_cm7.h ****
1425:Drivers/CMSIS/Include/core_cm7.h **** /**
1426:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Memory Protection Unit (MPU).
1427:Drivers/CMSIS/Include/core_cm7.h **** */
1428:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
1429:Drivers/CMSIS/Include/core_cm7.h **** {
1430:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t TYPE; /*!< Offset: 0x000 (R/ ) MPU Type Register */
1431:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t CTRL; /*!< Offset: 0x004 (R/W) MPU Control Register */
1432:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RNR; /*!< Offset: 0x008 (R/W) MPU Region RNRber Register */
1433:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RBAR; /*!< Offset: 0x00C (R/W) MPU Region Base Address Register
1434:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RASR; /*!< Offset: 0x010 (R/W) MPU Region Attribute and Size Re
1435:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RBAR_A1; /*!< Offset: 0x014 (R/W) MPU Alias 1 Region Base Address
1436:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RASR_A1; /*!< Offset: 0x018 (R/W) MPU Alias 1 Region Attribute and
1437:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RBAR_A2; /*!< Offset: 0x01C (R/W) MPU Alias 2 Region Base Address
1438:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RASR_A2; /*!< Offset: 0x020 (R/W) MPU Alias 2 Region Attribute and
1439:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RBAR_A3; /*!< Offset: 0x024 (R/W) MPU Alias 3 Region Base Address
1440:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t RASR_A3; /*!< Offset: 0x028 (R/W) MPU Alias 3 Region Attribute and
1441:Drivers/CMSIS/Include/core_cm7.h **** } MPU_Type;
1442:Drivers/CMSIS/Include/core_cm7.h ****
1443:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_RALIASES 4U
1444:Drivers/CMSIS/Include/core_cm7.h ****
1445:Drivers/CMSIS/Include/core_cm7.h **** /* MPU Type Register Definitions */
1446:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_IREGION_Pos 16U /*!< MPU
1447:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_IREGION_Msk (0xFFUL << MPU_TYPE_IREGION_Pos) /*!< MPU
1448:Drivers/CMSIS/Include/core_cm7.h ****
1449:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_DREGION_Pos 8U /*!< MPU
1450:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_DREGION_Msk (0xFFUL << MPU_TYPE_DREGION_Pos) /*!< MPU
1451:Drivers/CMSIS/Include/core_cm7.h ****
1452:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_SEPARATE_Pos 0U /*!< MPU
1453:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_TYPE_SEPARATE_Msk (1UL /*<< MPU_TYPE_SEPARATE_Pos*/) /*!< MPU
1454:Drivers/CMSIS/Include/core_cm7.h ****
1455:Drivers/CMSIS/Include/core_cm7.h **** /* MPU Control Register Definitions */
1456:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_PRIVDEFENA_Pos 2U /*!< MPU
1457:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_PRIVDEFENA_Msk (1UL << MPU_CTRL_PRIVDEFENA_Pos) /*!< MPU
1458:Drivers/CMSIS/Include/core_cm7.h ****
1459:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_HFNMIENA_Pos 1U /*!< MPU
1460:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_HFNMIENA_Msk (1UL << MPU_CTRL_HFNMIENA_Pos) /*!< MPU
1461:Drivers/CMSIS/Include/core_cm7.h ****
1462:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_ENABLE_Pos 0U /*!< MPU
1463:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_CTRL_ENABLE_Msk (1UL /*<< MPU_CTRL_ENABLE_Pos*/) /*!< MPU
1464:Drivers/CMSIS/Include/core_cm7.h ****
1465:Drivers/CMSIS/Include/core_cm7.h **** /* MPU Region Number Register Definitions */
1466:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RNR_REGION_Pos 0U /*!< MPU
1467:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RNR_REGION_Msk (0xFFUL /*<< MPU_RNR_REGION_Pos*/) /*!< MPU
1468:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 30
1469:Drivers/CMSIS/Include/core_cm7.h **** /* MPU Region Base Address Register Definitions */
1470:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RBAR_ADDR_Pos 5U /*!< MPU
1471:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RBAR_ADDR_Msk (0x7FFFFFFUL << MPU_RBAR_ADDR_Pos) /*!< MPU
1472:Drivers/CMSIS/Include/core_cm7.h ****
1473:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RBAR_VALID_Pos 4U /*!< MPU
1474:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RBAR_VALID_Msk (1UL << MPU_RBAR_VALID_Pos) /*!< MPU
1475:Drivers/CMSIS/Include/core_cm7.h ****
1476:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RBAR_REGION_Pos 0U /*!< MPU
1477:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RBAR_REGION_Msk (0xFUL /*<< MPU_RBAR_REGION_Pos*/) /*!< MPU
1478:Drivers/CMSIS/Include/core_cm7.h ****
1479:Drivers/CMSIS/Include/core_cm7.h **** /* MPU Region Attribute and Size Register Definitions */
1480:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_ATTRS_Pos 16U /*!< MPU
1481:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_ATTRS_Msk (0xFFFFUL << MPU_RASR_ATTRS_Pos) /*!< MPU
1482:Drivers/CMSIS/Include/core_cm7.h ****
1483:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_XN_Pos 28U /*!< MPU
1484:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_XN_Msk (1UL << MPU_RASR_XN_Pos) /*!< MPU
1485:Drivers/CMSIS/Include/core_cm7.h ****
1486:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_AP_Pos 24U /*!< MPU
1487:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_AP_Msk (0x7UL << MPU_RASR_AP_Pos) /*!< MPU
1488:Drivers/CMSIS/Include/core_cm7.h ****
1489:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_TEX_Pos 19U /*!< MPU
1490:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_TEX_Msk (0x7UL << MPU_RASR_TEX_Pos) /*!< MPU
1491:Drivers/CMSIS/Include/core_cm7.h ****
1492:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_S_Pos 18U /*!< MPU
1493:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_S_Msk (1UL << MPU_RASR_S_Pos) /*!< MPU
1494:Drivers/CMSIS/Include/core_cm7.h ****
1495:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_C_Pos 17U /*!< MPU
1496:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_C_Msk (1UL << MPU_RASR_C_Pos) /*!< MPU
1497:Drivers/CMSIS/Include/core_cm7.h ****
1498:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_B_Pos 16U /*!< MPU
1499:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_B_Msk (1UL << MPU_RASR_B_Pos) /*!< MPU
1500:Drivers/CMSIS/Include/core_cm7.h ****
1501:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_SRD_Pos 8U /*!< MPU
1502:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_SRD_Msk (0xFFUL << MPU_RASR_SRD_Pos) /*!< MPU
1503:Drivers/CMSIS/Include/core_cm7.h ****
1504:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_SIZE_Pos 1U /*!< MPU
1505:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_SIZE_Msk (0x1FUL << MPU_RASR_SIZE_Pos) /*!< MPU
1506:Drivers/CMSIS/Include/core_cm7.h ****
1507:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_ENABLE_Pos 0U /*!< MPU
1508:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_RASR_ENABLE_Msk (1UL /*<< MPU_RASR_ENABLE_Pos*/) /*!< MPU
1509:Drivers/CMSIS/Include/core_cm7.h ****
1510:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_MPU */
1511:Drivers/CMSIS/Include/core_cm7.h **** #endif /* defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U) */
1512:Drivers/CMSIS/Include/core_cm7.h ****
1513:Drivers/CMSIS/Include/core_cm7.h ****
1514:Drivers/CMSIS/Include/core_cm7.h **** /**
1515:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1516:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_FPU Floating Point Unit (FPU)
1517:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Floating Point Unit (FPU)
1518:Drivers/CMSIS/Include/core_cm7.h **** @{
1519:Drivers/CMSIS/Include/core_cm7.h **** */
1520:Drivers/CMSIS/Include/core_cm7.h ****
1521:Drivers/CMSIS/Include/core_cm7.h **** /**
1522:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Floating Point Unit (FPU).
1523:Drivers/CMSIS/Include/core_cm7.h **** */
1524:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
1525:Drivers/CMSIS/Include/core_cm7.h **** {
ARM GAS /tmp/ccY34ikP.s page 31
1526:Drivers/CMSIS/Include/core_cm7.h **** uint32_t RESERVED0[1U];
1527:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FPCCR; /*!< Offset: 0x004 (R/W) Floating-Point Context Control R
1528:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FPCAR; /*!< Offset: 0x008 (R/W) Floating-Point Context Address R
1529:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t FPDSCR; /*!< Offset: 0x00C (R/W) Floating-Point Default Status Co
1530:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR0; /*!< Offset: 0x010 (R/ ) Media and FP Feature Register 0
1531:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR1; /*!< Offset: 0x014 (R/ ) Media and FP Feature Register 1
1532:Drivers/CMSIS/Include/core_cm7.h **** __IM uint32_t MVFR2; /*!< Offset: 0x018 (R/ ) Media and FP Feature Register 2
1533:Drivers/CMSIS/Include/core_cm7.h **** } FPU_Type;
1534:Drivers/CMSIS/Include/core_cm7.h ****
1535:Drivers/CMSIS/Include/core_cm7.h **** /* Floating-Point Context Control Register Definitions */
1536:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_ASPEN_Pos 31U /*!< FPCC
1537:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_ASPEN_Msk (1UL << FPU_FPCCR_ASPEN_Pos) /*!< FPCC
1538:Drivers/CMSIS/Include/core_cm7.h ****
1539:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_LSPEN_Pos 30U /*!< FPCC
1540:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_LSPEN_Msk (1UL << FPU_FPCCR_LSPEN_Pos) /*!< FPCC
1541:Drivers/CMSIS/Include/core_cm7.h ****
1542:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_MONRDY_Pos 8U /*!< FPCC
1543:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_MONRDY_Msk (1UL << FPU_FPCCR_MONRDY_Pos) /*!< FPCC
1544:Drivers/CMSIS/Include/core_cm7.h ****
1545:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_BFRDY_Pos 6U /*!< FPCC
1546:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_BFRDY_Msk (1UL << FPU_FPCCR_BFRDY_Pos) /*!< FPCC
1547:Drivers/CMSIS/Include/core_cm7.h ****
1548:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_MMRDY_Pos 5U /*!< FPCC
1549:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_MMRDY_Msk (1UL << FPU_FPCCR_MMRDY_Pos) /*!< FPCC
1550:Drivers/CMSIS/Include/core_cm7.h ****
1551:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_HFRDY_Pos 4U /*!< FPCC
1552:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_HFRDY_Msk (1UL << FPU_FPCCR_HFRDY_Pos) /*!< FPCC
1553:Drivers/CMSIS/Include/core_cm7.h ****
1554:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_THREAD_Pos 3U /*!< FPCC
1555:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_THREAD_Msk (1UL << FPU_FPCCR_THREAD_Pos) /*!< FPCC
1556:Drivers/CMSIS/Include/core_cm7.h ****
1557:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_USER_Pos 1U /*!< FPCC
1558:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_USER_Msk (1UL << FPU_FPCCR_USER_Pos) /*!< FPCC
1559:Drivers/CMSIS/Include/core_cm7.h ****
1560:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_LSPACT_Pos 0U /*!< FPCC
1561:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCCR_LSPACT_Msk (1UL /*<< FPU_FPCCR_LSPACT_Pos*/) /*!< FPCC
1562:Drivers/CMSIS/Include/core_cm7.h ****
1563:Drivers/CMSIS/Include/core_cm7.h **** /* Floating-Point Context Address Register Definitions */
1564:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCAR_ADDRESS_Pos 3U /*!< FPCA
1565:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPCAR_ADDRESS_Msk (0x1FFFFFFFUL << FPU_FPCAR_ADDRESS_Pos) /*!< FPCA
1566:Drivers/CMSIS/Include/core_cm7.h ****
1567:Drivers/CMSIS/Include/core_cm7.h **** /* Floating-Point Default Status Control Register Definitions */
1568:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_AHP_Pos 26U /*!< FPDS
1569:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_AHP_Msk (1UL << FPU_FPDSCR_AHP_Pos) /*!< FPDS
1570:Drivers/CMSIS/Include/core_cm7.h ****
1571:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_DN_Pos 25U /*!< FPDS
1572:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_DN_Msk (1UL << FPU_FPDSCR_DN_Pos) /*!< FPDS
1573:Drivers/CMSIS/Include/core_cm7.h ****
1574:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_FZ_Pos 24U /*!< FPDS
1575:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_FZ_Msk (1UL << FPU_FPDSCR_FZ_Pos) /*!< FPDS
1576:Drivers/CMSIS/Include/core_cm7.h ****
1577:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_RMode_Pos 22U /*!< FPDS
1578:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_FPDSCR_RMode_Msk (3UL << FPU_FPDSCR_RMode_Pos) /*!< FPDS
1579:Drivers/CMSIS/Include/core_cm7.h ****
1580:Drivers/CMSIS/Include/core_cm7.h **** /* Media and FP Feature Register 0 Definitions */
1581:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_FP_rounding_modes_Pos 28U /*!< MVFR
1582:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_FP_rounding_modes_Msk (0xFUL << FPU_MVFR0_FP_rounding_modes_Pos) /*!< MVFR
ARM GAS /tmp/ccY34ikP.s page 32
1583:Drivers/CMSIS/Include/core_cm7.h ****
1584:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Short_vectors_Pos 24U /*!< MVFR
1585:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Short_vectors_Msk (0xFUL << FPU_MVFR0_Short_vectors_Pos) /*!< MVFR
1586:Drivers/CMSIS/Include/core_cm7.h ****
1587:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Square_root_Pos 20U /*!< MVFR
1588:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Square_root_Msk (0xFUL << FPU_MVFR0_Square_root_Pos) /*!< MVFR
1589:Drivers/CMSIS/Include/core_cm7.h ****
1590:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Divide_Pos 16U /*!< MVFR
1591:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Divide_Msk (0xFUL << FPU_MVFR0_Divide_Pos) /*!< MVFR
1592:Drivers/CMSIS/Include/core_cm7.h ****
1593:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_FP_excep_trapping_Pos 12U /*!< MVFR
1594:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_FP_excep_trapping_Msk (0xFUL << FPU_MVFR0_FP_excep_trapping_Pos) /*!< MVFR
1595:Drivers/CMSIS/Include/core_cm7.h ****
1596:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Double_precision_Pos 8U /*!< MVFR
1597:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Double_precision_Msk (0xFUL << FPU_MVFR0_Double_precision_Pos) /*!< MVFR
1598:Drivers/CMSIS/Include/core_cm7.h ****
1599:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Single_precision_Pos 4U /*!< MVFR
1600:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_Single_precision_Msk (0xFUL << FPU_MVFR0_Single_precision_Pos) /*!< MVFR
1601:Drivers/CMSIS/Include/core_cm7.h ****
1602:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_A_SIMD_registers_Pos 0U /*!< MVFR
1603:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR0_A_SIMD_registers_Msk (0xFUL /*<< FPU_MVFR0_A_SIMD_registers_Pos*/) /*!< MVFR
1604:Drivers/CMSIS/Include/core_cm7.h ****
1605:Drivers/CMSIS/Include/core_cm7.h **** /* Media and FP Feature Register 1 Definitions */
1606:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_FP_fused_MAC_Pos 28U /*!< MVFR
1607:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_FP_fused_MAC_Msk (0xFUL << FPU_MVFR1_FP_fused_MAC_Pos) /*!< MVFR
1608:Drivers/CMSIS/Include/core_cm7.h ****
1609:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_FP_HPFP_Pos 24U /*!< MVFR
1610:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_FP_HPFP_Msk (0xFUL << FPU_MVFR1_FP_HPFP_Pos) /*!< MVFR
1611:Drivers/CMSIS/Include/core_cm7.h ****
1612:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_D_NaN_mode_Pos 4U /*!< MVFR
1613:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_D_NaN_mode_Msk (0xFUL << FPU_MVFR1_D_NaN_mode_Pos) /*!< MVFR
1614:Drivers/CMSIS/Include/core_cm7.h ****
1615:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_FtZ_mode_Pos 0U /*!< MVFR
1616:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_MVFR1_FtZ_mode_Msk (0xFUL /*<< FPU_MVFR1_FtZ_mode_Pos*/) /*!< MVFR
1617:Drivers/CMSIS/Include/core_cm7.h ****
1618:Drivers/CMSIS/Include/core_cm7.h **** /* Media and FP Feature Register 2 Definitions */
1619:Drivers/CMSIS/Include/core_cm7.h ****
1620:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_FPU */
1621:Drivers/CMSIS/Include/core_cm7.h ****
1622:Drivers/CMSIS/Include/core_cm7.h ****
1623:Drivers/CMSIS/Include/core_cm7.h **** /**
1624:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1625:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_CoreDebug Core Debug Registers (CoreDebug)
1626:Drivers/CMSIS/Include/core_cm7.h **** \brief Type definitions for the Core Debug Registers
1627:Drivers/CMSIS/Include/core_cm7.h **** @{
1628:Drivers/CMSIS/Include/core_cm7.h **** */
1629:Drivers/CMSIS/Include/core_cm7.h ****
1630:Drivers/CMSIS/Include/core_cm7.h **** /**
1631:Drivers/CMSIS/Include/core_cm7.h **** \brief Structure type to access the Core Debug Register (CoreDebug).
1632:Drivers/CMSIS/Include/core_cm7.h **** */
1633:Drivers/CMSIS/Include/core_cm7.h **** typedef struct
1634:Drivers/CMSIS/Include/core_cm7.h **** {
1635:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t DHCSR; /*!< Offset: 0x000 (R/W) Debug Halting Control and Status
1636:Drivers/CMSIS/Include/core_cm7.h **** __OM uint32_t DCRSR; /*!< Offset: 0x004 ( /W) Debug Core Register Selector Reg
1637:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t DCRDR; /*!< Offset: 0x008 (R/W) Debug Core Register Data Registe
1638:Drivers/CMSIS/Include/core_cm7.h **** __IOM uint32_t DEMCR; /*!< Offset: 0x00C (R/W) Debug Exception and Monitor Cont
1639:Drivers/CMSIS/Include/core_cm7.h **** } CoreDebug_Type;
ARM GAS /tmp/ccY34ikP.s page 33
1640:Drivers/CMSIS/Include/core_cm7.h ****
1641:Drivers/CMSIS/Include/core_cm7.h **** /* Debug Halting Control and Status Register Definitions */
1642:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_DBGKEY_Pos 16U /*!< Core
1643:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_DBGKEY_Msk (0xFFFFUL << CoreDebug_DHCSR_DBGKEY_Pos) /*!< Core
1644:Drivers/CMSIS/Include/core_cm7.h ****
1645:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_RESET_ST_Pos 25U /*!< Core
1646:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_RESET_ST_Msk (1UL << CoreDebug_DHCSR_S_RESET_ST_Pos) /*!< Core
1647:Drivers/CMSIS/Include/core_cm7.h ****
1648:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_RETIRE_ST_Pos 24U /*!< Core
1649:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_RETIRE_ST_Msk (1UL << CoreDebug_DHCSR_S_RETIRE_ST_Pos) /*!< Core
1650:Drivers/CMSIS/Include/core_cm7.h ****
1651:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_LOCKUP_Pos 19U /*!< Core
1652:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_LOCKUP_Msk (1UL << CoreDebug_DHCSR_S_LOCKUP_Pos) /*!< Core
1653:Drivers/CMSIS/Include/core_cm7.h ****
1654:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_SLEEP_Pos 18U /*!< Core
1655:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_SLEEP_Msk (1UL << CoreDebug_DHCSR_S_SLEEP_Pos) /*!< Core
1656:Drivers/CMSIS/Include/core_cm7.h ****
1657:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_HALT_Pos 17U /*!< Core
1658:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_HALT_Msk (1UL << CoreDebug_DHCSR_S_HALT_Pos) /*!< Core
1659:Drivers/CMSIS/Include/core_cm7.h ****
1660:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_REGRDY_Pos 16U /*!< Core
1661:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_S_REGRDY_Msk (1UL << CoreDebug_DHCSR_S_REGRDY_Pos) /*!< Core
1662:Drivers/CMSIS/Include/core_cm7.h ****
1663:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_SNAPSTALL_Pos 5U /*!< Core
1664:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_SNAPSTALL_Msk (1UL << CoreDebug_DHCSR_C_SNAPSTALL_Pos) /*!< Core
1665:Drivers/CMSIS/Include/core_cm7.h ****
1666:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_MASKINTS_Pos 3U /*!< Core
1667:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_MASKINTS_Msk (1UL << CoreDebug_DHCSR_C_MASKINTS_Pos) /*!< Core
1668:Drivers/CMSIS/Include/core_cm7.h ****
1669:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_STEP_Pos 2U /*!< Core
1670:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_STEP_Msk (1UL << CoreDebug_DHCSR_C_STEP_Pos) /*!< Core
1671:Drivers/CMSIS/Include/core_cm7.h ****
1672:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_HALT_Pos 1U /*!< Core
1673:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_HALT_Msk (1UL << CoreDebug_DHCSR_C_HALT_Pos) /*!< Core
1674:Drivers/CMSIS/Include/core_cm7.h ****
1675:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_DEBUGEN_Pos 0U /*!< Core
1676:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DHCSR_C_DEBUGEN_Msk (1UL /*<< CoreDebug_DHCSR_C_DEBUGEN_Pos*/) /*!< Core
1677:Drivers/CMSIS/Include/core_cm7.h ****
1678:Drivers/CMSIS/Include/core_cm7.h **** /* Debug Core Register Selector Register Definitions */
1679:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DCRSR_REGWnR_Pos 16U /*!< Core
1680:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DCRSR_REGWnR_Msk (1UL << CoreDebug_DCRSR_REGWnR_Pos) /*!< Core
1681:Drivers/CMSIS/Include/core_cm7.h ****
1682:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DCRSR_REGSEL_Pos 0U /*!< Core
1683:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DCRSR_REGSEL_Msk (0x1FUL /*<< CoreDebug_DCRSR_REGSEL_Pos*/) /*!< Core
1684:Drivers/CMSIS/Include/core_cm7.h ****
1685:Drivers/CMSIS/Include/core_cm7.h **** /* Debug Exception and Monitor Control Register Definitions */
1686:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_TRCENA_Pos 24U /*!< Core
1687:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_TRCENA_Msk (1UL << CoreDebug_DEMCR_TRCENA_Pos) /*!< Core
1688:Drivers/CMSIS/Include/core_cm7.h ****
1689:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_REQ_Pos 19U /*!< Core
1690:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_REQ_Msk (1UL << CoreDebug_DEMCR_MON_REQ_Pos) /*!< Core
1691:Drivers/CMSIS/Include/core_cm7.h ****
1692:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_STEP_Pos 18U /*!< Core
1693:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_STEP_Msk (1UL << CoreDebug_DEMCR_MON_STEP_Pos) /*!< Core
1694:Drivers/CMSIS/Include/core_cm7.h ****
1695:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_PEND_Pos 17U /*!< Core
1696:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_PEND_Msk (1UL << CoreDebug_DEMCR_MON_PEND_Pos) /*!< Core
ARM GAS /tmp/ccY34ikP.s page 34
1697:Drivers/CMSIS/Include/core_cm7.h ****
1698:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_EN_Pos 16U /*!< Core
1699:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_MON_EN_Msk (1UL << CoreDebug_DEMCR_MON_EN_Pos) /*!< Core
1700:Drivers/CMSIS/Include/core_cm7.h ****
1701:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_HARDERR_Pos 10U /*!< Core
1702:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_HARDERR_Msk (1UL << CoreDebug_DEMCR_VC_HARDERR_Pos) /*!< Core
1703:Drivers/CMSIS/Include/core_cm7.h ****
1704:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_INTERR_Pos 9U /*!< Core
1705:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_INTERR_Msk (1UL << CoreDebug_DEMCR_VC_INTERR_Pos) /*!< Core
1706:Drivers/CMSIS/Include/core_cm7.h ****
1707:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_BUSERR_Pos 8U /*!< Core
1708:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_BUSERR_Msk (1UL << CoreDebug_DEMCR_VC_BUSERR_Pos) /*!< Core
1709:Drivers/CMSIS/Include/core_cm7.h ****
1710:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_STATERR_Pos 7U /*!< Core
1711:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_STATERR_Msk (1UL << CoreDebug_DEMCR_VC_STATERR_Pos) /*!< Core
1712:Drivers/CMSIS/Include/core_cm7.h ****
1713:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_CHKERR_Pos 6U /*!< Core
1714:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_CHKERR_Msk (1UL << CoreDebug_DEMCR_VC_CHKERR_Pos) /*!< Core
1715:Drivers/CMSIS/Include/core_cm7.h ****
1716:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_NOCPERR_Pos 5U /*!< Core
1717:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_NOCPERR_Msk (1UL << CoreDebug_DEMCR_VC_NOCPERR_Pos) /*!< Core
1718:Drivers/CMSIS/Include/core_cm7.h ****
1719:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_MMERR_Pos 4U /*!< Core
1720:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_MMERR_Msk (1UL << CoreDebug_DEMCR_VC_MMERR_Pos) /*!< Core
1721:Drivers/CMSIS/Include/core_cm7.h ****
1722:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_CORERESET_Pos 0U /*!< Core
1723:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_DEMCR_VC_CORERESET_Msk (1UL /*<< CoreDebug_DEMCR_VC_CORERESET_Pos*/) /*!< Core
1724:Drivers/CMSIS/Include/core_cm7.h ****
1725:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_CoreDebug */
1726:Drivers/CMSIS/Include/core_cm7.h ****
1727:Drivers/CMSIS/Include/core_cm7.h ****
1728:Drivers/CMSIS/Include/core_cm7.h **** /**
1729:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1730:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_core_bitfield Core register bit field macros
1731:Drivers/CMSIS/Include/core_cm7.h **** \brief Macros for use with bit field definitions (xxx_Pos, xxx_Msk).
1732:Drivers/CMSIS/Include/core_cm7.h **** @{
1733:Drivers/CMSIS/Include/core_cm7.h **** */
1734:Drivers/CMSIS/Include/core_cm7.h ****
1735:Drivers/CMSIS/Include/core_cm7.h **** /**
1736:Drivers/CMSIS/Include/core_cm7.h **** \brief Mask and shift a bit field value for use in a register bit range.
1737:Drivers/CMSIS/Include/core_cm7.h **** \param[in] field Name of the register bit field.
1738:Drivers/CMSIS/Include/core_cm7.h **** \param[in] value Value of the bit field. This parameter is interpreted as an uint32_t type.
1739:Drivers/CMSIS/Include/core_cm7.h **** \return Masked and shifted value.
1740:Drivers/CMSIS/Include/core_cm7.h **** */
1741:Drivers/CMSIS/Include/core_cm7.h **** #define _VAL2FLD(field, value) (((uint32_t)(value) << field ## _Pos) & field ## _Msk)
1742:Drivers/CMSIS/Include/core_cm7.h ****
1743:Drivers/CMSIS/Include/core_cm7.h **** /**
1744:Drivers/CMSIS/Include/core_cm7.h **** \brief Mask and shift a register value to extract a bit filed value.
1745:Drivers/CMSIS/Include/core_cm7.h **** \param[in] field Name of the register bit field.
1746:Drivers/CMSIS/Include/core_cm7.h **** \param[in] value Value of register. This parameter is interpreted as an uint32_t type.
1747:Drivers/CMSIS/Include/core_cm7.h **** \return Masked and shifted bit field value.
1748:Drivers/CMSIS/Include/core_cm7.h **** */
1749:Drivers/CMSIS/Include/core_cm7.h **** #define _FLD2VAL(field, value) (((uint32_t)(value) & field ## _Msk) >> field ## _Pos)
1750:Drivers/CMSIS/Include/core_cm7.h ****
1751:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of group CMSIS_core_bitfield */
1752:Drivers/CMSIS/Include/core_cm7.h ****
1753:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 35
1754:Drivers/CMSIS/Include/core_cm7.h **** /**
1755:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_core_register
1756:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_core_base Core Definitions
1757:Drivers/CMSIS/Include/core_cm7.h **** \brief Definitions for base addresses, unions, and structures.
1758:Drivers/CMSIS/Include/core_cm7.h **** @{
1759:Drivers/CMSIS/Include/core_cm7.h **** */
1760:Drivers/CMSIS/Include/core_cm7.h ****
1761:Drivers/CMSIS/Include/core_cm7.h **** /* Memory mapping of Core Hardware */
1762:Drivers/CMSIS/Include/core_cm7.h **** #define SCS_BASE (0xE000E000UL) /*!< System Control Space Bas
1763:Drivers/CMSIS/Include/core_cm7.h **** #define ITM_BASE (0xE0000000UL) /*!< ITM Base Address */
1764:Drivers/CMSIS/Include/core_cm7.h **** #define DWT_BASE (0xE0001000UL) /*!< DWT Base Address */
1765:Drivers/CMSIS/Include/core_cm7.h **** #define TPI_BASE (0xE0040000UL) /*!< TPI Base Address */
1766:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug_BASE (0xE000EDF0UL) /*!< Core Debug Base Address
1767:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick_BASE (SCS_BASE + 0x0010UL) /*!< SysTick Base Address */
1768:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_BASE (SCS_BASE + 0x0100UL) /*!< NVIC Base Address */
1769:Drivers/CMSIS/Include/core_cm7.h **** #define SCB_BASE (SCS_BASE + 0x0D00UL) /*!< System Control Block Bas
1770:Drivers/CMSIS/Include/core_cm7.h ****
1771:Drivers/CMSIS/Include/core_cm7.h **** #define SCnSCB ((SCnSCB_Type *) SCS_BASE ) /*!< System control Register
1772:Drivers/CMSIS/Include/core_cm7.h **** #define SCB ((SCB_Type *) SCB_BASE ) /*!< SCB configuration struct
1773:Drivers/CMSIS/Include/core_cm7.h **** #define SysTick ((SysTick_Type *) SysTick_BASE ) /*!< SysTick configuration st
1774:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC ((NVIC_Type *) NVIC_BASE ) /*!< NVIC configuration struc
1775:Drivers/CMSIS/Include/core_cm7.h **** #define ITM ((ITM_Type *) ITM_BASE ) /*!< ITM configuration struct
1776:Drivers/CMSIS/Include/core_cm7.h **** #define DWT ((DWT_Type *) DWT_BASE ) /*!< DWT configuration struct
1777:Drivers/CMSIS/Include/core_cm7.h **** #define TPI ((TPI_Type *) TPI_BASE ) /*!< TPI configuration struct
1778:Drivers/CMSIS/Include/core_cm7.h **** #define CoreDebug ((CoreDebug_Type *) CoreDebug_BASE) /*!< Core Debug configuration
1779:Drivers/CMSIS/Include/core_cm7.h ****
1780:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
1781:Drivers/CMSIS/Include/core_cm7.h **** #define MPU_BASE (SCS_BASE + 0x0D90UL) /*!< Memory Protection Unit *
1782:Drivers/CMSIS/Include/core_cm7.h **** #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit *
1783:Drivers/CMSIS/Include/core_cm7.h **** #endif
1784:Drivers/CMSIS/Include/core_cm7.h ****
1785:Drivers/CMSIS/Include/core_cm7.h **** #define FPU_BASE (SCS_BASE + 0x0F30UL) /*!< Floating Point Unit */
1786:Drivers/CMSIS/Include/core_cm7.h **** #define FPU ((FPU_Type *) FPU_BASE ) /*!< Floating Point Unit */
1787:Drivers/CMSIS/Include/core_cm7.h ****
1788:Drivers/CMSIS/Include/core_cm7.h **** /*@} */
1789:Drivers/CMSIS/Include/core_cm7.h ****
1790:Drivers/CMSIS/Include/core_cm7.h ****
1791:Drivers/CMSIS/Include/core_cm7.h ****
1792:Drivers/CMSIS/Include/core_cm7.h **** /*******************************************************************************
1793:Drivers/CMSIS/Include/core_cm7.h **** * Hardware Abstraction Layer
1794:Drivers/CMSIS/Include/core_cm7.h **** Core Function Interface contains:
1795:Drivers/CMSIS/Include/core_cm7.h **** - Core NVIC Functions
1796:Drivers/CMSIS/Include/core_cm7.h **** - Core SysTick Functions
1797:Drivers/CMSIS/Include/core_cm7.h **** - Core Debug Functions
1798:Drivers/CMSIS/Include/core_cm7.h **** - Core Register Access Functions
1799:Drivers/CMSIS/Include/core_cm7.h **** ******************************************************************************/
1800:Drivers/CMSIS/Include/core_cm7.h **** /**
1801:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_Core_FunctionInterface Functions and Instructions Reference
1802:Drivers/CMSIS/Include/core_cm7.h **** */
1803:Drivers/CMSIS/Include/core_cm7.h ****
1804:Drivers/CMSIS/Include/core_cm7.h ****
1805:Drivers/CMSIS/Include/core_cm7.h ****
1806:Drivers/CMSIS/Include/core_cm7.h **** /* ########################## NVIC functions #################################### */
1807:Drivers/CMSIS/Include/core_cm7.h **** /**
1808:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_Core_FunctionInterface
1809:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_Core_NVICFunctions NVIC Functions
1810:Drivers/CMSIS/Include/core_cm7.h **** \brief Functions that manage interrupts and exceptions via the NVIC.
ARM GAS /tmp/ccY34ikP.s page 36
1811:Drivers/CMSIS/Include/core_cm7.h **** @{
1812:Drivers/CMSIS/Include/core_cm7.h **** */
1813:Drivers/CMSIS/Include/core_cm7.h ****
1814:Drivers/CMSIS/Include/core_cm7.h **** #ifdef CMSIS_NVIC_VIRTUAL
1815:Drivers/CMSIS/Include/core_cm7.h **** #ifndef CMSIS_NVIC_VIRTUAL_HEADER_FILE
1816:Drivers/CMSIS/Include/core_cm7.h **** #define CMSIS_NVIC_VIRTUAL_HEADER_FILE "cmsis_nvic_virtual.h"
1817:Drivers/CMSIS/Include/core_cm7.h **** #endif
1818:Drivers/CMSIS/Include/core_cm7.h **** #include CMSIS_NVIC_VIRTUAL_HEADER_FILE
1819:Drivers/CMSIS/Include/core_cm7.h **** #else
1820:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_SetPriorityGrouping __NVIC_SetPriorityGrouping
1821:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_GetPriorityGrouping __NVIC_GetPriorityGrouping
1822:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_EnableIRQ __NVIC_EnableIRQ
1823:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_GetEnableIRQ __NVIC_GetEnableIRQ
1824:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_DisableIRQ __NVIC_DisableIRQ
1825:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_GetPendingIRQ __NVIC_GetPendingIRQ
1826:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_SetPendingIRQ __NVIC_SetPendingIRQ
1827:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_ClearPendingIRQ __NVIC_ClearPendingIRQ
1828:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_GetActive __NVIC_GetActive
1829:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_SetPriority __NVIC_SetPriority
1830:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_GetPriority __NVIC_GetPriority
1831:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_SystemReset __NVIC_SystemReset
1832:Drivers/CMSIS/Include/core_cm7.h **** #endif /* CMSIS_NVIC_VIRTUAL */
1833:Drivers/CMSIS/Include/core_cm7.h ****
1834:Drivers/CMSIS/Include/core_cm7.h **** #ifdef CMSIS_VECTAB_VIRTUAL
1835:Drivers/CMSIS/Include/core_cm7.h **** #ifndef CMSIS_VECTAB_VIRTUAL_HEADER_FILE
1836:Drivers/CMSIS/Include/core_cm7.h **** #define CMSIS_VECTAB_VIRTUAL_HEADER_FILE "cmsis_vectab_virtual.h"
1837:Drivers/CMSIS/Include/core_cm7.h **** #endif
1838:Drivers/CMSIS/Include/core_cm7.h **** #include CMSIS_VECTAB_VIRTUAL_HEADER_FILE
1839:Drivers/CMSIS/Include/core_cm7.h **** #else
1840:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_SetVector __NVIC_SetVector
1841:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_GetVector __NVIC_GetVector
1842:Drivers/CMSIS/Include/core_cm7.h **** #endif /* (CMSIS_VECTAB_VIRTUAL) */
1843:Drivers/CMSIS/Include/core_cm7.h ****
1844:Drivers/CMSIS/Include/core_cm7.h **** #define NVIC_USER_IRQ_OFFSET 16
1845:Drivers/CMSIS/Include/core_cm7.h ****
1846:Drivers/CMSIS/Include/core_cm7.h ****
1847:Drivers/CMSIS/Include/core_cm7.h **** /* The following EXC_RETURN values are saved the LR on exception entry */
1848:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_HANDLER (0xFFFFFFF1UL) /* return to Handler mode, uses MSP after ret
1849:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_THREAD_MSP (0xFFFFFFF9UL) /* return to Thread mode, uses MSP after retu
1850:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_THREAD_PSP (0xFFFFFFFDUL) /* return to Thread mode, uses PSP after retu
1851:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_HANDLER_FPU (0xFFFFFFE1UL) /* return to Handler mode, uses MSP after ret
1852:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_THREAD_MSP_FPU (0xFFFFFFE9UL) /* return to Thread mode, uses MSP after retu
1853:Drivers/CMSIS/Include/core_cm7.h **** #define EXC_RETURN_THREAD_PSP_FPU (0xFFFFFFEDUL) /* return to Thread mode, uses PSP after retu
1854:Drivers/CMSIS/Include/core_cm7.h ****
1855:Drivers/CMSIS/Include/core_cm7.h ****
1856:Drivers/CMSIS/Include/core_cm7.h **** /**
1857:Drivers/CMSIS/Include/core_cm7.h **** \brief Set Priority Grouping
1858:Drivers/CMSIS/Include/core_cm7.h **** \details Sets the priority grouping field using the required unlock sequence.
1859:Drivers/CMSIS/Include/core_cm7.h **** The parameter PriorityGroup is assigned to the field SCB->AIRCR [10:8] PRIGROUP field.
1860:Drivers/CMSIS/Include/core_cm7.h **** Only values from 0..7 are used.
1861:Drivers/CMSIS/Include/core_cm7.h **** In case of a conflict between priority grouping and available
1862:Drivers/CMSIS/Include/core_cm7.h **** priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
1863:Drivers/CMSIS/Include/core_cm7.h **** \param [in] PriorityGroup Priority grouping field.
1864:Drivers/CMSIS/Include/core_cm7.h **** */
1865:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_SetPriorityGrouping(uint32_t PriorityGroup)
39 .loc 2 1865 22 view .LVU3
40 .LBB39:
ARM GAS /tmp/ccY34ikP.s page 37
1866:Drivers/CMSIS/Include/core_cm7.h **** {
1867:Drivers/CMSIS/Include/core_cm7.h **** uint32_t reg_value;
41 .loc 2 1867 3 view .LVU4
1868:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 a
42 .loc 2 1868 3 view .LVU5
1869:Drivers/CMSIS/Include/core_cm7.h ****
1870:Drivers/CMSIS/Include/core_cm7.h **** reg_value = SCB->AIRCR; /* read old register
43 .loc 2 1870 3 view .LVU6
44 .loc 2 1870 14 is_stmt 0 view .LVU7
45 0000 0649 ldr r1, .L2
46 0002 CB68 ldr r3, [r1, #12]
47 .LVL1:
1871:Drivers/CMSIS/Include/core_cm7.h **** reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to chan
48 .loc 2 1871 3 is_stmt 1 view .LVU8
49 .loc 2 1871 13 is_stmt 0 view .LVU9
50 0004 23F4E063 bic r3, r3, #1792
51 .LVL2:
52 .loc 2 1871 13 view .LVU10
53 0008 1B04 lsls r3, r3, #16
54 000a 1B0C lsrs r3, r3, #16
55 .LVL3:
1872:Drivers/CMSIS/Include/core_cm7.h **** reg_value = (reg_value |
56 .loc 2 1872 3 is_stmt 1 view .LVU11
1873:Drivers/CMSIS/Include/core_cm7.h **** ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
1874:Drivers/CMSIS/Include/core_cm7.h **** (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key a
57 .loc 2 1874 35 is_stmt 0 view .LVU12
58 000c 0002 lsls r0, r0, #8
59 .LVL4:
60 .loc 2 1874 35 view .LVU13
61 000e 00F4E060 and r0, r0, #1792
1873:Drivers/CMSIS/Include/core_cm7.h **** ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
62 .loc 2 1873 62 view .LVU14
63 0012 0343 orrs r3, r3, r0
64 .LVL5:
1872:Drivers/CMSIS/Include/core_cm7.h **** reg_value = (reg_value |
65 .loc 2 1872 14 view .LVU15
66 0014 024A ldr r2, .L2+4
67 0016 1A43 orrs r2, r2, r3
68 .LVL6:
1875:Drivers/CMSIS/Include/core_cm7.h **** SCB->AIRCR = reg_value;
69 .loc 2 1875 3 is_stmt 1 view .LVU16
70 .loc 2 1875 14 is_stmt 0 view .LVU17
71 0018 CA60 str r2, [r1, #12]
72 .LVL7:
73 .loc 2 1875 14 view .LVU18
74 .LBE39:
75 .LBE38:
149:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
76 .loc 1 149 1 view .LVU19
77 001a 7047 bx lr
78 .L3:
79 .align 2
80 .L2:
81 001c 00ED00E0 .word -536810240
82 0020 0000FA05 .word 100270080
83 .cfi_endproc
84 .LFE141:
ARM GAS /tmp/ccY34ikP.s page 38
86 .section .text.HAL_NVIC_SetPriority,"ax",%progbits
87 .align 1
88 .global HAL_NVIC_SetPriority
89 .syntax unified
90 .thumb
91 .thumb_func
92 .fpu fpv5-d16
94 HAL_NVIC_SetPriority:
95 .LVL8:
96 .LFB142:
150:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
151:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
152:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Sets the priority of an interrupt.
153:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number.
154:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
155:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
156:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param PreemptPriority The preemption priority for the IRQn channel.
157:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be a value between 0 and 15
158:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * A lower priority value indicates a higher priority
159:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param SubPriority the subpriority level for the IRQ channel.
160:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be a value between 0 and 15
161:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * A lower priority value indicates a higher priority.
162:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
163:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
164:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority)
165:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
97 .loc 1 165 1 is_stmt 1 view -0
98 .cfi_startproc
99 @ args = 0, pretend = 0, frame = 0
100 @ frame_needed = 0, uses_anonymous_args = 0
101 .loc 1 165 1 is_stmt 0 view .LVU21
102 0000 00B5 push {lr}
103 .LCFI0:
104 .cfi_def_cfa_offset 4
105 .cfi_offset 14, -4
166:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** uint32_t prioritygroup = 0x00;
106 .loc 1 166 3 is_stmt 1 view .LVU22
107 .LVL9:
167:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
168:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
169:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_SUB_PRIORITY(SubPriority));
108 .loc 1 169 3 view .LVU23
170:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority));
109 .loc 1 170 3 view .LVU24
171:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
172:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** prioritygroup = NVIC_GetPriorityGrouping();
110 .loc 1 172 3 view .LVU25
111 .LBB46:
112 .LBI46:
1876:Drivers/CMSIS/Include/core_cm7.h **** }
1877:Drivers/CMSIS/Include/core_cm7.h ****
1878:Drivers/CMSIS/Include/core_cm7.h ****
1879:Drivers/CMSIS/Include/core_cm7.h **** /**
1880:Drivers/CMSIS/Include/core_cm7.h **** \brief Get Priority Grouping
1881:Drivers/CMSIS/Include/core_cm7.h **** \details Reads the priority grouping field from the NVIC Interrupt Controller.
1882:Drivers/CMSIS/Include/core_cm7.h **** \return Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field).
1883:Drivers/CMSIS/Include/core_cm7.h **** */
ARM GAS /tmp/ccY34ikP.s page 39
1884:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t __NVIC_GetPriorityGrouping(void)
113 .loc 2 1884 26 view .LVU26
114 .LBB47:
1885:Drivers/CMSIS/Include/core_cm7.h **** {
1886:Drivers/CMSIS/Include/core_cm7.h **** return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos));
115 .loc 2 1886 3 view .LVU27
116 .loc 2 1886 26 is_stmt 0 view .LVU28
117 0002 174B ldr r3, .L10
118 0004 DB68 ldr r3, [r3, #12]
119 .loc 2 1886 11 view .LVU29
120 0006 C3F30223 ubfx r3, r3, #8, #3
121 .LVL10:
122 .loc 2 1886 11 view .LVU30
123 .LBE47:
124 .LBE46:
173:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
174:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority));
125 .loc 1 174 3 is_stmt 1 view .LVU31
126 .LBB48:
127 .LBI48:
1887:Drivers/CMSIS/Include/core_cm7.h **** }
1888:Drivers/CMSIS/Include/core_cm7.h ****
1889:Drivers/CMSIS/Include/core_cm7.h ****
1890:Drivers/CMSIS/Include/core_cm7.h **** /**
1891:Drivers/CMSIS/Include/core_cm7.h **** \brief Enable Interrupt
1892:Drivers/CMSIS/Include/core_cm7.h **** \details Enables a device specific interrupt in the NVIC interrupt controller.
1893:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1894:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
1895:Drivers/CMSIS/Include/core_cm7.h **** */
1896:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_EnableIRQ(IRQn_Type IRQn)
1897:Drivers/CMSIS/Include/core_cm7.h **** {
1898:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
1899:Drivers/CMSIS/Include/core_cm7.h **** {
1900:Drivers/CMSIS/Include/core_cm7.h **** NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1901:Drivers/CMSIS/Include/core_cm7.h **** }
1902:Drivers/CMSIS/Include/core_cm7.h **** }
1903:Drivers/CMSIS/Include/core_cm7.h ****
1904:Drivers/CMSIS/Include/core_cm7.h ****
1905:Drivers/CMSIS/Include/core_cm7.h **** /**
1906:Drivers/CMSIS/Include/core_cm7.h **** \brief Get Interrupt Enable status
1907:Drivers/CMSIS/Include/core_cm7.h **** \details Returns a device specific interrupt enable status from the NVIC interrupt controller.
1908:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1909:Drivers/CMSIS/Include/core_cm7.h **** \return 0 Interrupt is not enabled.
1910:Drivers/CMSIS/Include/core_cm7.h **** \return 1 Interrupt is enabled.
1911:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
1912:Drivers/CMSIS/Include/core_cm7.h **** */
1913:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t __NVIC_GetEnableIRQ(IRQn_Type IRQn)
1914:Drivers/CMSIS/Include/core_cm7.h **** {
1915:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
1916:Drivers/CMSIS/Include/core_cm7.h **** {
1917:Drivers/CMSIS/Include/core_cm7.h **** return((uint32_t)(((NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL)
1918:Drivers/CMSIS/Include/core_cm7.h **** }
1919:Drivers/CMSIS/Include/core_cm7.h **** else
1920:Drivers/CMSIS/Include/core_cm7.h **** {
1921:Drivers/CMSIS/Include/core_cm7.h **** return(0U);
1922:Drivers/CMSIS/Include/core_cm7.h **** }
1923:Drivers/CMSIS/Include/core_cm7.h **** }
ARM GAS /tmp/ccY34ikP.s page 40
1924:Drivers/CMSIS/Include/core_cm7.h ****
1925:Drivers/CMSIS/Include/core_cm7.h ****
1926:Drivers/CMSIS/Include/core_cm7.h **** /**
1927:Drivers/CMSIS/Include/core_cm7.h **** \brief Disable Interrupt
1928:Drivers/CMSIS/Include/core_cm7.h **** \details Disables a device specific interrupt in the NVIC interrupt controller.
1929:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1930:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
1931:Drivers/CMSIS/Include/core_cm7.h **** */
1932:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_DisableIRQ(IRQn_Type IRQn)
1933:Drivers/CMSIS/Include/core_cm7.h **** {
1934:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
1935:Drivers/CMSIS/Include/core_cm7.h **** {
1936:Drivers/CMSIS/Include/core_cm7.h **** NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1937:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
1938:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
1939:Drivers/CMSIS/Include/core_cm7.h **** }
1940:Drivers/CMSIS/Include/core_cm7.h **** }
1941:Drivers/CMSIS/Include/core_cm7.h ****
1942:Drivers/CMSIS/Include/core_cm7.h ****
1943:Drivers/CMSIS/Include/core_cm7.h **** /**
1944:Drivers/CMSIS/Include/core_cm7.h **** \brief Get Pending Interrupt
1945:Drivers/CMSIS/Include/core_cm7.h **** \details Reads the NVIC pending register and returns the pending bit for the specified device spe
1946:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1947:Drivers/CMSIS/Include/core_cm7.h **** \return 0 Interrupt status is not pending.
1948:Drivers/CMSIS/Include/core_cm7.h **** \return 1 Interrupt status is pending.
1949:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
1950:Drivers/CMSIS/Include/core_cm7.h **** */
1951:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t __NVIC_GetPendingIRQ(IRQn_Type IRQn)
1952:Drivers/CMSIS/Include/core_cm7.h **** {
1953:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
1954:Drivers/CMSIS/Include/core_cm7.h **** {
1955:Drivers/CMSIS/Include/core_cm7.h **** return((uint32_t)(((NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL)
1956:Drivers/CMSIS/Include/core_cm7.h **** }
1957:Drivers/CMSIS/Include/core_cm7.h **** else
1958:Drivers/CMSIS/Include/core_cm7.h **** {
1959:Drivers/CMSIS/Include/core_cm7.h **** return(0U);
1960:Drivers/CMSIS/Include/core_cm7.h **** }
1961:Drivers/CMSIS/Include/core_cm7.h **** }
1962:Drivers/CMSIS/Include/core_cm7.h ****
1963:Drivers/CMSIS/Include/core_cm7.h ****
1964:Drivers/CMSIS/Include/core_cm7.h **** /**
1965:Drivers/CMSIS/Include/core_cm7.h **** \brief Set Pending Interrupt
1966:Drivers/CMSIS/Include/core_cm7.h **** \details Sets the pending bit of a device specific interrupt in the NVIC pending register.
1967:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1968:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
1969:Drivers/CMSIS/Include/core_cm7.h **** */
1970:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_SetPendingIRQ(IRQn_Type IRQn)
1971:Drivers/CMSIS/Include/core_cm7.h **** {
1972:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
1973:Drivers/CMSIS/Include/core_cm7.h **** {
1974:Drivers/CMSIS/Include/core_cm7.h **** NVIC->ISPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1975:Drivers/CMSIS/Include/core_cm7.h **** }
1976:Drivers/CMSIS/Include/core_cm7.h **** }
1977:Drivers/CMSIS/Include/core_cm7.h ****
1978:Drivers/CMSIS/Include/core_cm7.h ****
1979:Drivers/CMSIS/Include/core_cm7.h **** /**
1980:Drivers/CMSIS/Include/core_cm7.h **** \brief Clear Pending Interrupt
ARM GAS /tmp/ccY34ikP.s page 41
1981:Drivers/CMSIS/Include/core_cm7.h **** \details Clears the pending bit of a device specific interrupt in the NVIC pending register.
1982:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1983:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
1984:Drivers/CMSIS/Include/core_cm7.h **** */
1985:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_ClearPendingIRQ(IRQn_Type IRQn)
1986:Drivers/CMSIS/Include/core_cm7.h **** {
1987:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
1988:Drivers/CMSIS/Include/core_cm7.h **** {
1989:Drivers/CMSIS/Include/core_cm7.h **** NVIC->ICPR[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL));
1990:Drivers/CMSIS/Include/core_cm7.h **** }
1991:Drivers/CMSIS/Include/core_cm7.h **** }
1992:Drivers/CMSIS/Include/core_cm7.h ****
1993:Drivers/CMSIS/Include/core_cm7.h ****
1994:Drivers/CMSIS/Include/core_cm7.h **** /**
1995:Drivers/CMSIS/Include/core_cm7.h **** \brief Get Active Interrupt
1996:Drivers/CMSIS/Include/core_cm7.h **** \details Reads the active register in the NVIC and returns the active bit for the device specific
1997:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Device specific interrupt number.
1998:Drivers/CMSIS/Include/core_cm7.h **** \return 0 Interrupt status is not active.
1999:Drivers/CMSIS/Include/core_cm7.h **** \return 1 Interrupt status is active.
2000:Drivers/CMSIS/Include/core_cm7.h **** \note IRQn must not be negative.
2001:Drivers/CMSIS/Include/core_cm7.h **** */
2002:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t __NVIC_GetActive(IRQn_Type IRQn)
2003:Drivers/CMSIS/Include/core_cm7.h **** {
2004:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
2005:Drivers/CMSIS/Include/core_cm7.h **** {
2006:Drivers/CMSIS/Include/core_cm7.h **** return((uint32_t)(((NVIC->IABR[(((uint32_t)IRQn) >> 5UL)] & (1UL << (((uint32_t)IRQn) & 0x1FUL)
2007:Drivers/CMSIS/Include/core_cm7.h **** }
2008:Drivers/CMSIS/Include/core_cm7.h **** else
2009:Drivers/CMSIS/Include/core_cm7.h **** {
2010:Drivers/CMSIS/Include/core_cm7.h **** return(0U);
2011:Drivers/CMSIS/Include/core_cm7.h **** }
2012:Drivers/CMSIS/Include/core_cm7.h **** }
2013:Drivers/CMSIS/Include/core_cm7.h ****
2014:Drivers/CMSIS/Include/core_cm7.h ****
2015:Drivers/CMSIS/Include/core_cm7.h **** /**
2016:Drivers/CMSIS/Include/core_cm7.h **** \brief Set Interrupt Priority
2017:Drivers/CMSIS/Include/core_cm7.h **** \details Sets the priority of a device specific interrupt or a processor exception.
2018:Drivers/CMSIS/Include/core_cm7.h **** The interrupt number can be positive to specify a device specific interrupt,
2019:Drivers/CMSIS/Include/core_cm7.h **** or negative to specify a processor exception.
2020:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Interrupt number.
2021:Drivers/CMSIS/Include/core_cm7.h **** \param [in] priority Priority to set.
2022:Drivers/CMSIS/Include/core_cm7.h **** \note The priority cannot be set for every processor exception.
2023:Drivers/CMSIS/Include/core_cm7.h **** */
2024:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_SetPriority(IRQn_Type IRQn, uint32_t priority)
2025:Drivers/CMSIS/Include/core_cm7.h **** {
2026:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
2027:Drivers/CMSIS/Include/core_cm7.h **** {
2028:Drivers/CMSIS/Include/core_cm7.h **** NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (
2029:Drivers/CMSIS/Include/core_cm7.h **** }
2030:Drivers/CMSIS/Include/core_cm7.h **** else
2031:Drivers/CMSIS/Include/core_cm7.h **** {
2032:Drivers/CMSIS/Include/core_cm7.h **** SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (
2033:Drivers/CMSIS/Include/core_cm7.h **** }
2034:Drivers/CMSIS/Include/core_cm7.h **** }
2035:Drivers/CMSIS/Include/core_cm7.h ****
2036:Drivers/CMSIS/Include/core_cm7.h ****
2037:Drivers/CMSIS/Include/core_cm7.h **** /**
ARM GAS /tmp/ccY34ikP.s page 42
2038:Drivers/CMSIS/Include/core_cm7.h **** \brief Get Interrupt Priority
2039:Drivers/CMSIS/Include/core_cm7.h **** \details Reads the priority of a device specific interrupt or a processor exception.
2040:Drivers/CMSIS/Include/core_cm7.h **** The interrupt number can be positive to specify a device specific interrupt,
2041:Drivers/CMSIS/Include/core_cm7.h **** or negative to specify a processor exception.
2042:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Interrupt number.
2043:Drivers/CMSIS/Include/core_cm7.h **** \return Interrupt Priority.
2044:Drivers/CMSIS/Include/core_cm7.h **** Value is aligned automatically to the implemented priority bits of the microc
2045:Drivers/CMSIS/Include/core_cm7.h **** */
2046:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t __NVIC_GetPriority(IRQn_Type IRQn)
2047:Drivers/CMSIS/Include/core_cm7.h **** {
2048:Drivers/CMSIS/Include/core_cm7.h ****
2049:Drivers/CMSIS/Include/core_cm7.h **** if ((int32_t)(IRQn) >= 0)
2050:Drivers/CMSIS/Include/core_cm7.h **** {
2051:Drivers/CMSIS/Include/core_cm7.h **** return(((uint32_t)NVIC->IP[((uint32_t)IRQn)] >> (8U - __NVIC_PRIO_BITS)));
2052:Drivers/CMSIS/Include/core_cm7.h **** }
2053:Drivers/CMSIS/Include/core_cm7.h **** else
2054:Drivers/CMSIS/Include/core_cm7.h **** {
2055:Drivers/CMSIS/Include/core_cm7.h **** return(((uint32_t)SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] >> (8U - __NVIC_PRIO_BITS)));
2056:Drivers/CMSIS/Include/core_cm7.h **** }
2057:Drivers/CMSIS/Include/core_cm7.h **** }
2058:Drivers/CMSIS/Include/core_cm7.h ****
2059:Drivers/CMSIS/Include/core_cm7.h ****
2060:Drivers/CMSIS/Include/core_cm7.h **** /**
2061:Drivers/CMSIS/Include/core_cm7.h **** \brief Encode Priority
2062:Drivers/CMSIS/Include/core_cm7.h **** \details Encodes the priority for an interrupt with the given priority group,
2063:Drivers/CMSIS/Include/core_cm7.h **** preemptive priority value, and subpriority value.
2064:Drivers/CMSIS/Include/core_cm7.h **** In case of a conflict between priority grouping and available
2065:Drivers/CMSIS/Include/core_cm7.h **** priority bits (__NVIC_PRIO_BITS), the smallest possible priority group is set.
2066:Drivers/CMSIS/Include/core_cm7.h **** \param [in] PriorityGroup Used priority group.
2067:Drivers/CMSIS/Include/core_cm7.h **** \param [in] PreemptPriority Preemptive priority value (starting from 0).
2068:Drivers/CMSIS/Include/core_cm7.h **** \param [in] SubPriority Subpriority value (starting from 0).
2069:Drivers/CMSIS/Include/core_cm7.h **** \return Encoded priority. Value can be used in the function \ref NVIC_SetP
2070:Drivers/CMSIS/Include/core_cm7.h **** */
2071:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t NVIC_EncodePriority (uint32_t PriorityGroup, uint32_t PreemptPriority, uin
128 .loc 2 2071 26 view .LVU32
129 .LBB49:
2072:Drivers/CMSIS/Include/core_cm7.h **** {
2073:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used
130 .loc 2 2073 3 view .LVU33
2074:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PreemptPriorityBits;
131 .loc 2 2074 3 view .LVU34
2075:Drivers/CMSIS/Include/core_cm7.h **** uint32_t SubPriorityBits;
132 .loc 2 2075 3 view .LVU35
2076:Drivers/CMSIS/Include/core_cm7.h ****
2077:Drivers/CMSIS/Include/core_cm7.h **** PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NV
133 .loc 2 2077 3 view .LVU36
134 .loc 2 2077 31 is_stmt 0 view .LVU37
135 000a C3F1070C rsb ip, r3, #7
136 .loc 2 2077 23 view .LVU38
137 000e BCF1040F cmp ip, #4
138 0012 28BF it cs
139 0014 4FF0040C movcs ip, #4
140 .LVL11:
2078:Drivers/CMSIS/Include/core_cm7.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
141 .loc 2 2078 3 is_stmt 1 view .LVU39
142 .loc 2 2078 44 is_stmt 0 view .LVU40
143 0018 03F1040E add lr, r3, #4
ARM GAS /tmp/ccY34ikP.s page 43
144 .loc 2 2078 109 view .LVU41
145 001c BEF1060F cmp lr, #6
146 0020 14D9 bls .L8
147 0022 033B subs r3, r3, #3
148 .LVL12:
149 .L5:
2079:Drivers/CMSIS/Include/core_cm7.h ****
2080:Drivers/CMSIS/Include/core_cm7.h **** return (
150 .loc 2 2080 3 is_stmt 1 view .LVU42
2081:Drivers/CMSIS/Include/core_cm7.h **** ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits
151 .loc 2 2081 30 is_stmt 0 view .LVU43
152 0024 4FF0FF3E mov lr, #-1
153 .LVL13:
154 .loc 2 2081 30 view .LVU44
155 0028 0EFA0CFC lsl ip, lr, ip
156 .LVL14:
157 .loc 2 2081 30 view .LVU45
158 002c 21EA0C01 bic r1, r1, ip
159 .LVL15:
160 .loc 2 2081 82 view .LVU46
161 0030 9940 lsls r1, r1, r3
2082:Drivers/CMSIS/Include/core_cm7.h **** ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL)))
162 .loc 2 2082 30 view .LVU47
163 0032 0EFA03F3 lsl r3, lr, r3
164 .LVL16:
165 .loc 2 2082 30 view .LVU48
166 0036 22EA0303 bic r3, r2, r3
2081:Drivers/CMSIS/Include/core_cm7.h **** ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits
167 .loc 2 2081 102 view .LVU49
168 003a 1943 orrs r1, r1, r3
169 .LVL17:
2081:Drivers/CMSIS/Include/core_cm7.h **** ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits
170 .loc 2 2081 102 view .LVU50
171 .LBE49:
172 .LBE48:
173 .LBB51:
174 .LBI51:
2024:Drivers/CMSIS/Include/core_cm7.h **** {
175 .loc 2 2024 22 is_stmt 1 view .LVU51
176 .LBB52:
2026:Drivers/CMSIS/Include/core_cm7.h **** {
177 .loc 2 2026 3 view .LVU52
2026:Drivers/CMSIS/Include/core_cm7.h **** {
178 .loc 2 2026 6 is_stmt 0 view .LVU53
179 003c 0028 cmp r0, #0
180 003e 07DB blt .L6
2028:Drivers/CMSIS/Include/core_cm7.h **** }
181 .loc 2 2028 5 is_stmt 1 view .LVU54
2028:Drivers/CMSIS/Include/core_cm7.h **** }
182 .loc 2 2028 49 is_stmt 0 view .LVU55
183 0040 0901 lsls r1, r1, #4
184 .LVL18:
2028:Drivers/CMSIS/Include/core_cm7.h **** }
185 .loc 2 2028 49 view .LVU56
186 0042 C9B2 uxtb r1, r1
2028:Drivers/CMSIS/Include/core_cm7.h **** }
187 .loc 2 2028 47 view .LVU57
ARM GAS /tmp/ccY34ikP.s page 44
188 0044 074B ldr r3, .L10+4
189 0046 1954 strb r1, [r3, r0]
190 .LVL19:
191 .L4:
2028:Drivers/CMSIS/Include/core_cm7.h **** }
192 .loc 2 2028 47 view .LVU58
193 .LBE52:
194 .LBE51:
175:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
195 .loc 1 175 1 view .LVU59
196 0048 5DF804FB ldr pc, [sp], #4
197 .LVL20:
198 .L8:
199 .LBB54:
200 .LBB50:
2078:Drivers/CMSIS/Include/core_cm7.h ****
201 .loc 2 2078 109 view .LVU60
202 004c 0023 movs r3, #0
203 .LVL21:
2078:Drivers/CMSIS/Include/core_cm7.h ****
204 .loc 2 2078 109 view .LVU61
205 004e E9E7 b .L5
206 .LVL22:
207 .L6:
2078:Drivers/CMSIS/Include/core_cm7.h ****
208 .loc 2 2078 109 view .LVU62
209 .LBE50:
210 .LBE54:
211 .LBB55:
212 .LBB53:
2032:Drivers/CMSIS/Include/core_cm7.h **** }
213 .loc 2 2032 5 is_stmt 1 view .LVU63
2032:Drivers/CMSIS/Include/core_cm7.h **** }
214 .loc 2 2032 33 is_stmt 0 view .LVU64
215 0050 00F00F00 and r0, r0, #15
216 .LVL23:
2032:Drivers/CMSIS/Include/core_cm7.h **** }
217 .loc 2 2032 49 view .LVU65
218 0054 0901 lsls r1, r1, #4
219 .LVL24:
2032:Drivers/CMSIS/Include/core_cm7.h **** }
220 .loc 2 2032 49 view .LVU66
221 0056 C9B2 uxtb r1, r1
2032:Drivers/CMSIS/Include/core_cm7.h **** }
222 .loc 2 2032 47 view .LVU67
223 0058 034B ldr r3, .L10+8
224 005a 1954 strb r1, [r3, r0]
225 .LVL25:
2032:Drivers/CMSIS/Include/core_cm7.h **** }
226 .loc 2 2032 47 view .LVU68
227 .LBE53:
228 .LBE55:
229 .loc 1 175 1 view .LVU69
230 005c F4E7 b .L4
231 .L11:
232 005e 00BF .align 2
233 .L10:
ARM GAS /tmp/ccY34ikP.s page 45
234 0060 00ED00E0 .word -536810240
235 0064 00E400E0 .word -536812544
236 0068 14ED00E0 .word -536810220
237 .cfi_endproc
238 .LFE142:
240 .section .text.HAL_NVIC_EnableIRQ,"ax",%progbits
241 .align 1
242 .global HAL_NVIC_EnableIRQ
243 .syntax unified
244 .thumb
245 .thumb_func
246 .fpu fpv5-d16
248 HAL_NVIC_EnableIRQ:
249 .LVL26:
250 .LFB143:
176:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
177:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
178:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Enables a device specific interrupt in the NVIC interrupt controller.
179:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @note To configure interrupts priority correctly, the NVIC_PriorityGroupConfig()
180:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * function should be called before.
181:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number.
182:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
183:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
184:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
185:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
186:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_EnableIRQ(IRQn_Type IRQn)
187:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
251 .loc 1 187 1 is_stmt 1 view -0
252 .cfi_startproc
253 @ args = 0, pretend = 0, frame = 0
254 @ frame_needed = 0, uses_anonymous_args = 0
255 @ link register save eliminated.
188:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
189:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
256 .loc 1 189 3 view .LVU71
190:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
191:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Enable interrupt */
192:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_EnableIRQ(IRQn);
257 .loc 1 192 3 view .LVU72
258 .LBB56:
259 .LBI56:
1896:Drivers/CMSIS/Include/core_cm7.h **** {
260 .loc 2 1896 22 view .LVU73
261 .LBB57:
1898:Drivers/CMSIS/Include/core_cm7.h **** {
262 .loc 2 1898 3 view .LVU74
1898:Drivers/CMSIS/Include/core_cm7.h **** {
263 .loc 2 1898 6 is_stmt 0 view .LVU75
264 0000 0028 cmp r0, #0
265 .LVL27:
1898:Drivers/CMSIS/Include/core_cm7.h **** {
266 .loc 2 1898 6 view .LVU76
267 0002 07DB blt .L12
1900:Drivers/CMSIS/Include/core_cm7.h **** }
268 .loc 2 1900 5 is_stmt 1 view .LVU77
1900:Drivers/CMSIS/Include/core_cm7.h **** }
269 .loc 2 1900 81 is_stmt 0 view .LVU78
ARM GAS /tmp/ccY34ikP.s page 46
270 0004 00F01F02 and r2, r0, #31
1900:Drivers/CMSIS/Include/core_cm7.h **** }
271 .loc 2 1900 34 view .LVU79
272 0008 4009 lsrs r0, r0, #5
1900:Drivers/CMSIS/Include/core_cm7.h **** }
273 .loc 2 1900 45 view .LVU80
274 000a 0123 movs r3, #1
275 000c 9340 lsls r3, r3, r2
1900:Drivers/CMSIS/Include/core_cm7.h **** }
276 .loc 2 1900 43 view .LVU81
277 000e 024A ldr r2, .L14
278 0010 42F82030 str r3, [r2, r0, lsl #2]
279 .LVL28:
280 .L12:
1900:Drivers/CMSIS/Include/core_cm7.h **** }
281 .loc 2 1900 43 view .LVU82
282 .LBE57:
283 .LBE56:
193:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
284 .loc 1 193 1 view .LVU83
285 0014 7047 bx lr
286 .L15:
287 0016 00BF .align 2
288 .L14:
289 0018 00E100E0 .word -536813312
290 .cfi_endproc
291 .LFE143:
293 .section .text.HAL_NVIC_DisableIRQ,"ax",%progbits
294 .align 1
295 .global HAL_NVIC_DisableIRQ
296 .syntax unified
297 .thumb
298 .thumb_func
299 .fpu fpv5-d16
301 HAL_NVIC_DisableIRQ:
302 .LVL29:
303 .LFB144:
194:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
195:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
196:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Disables a device specific interrupt in the NVIC interrupt controller.
197:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number.
198:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
199:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
200:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
201:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
202:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_DisableIRQ(IRQn_Type IRQn)
203:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
304 .loc 1 203 1 is_stmt 1 view -0
305 .cfi_startproc
306 @ args = 0, pretend = 0, frame = 0
307 @ frame_needed = 0, uses_anonymous_args = 0
308 @ link register save eliminated.
204:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
205:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
309 .loc 1 205 3 view .LVU85
206:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
207:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Disable interrupt */
ARM GAS /tmp/ccY34ikP.s page 47
208:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_DisableIRQ(IRQn);
310 .loc 1 208 3 view .LVU86
311 .LBB64:
312 .LBI64:
1932:Drivers/CMSIS/Include/core_cm7.h **** {
313 .loc 2 1932 22 view .LVU87
314 .LBB65:
1934:Drivers/CMSIS/Include/core_cm7.h **** {
315 .loc 2 1934 3 view .LVU88
1934:Drivers/CMSIS/Include/core_cm7.h **** {
316 .loc 2 1934 6 is_stmt 0 view .LVU89
317 0000 0028 cmp r0, #0
318 .LVL30:
1934:Drivers/CMSIS/Include/core_cm7.h **** {
319 .loc 2 1934 6 view .LVU90
320 0002 0CDB blt .L16
1936:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
321 .loc 2 1936 5 is_stmt 1 view .LVU91
1936:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
322 .loc 2 1936 81 is_stmt 0 view .LVU92
323 0004 00F01F02 and r2, r0, #31
1936:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
324 .loc 2 1936 34 view .LVU93
325 0008 4009 lsrs r0, r0, #5
1936:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
326 .loc 2 1936 45 view .LVU94
327 000a 0123 movs r3, #1
328 000c 9340 lsls r3, r3, r2
1936:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
329 .loc 2 1936 43 view .LVU95
330 000e 2030 adds r0, r0, #32
331 0010 034A ldr r2, .L18
332 0012 42F82030 str r3, [r2, r0, lsl #2]
1937:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
333 .loc 2 1937 5 is_stmt 1 view .LVU96
334 .LBB66:
335 .LBI66:
336 .file 3 "Drivers/CMSIS/Include/cmsis_gcc.h"
1:Drivers/CMSIS/Include/cmsis_gcc.h **** /**************************************************************************//**
2:Drivers/CMSIS/Include/cmsis_gcc.h **** * @file cmsis_gcc.h
3:Drivers/CMSIS/Include/cmsis_gcc.h **** * @brief CMSIS compiler GCC header file
4:Drivers/CMSIS/Include/cmsis_gcc.h **** * @version V5.0.4
5:Drivers/CMSIS/Include/cmsis_gcc.h **** * @date 09. April 2018
6:Drivers/CMSIS/Include/cmsis_gcc.h **** ******************************************************************************/
7:Drivers/CMSIS/Include/cmsis_gcc.h **** /*
8:Drivers/CMSIS/Include/cmsis_gcc.h **** * Copyright (c) 2009-2018 Arm Limited. All rights reserved.
9:Drivers/CMSIS/Include/cmsis_gcc.h **** *
10:Drivers/CMSIS/Include/cmsis_gcc.h **** * SPDX-License-Identifier: Apache-2.0
11:Drivers/CMSIS/Include/cmsis_gcc.h **** *
12:Drivers/CMSIS/Include/cmsis_gcc.h **** * Licensed under the Apache License, Version 2.0 (the License); you may
13:Drivers/CMSIS/Include/cmsis_gcc.h **** * not use this file except in compliance with the License.
14:Drivers/CMSIS/Include/cmsis_gcc.h **** * You may obtain a copy of the License at
15:Drivers/CMSIS/Include/cmsis_gcc.h **** *
16:Drivers/CMSIS/Include/cmsis_gcc.h **** * www.apache.org/licenses/LICENSE-2.0
17:Drivers/CMSIS/Include/cmsis_gcc.h **** *
18:Drivers/CMSIS/Include/cmsis_gcc.h **** * Unless required by applicable law or agreed to in writing, software
19:Drivers/CMSIS/Include/cmsis_gcc.h **** * distributed under the License is distributed on an AS IS BASIS, WITHOUT
ARM GAS /tmp/ccY34ikP.s page 48
20:Drivers/CMSIS/Include/cmsis_gcc.h **** * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21:Drivers/CMSIS/Include/cmsis_gcc.h **** * See the License for the specific language governing permissions and
22:Drivers/CMSIS/Include/cmsis_gcc.h **** * limitations under the License.
23:Drivers/CMSIS/Include/cmsis_gcc.h **** */
24:Drivers/CMSIS/Include/cmsis_gcc.h ****
25:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __CMSIS_GCC_H
26:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_H
27:Drivers/CMSIS/Include/cmsis_gcc.h ****
28:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ignore some GCC warnings */
29:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
30:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wsign-conversion"
31:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wconversion"
32:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wunused-parameter"
33:Drivers/CMSIS/Include/cmsis_gcc.h ****
34:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Fallback for __has_builtin */
35:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __has_builtin
36:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __has_builtin(x) (0)
37:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
38:Drivers/CMSIS/Include/cmsis_gcc.h ****
39:Drivers/CMSIS/Include/cmsis_gcc.h **** /* CMSIS compiler specific defines */
40:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ASM
41:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ASM __asm
42:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
43:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __INLINE
44:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __INLINE inline
45:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
46:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_INLINE
47:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_INLINE static inline
48:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
49:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __STATIC_FORCEINLINE
50:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __STATIC_FORCEINLINE __attribute__((always_inline)) static inline
51:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
52:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __NO_RETURN
53:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NO_RETURN __attribute__((__noreturn__))
54:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
55:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __USED
56:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __USED __attribute__((used))
57:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
58:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __WEAK
59:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WEAK __attribute__((weak))
60:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
61:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED
62:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED __attribute__((packed, aligned(1)))
63:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
64:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_STRUCT
65:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_STRUCT struct __attribute__((packed, aligned(1)))
66:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
67:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __PACKED_UNION
68:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __PACKED_UNION union __attribute__((packed, aligned(1)))
69:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
70:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32 /* deprecated */
71:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
72:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
73:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
74:Drivers/CMSIS/Include/cmsis_gcc.h **** struct __attribute__((packed)) T_UINT32 { uint32_t v; };
75:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
76:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
ARM GAS /tmp/ccY34ikP.s page 49
77:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
78:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_WRITE
79:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
80:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
81:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
82:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
83:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
84:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))-
85:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
86:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT16_READ
87:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
88:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
89:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
90:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT16_READ { uint16_t v; };
91:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
92:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(add
93:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
94:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_WRITE
95:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
96:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
97:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
98:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
99:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
100:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))-
101:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
102:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __UNALIGNED_UINT32_READ
103:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic push
104:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wpacked"
105:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic ignored "-Wattributes"
106:Drivers/CMSIS/Include/cmsis_gcc.h **** __PACKED_STRUCT T_UINT32_READ { uint32_t v; };
107:Drivers/CMSIS/Include/cmsis_gcc.h **** #pragma GCC diagnostic pop
108:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(add
109:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
110:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __ALIGNED
111:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __ALIGNED(x) __attribute__((aligned(x)))
112:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
113:Drivers/CMSIS/Include/cmsis_gcc.h **** #ifndef __RESTRICT
114:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __RESTRICT __restrict
115:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
116:Drivers/CMSIS/Include/cmsis_gcc.h ****
117:Drivers/CMSIS/Include/cmsis_gcc.h ****
118:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################### Core Function Access ########################### */
119:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \ingroup CMSIS_Core_FunctionInterface
120:Drivers/CMSIS/Include/cmsis_gcc.h **** \defgroup CMSIS_Core_RegAccFunctions CMSIS Core Register Access Functions
121:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
122:Drivers/CMSIS/Include/cmsis_gcc.h **** */
123:Drivers/CMSIS/Include/cmsis_gcc.h ****
124:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
125:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable IRQ Interrupts
126:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables IRQ interrupts by clearing the I-bit in the CPSR.
127:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
128:Drivers/CMSIS/Include/cmsis_gcc.h **** */
129:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_irq(void)
130:Drivers/CMSIS/Include/cmsis_gcc.h **** {
131:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie i" : : : "memory");
132:Drivers/CMSIS/Include/cmsis_gcc.h **** }
133:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccY34ikP.s page 50
134:Drivers/CMSIS/Include/cmsis_gcc.h ****
135:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
136:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable IRQ Interrupts
137:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables IRQ interrupts by setting the I-bit in the CPSR.
138:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
139:Drivers/CMSIS/Include/cmsis_gcc.h **** */
140:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_irq(void)
141:Drivers/CMSIS/Include/cmsis_gcc.h **** {
142:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid i" : : : "memory");
143:Drivers/CMSIS/Include/cmsis_gcc.h **** }
144:Drivers/CMSIS/Include/cmsis_gcc.h ****
145:Drivers/CMSIS/Include/cmsis_gcc.h ****
146:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
147:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register
148:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the Control Register.
149:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Control Register value
150:Drivers/CMSIS/Include/cmsis_gcc.h **** */
151:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_CONTROL(void)
152:Drivers/CMSIS/Include/cmsis_gcc.h **** {
153:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
154:Drivers/CMSIS/Include/cmsis_gcc.h ****
155:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control" : "=r" (result) );
156:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
157:Drivers/CMSIS/Include/cmsis_gcc.h **** }
158:Drivers/CMSIS/Include/cmsis_gcc.h ****
159:Drivers/CMSIS/Include/cmsis_gcc.h ****
160:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
161:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
162:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Control Register (non-secure)
163:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the non-secure Control Register when in secure mode.
164:Drivers/CMSIS/Include/cmsis_gcc.h **** \return non-secure Control Register value
165:Drivers/CMSIS/Include/cmsis_gcc.h **** */
166:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_CONTROL_NS(void)
167:Drivers/CMSIS/Include/cmsis_gcc.h **** {
168:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
169:Drivers/CMSIS/Include/cmsis_gcc.h ****
170:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, control_ns" : "=r" (result) );
171:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
172:Drivers/CMSIS/Include/cmsis_gcc.h **** }
173:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
174:Drivers/CMSIS/Include/cmsis_gcc.h ****
175:Drivers/CMSIS/Include/cmsis_gcc.h ****
176:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
177:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register
178:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the Control Register.
179:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
180:Drivers/CMSIS/Include/cmsis_gcc.h **** */
181:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_CONTROL(uint32_t control)
182:Drivers/CMSIS/Include/cmsis_gcc.h **** {
183:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control, %0" : : "r" (control) : "memory");
184:Drivers/CMSIS/Include/cmsis_gcc.h **** }
185:Drivers/CMSIS/Include/cmsis_gcc.h ****
186:Drivers/CMSIS/Include/cmsis_gcc.h ****
187:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
188:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
189:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Control Register (non-secure)
190:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Writes the given value to the non-secure Control Register when in secure state.
ARM GAS /tmp/ccY34ikP.s page 51
191:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] control Control Register value to set
192:Drivers/CMSIS/Include/cmsis_gcc.h **** */
193:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_CONTROL_NS(uint32_t control)
194:Drivers/CMSIS/Include/cmsis_gcc.h **** {
195:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR control_ns, %0" : : "r" (control) : "memory");
196:Drivers/CMSIS/Include/cmsis_gcc.h **** }
197:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
198:Drivers/CMSIS/Include/cmsis_gcc.h ****
199:Drivers/CMSIS/Include/cmsis_gcc.h ****
200:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
201:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get IPSR Register
202:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the IPSR Register.
203:Drivers/CMSIS/Include/cmsis_gcc.h **** \return IPSR Register value
204:Drivers/CMSIS/Include/cmsis_gcc.h **** */
205:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_IPSR(void)
206:Drivers/CMSIS/Include/cmsis_gcc.h **** {
207:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
208:Drivers/CMSIS/Include/cmsis_gcc.h ****
209:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, ipsr" : "=r" (result) );
210:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
211:Drivers/CMSIS/Include/cmsis_gcc.h **** }
212:Drivers/CMSIS/Include/cmsis_gcc.h ****
213:Drivers/CMSIS/Include/cmsis_gcc.h ****
214:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
215:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get APSR Register
216:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the APSR Register.
217:Drivers/CMSIS/Include/cmsis_gcc.h **** \return APSR Register value
218:Drivers/CMSIS/Include/cmsis_gcc.h **** */
219:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_APSR(void)
220:Drivers/CMSIS/Include/cmsis_gcc.h **** {
221:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
222:Drivers/CMSIS/Include/cmsis_gcc.h ****
223:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, apsr" : "=r" (result) );
224:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
225:Drivers/CMSIS/Include/cmsis_gcc.h **** }
226:Drivers/CMSIS/Include/cmsis_gcc.h ****
227:Drivers/CMSIS/Include/cmsis_gcc.h ****
228:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
229:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get xPSR Register
230:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the content of the xPSR Register.
231:Drivers/CMSIS/Include/cmsis_gcc.h **** \return xPSR Register value
232:Drivers/CMSIS/Include/cmsis_gcc.h **** */
233:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_xPSR(void)
234:Drivers/CMSIS/Include/cmsis_gcc.h **** {
235:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
236:Drivers/CMSIS/Include/cmsis_gcc.h ****
237:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, xpsr" : "=r" (result) );
238:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
239:Drivers/CMSIS/Include/cmsis_gcc.h **** }
240:Drivers/CMSIS/Include/cmsis_gcc.h ****
241:Drivers/CMSIS/Include/cmsis_gcc.h ****
242:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
243:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer
244:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer (PSP).
245:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
246:Drivers/CMSIS/Include/cmsis_gcc.h **** */
247:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSP(void)
ARM GAS /tmp/ccY34ikP.s page 52
248:Drivers/CMSIS/Include/cmsis_gcc.h **** {
249:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
250:Drivers/CMSIS/Include/cmsis_gcc.h ****
251:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp" : "=r" (result) );
252:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
253:Drivers/CMSIS/Include/cmsis_gcc.h **** }
254:Drivers/CMSIS/Include/cmsis_gcc.h ****
255:Drivers/CMSIS/Include/cmsis_gcc.h ****
256:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
257:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
258:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer (non-secure)
259:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer (PSP) when in secure s
260:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSP Register value
261:Drivers/CMSIS/Include/cmsis_gcc.h **** */
262:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSP_NS(void)
263:Drivers/CMSIS/Include/cmsis_gcc.h **** {
264:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
265:Drivers/CMSIS/Include/cmsis_gcc.h ****
266:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psp_ns" : "=r" (result) );
267:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
268:Drivers/CMSIS/Include/cmsis_gcc.h **** }
269:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
270:Drivers/CMSIS/Include/cmsis_gcc.h ****
271:Drivers/CMSIS/Include/cmsis_gcc.h ****
272:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
273:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer
274:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer (PSP).
275:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
276:Drivers/CMSIS/Include/cmsis_gcc.h **** */
277:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSP(uint32_t topOfProcStack)
278:Drivers/CMSIS/Include/cmsis_gcc.h **** {
279:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp, %0" : : "r" (topOfProcStack) : );
280:Drivers/CMSIS/Include/cmsis_gcc.h **** }
281:Drivers/CMSIS/Include/cmsis_gcc.h ****
282:Drivers/CMSIS/Include/cmsis_gcc.h ****
283:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
284:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
285:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
286:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer (PSP) when in secure sta
287:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfProcStack Process Stack Pointer value to set
288:Drivers/CMSIS/Include/cmsis_gcc.h **** */
289:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSP_NS(uint32_t topOfProcStack)
290:Drivers/CMSIS/Include/cmsis_gcc.h **** {
291:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psp_ns, %0" : : "r" (topOfProcStack) : );
292:Drivers/CMSIS/Include/cmsis_gcc.h **** }
293:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
294:Drivers/CMSIS/Include/cmsis_gcc.h ****
295:Drivers/CMSIS/Include/cmsis_gcc.h ****
296:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
297:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer
298:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer (MSP).
299:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
300:Drivers/CMSIS/Include/cmsis_gcc.h **** */
301:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSP(void)
302:Drivers/CMSIS/Include/cmsis_gcc.h **** {
303:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
304:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccY34ikP.s page 53
305:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp" : "=r" (result) );
306:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
307:Drivers/CMSIS/Include/cmsis_gcc.h **** }
308:Drivers/CMSIS/Include/cmsis_gcc.h ****
309:Drivers/CMSIS/Include/cmsis_gcc.h ****
310:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
311:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
312:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer (non-secure)
313:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer (MSP) when in secure stat
314:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSP Register value
315:Drivers/CMSIS/Include/cmsis_gcc.h **** */
316:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSP_NS(void)
317:Drivers/CMSIS/Include/cmsis_gcc.h **** {
318:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
319:Drivers/CMSIS/Include/cmsis_gcc.h ****
320:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msp_ns" : "=r" (result) );
321:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
322:Drivers/CMSIS/Include/cmsis_gcc.h **** }
323:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
324:Drivers/CMSIS/Include/cmsis_gcc.h ****
325:Drivers/CMSIS/Include/cmsis_gcc.h ****
326:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
327:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer
328:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer (MSP).
329:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
330:Drivers/CMSIS/Include/cmsis_gcc.h **** */
331:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSP(uint32_t topOfMainStack)
332:Drivers/CMSIS/Include/cmsis_gcc.h **** {
333:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp, %0" : : "r" (topOfMainStack) : );
334:Drivers/CMSIS/Include/cmsis_gcc.h **** }
335:Drivers/CMSIS/Include/cmsis_gcc.h ****
336:Drivers/CMSIS/Include/cmsis_gcc.h ****
337:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
338:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
339:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer (non-secure)
340:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer (MSP) when in secure state.
341:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfMainStack Main Stack Pointer value to set
342:Drivers/CMSIS/Include/cmsis_gcc.h **** */
343:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSP_NS(uint32_t topOfMainStack)
344:Drivers/CMSIS/Include/cmsis_gcc.h **** {
345:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msp_ns, %0" : : "r" (topOfMainStack) : );
346:Drivers/CMSIS/Include/cmsis_gcc.h **** }
347:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
348:Drivers/CMSIS/Include/cmsis_gcc.h ****
349:Drivers/CMSIS/Include/cmsis_gcc.h ****
350:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
351:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
352:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Stack Pointer (non-secure)
353:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Stack Pointer (SP) when in secure state.
354:Drivers/CMSIS/Include/cmsis_gcc.h **** \return SP Register value
355:Drivers/CMSIS/Include/cmsis_gcc.h **** */
356:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_SP_NS(void)
357:Drivers/CMSIS/Include/cmsis_gcc.h **** {
358:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
359:Drivers/CMSIS/Include/cmsis_gcc.h ****
360:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, sp_ns" : "=r" (result) );
361:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccY34ikP.s page 54
362:Drivers/CMSIS/Include/cmsis_gcc.h **** }
363:Drivers/CMSIS/Include/cmsis_gcc.h ****
364:Drivers/CMSIS/Include/cmsis_gcc.h ****
365:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
366:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Stack Pointer (non-secure)
367:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Stack Pointer (SP) when in secure state.
368:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] topOfStack Stack Pointer value to set
369:Drivers/CMSIS/Include/cmsis_gcc.h **** */
370:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_SP_NS(uint32_t topOfStack)
371:Drivers/CMSIS/Include/cmsis_gcc.h **** {
372:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR sp_ns, %0" : : "r" (topOfStack) : );
373:Drivers/CMSIS/Include/cmsis_gcc.h **** }
374:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
375:Drivers/CMSIS/Include/cmsis_gcc.h ****
376:Drivers/CMSIS/Include/cmsis_gcc.h ****
377:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
378:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask
379:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the priority mask bit from the Priority Mask Register.
380:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
381:Drivers/CMSIS/Include/cmsis_gcc.h **** */
382:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PRIMASK(void)
383:Drivers/CMSIS/Include/cmsis_gcc.h **** {
384:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
385:Drivers/CMSIS/Include/cmsis_gcc.h ****
386:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask" : "=r" (result) :: "memory");
387:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
388:Drivers/CMSIS/Include/cmsis_gcc.h **** }
389:Drivers/CMSIS/Include/cmsis_gcc.h ****
390:Drivers/CMSIS/Include/cmsis_gcc.h ****
391:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
392:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
393:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Priority Mask (non-secure)
394:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current state of the non-secure priority mask bit from the Priority Mask Reg
395:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Priority Mask value
396:Drivers/CMSIS/Include/cmsis_gcc.h **** */
397:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PRIMASK_NS(void)
398:Drivers/CMSIS/Include/cmsis_gcc.h **** {
399:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
400:Drivers/CMSIS/Include/cmsis_gcc.h ****
401:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, primask_ns" : "=r" (result) :: "memory");
402:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
403:Drivers/CMSIS/Include/cmsis_gcc.h **** }
404:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
405:Drivers/CMSIS/Include/cmsis_gcc.h ****
406:Drivers/CMSIS/Include/cmsis_gcc.h ****
407:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
408:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask
409:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Priority Mask Register.
410:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
411:Drivers/CMSIS/Include/cmsis_gcc.h **** */
412:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PRIMASK(uint32_t priMask)
413:Drivers/CMSIS/Include/cmsis_gcc.h **** {
414:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask, %0" : : "r" (priMask) : "memory");
415:Drivers/CMSIS/Include/cmsis_gcc.h **** }
416:Drivers/CMSIS/Include/cmsis_gcc.h ****
417:Drivers/CMSIS/Include/cmsis_gcc.h ****
418:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
ARM GAS /tmp/ccY34ikP.s page 55
419:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
420:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Priority Mask (non-secure)
421:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Priority Mask Register when in secure state.
422:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] priMask Priority Mask
423:Drivers/CMSIS/Include/cmsis_gcc.h **** */
424:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PRIMASK_NS(uint32_t priMask)
425:Drivers/CMSIS/Include/cmsis_gcc.h **** {
426:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR primask_ns, %0" : : "r" (priMask) : "memory");
427:Drivers/CMSIS/Include/cmsis_gcc.h **** }
428:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
429:Drivers/CMSIS/Include/cmsis_gcc.h ****
430:Drivers/CMSIS/Include/cmsis_gcc.h ****
431:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
432:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
433:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) )
434:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
435:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Enable FIQ
436:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Enables FIQ interrupts by clearing the F-bit in the CPSR.
437:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
438:Drivers/CMSIS/Include/cmsis_gcc.h **** */
439:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __enable_fault_irq(void)
440:Drivers/CMSIS/Include/cmsis_gcc.h **** {
441:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsie f" : : : "memory");
442:Drivers/CMSIS/Include/cmsis_gcc.h **** }
443:Drivers/CMSIS/Include/cmsis_gcc.h ****
444:Drivers/CMSIS/Include/cmsis_gcc.h ****
445:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
446:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Disable FIQ
447:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Disables FIQ interrupts by setting the F-bit in the CPSR.
448:Drivers/CMSIS/Include/cmsis_gcc.h **** Can only be executed in Privileged modes.
449:Drivers/CMSIS/Include/cmsis_gcc.h **** */
450:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __disable_fault_irq(void)
451:Drivers/CMSIS/Include/cmsis_gcc.h **** {
452:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("cpsid f" : : : "memory");
453:Drivers/CMSIS/Include/cmsis_gcc.h **** }
454:Drivers/CMSIS/Include/cmsis_gcc.h ****
455:Drivers/CMSIS/Include/cmsis_gcc.h ****
456:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
457:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority
458:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Base Priority register.
459:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
460:Drivers/CMSIS/Include/cmsis_gcc.h **** */
461:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_BASEPRI(void)
462:Drivers/CMSIS/Include/cmsis_gcc.h **** {
463:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
464:Drivers/CMSIS/Include/cmsis_gcc.h ****
465:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri" : "=r" (result) );
466:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
467:Drivers/CMSIS/Include/cmsis_gcc.h **** }
468:Drivers/CMSIS/Include/cmsis_gcc.h ****
469:Drivers/CMSIS/Include/cmsis_gcc.h ****
470:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
471:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
472:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Base Priority (non-secure)
473:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Base Priority register when in secure state.
474:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Base Priority register value
475:Drivers/CMSIS/Include/cmsis_gcc.h **** */
ARM GAS /tmp/ccY34ikP.s page 56
476:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_BASEPRI_NS(void)
477:Drivers/CMSIS/Include/cmsis_gcc.h **** {
478:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
479:Drivers/CMSIS/Include/cmsis_gcc.h ****
480:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, basepri_ns" : "=r" (result) );
481:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
482:Drivers/CMSIS/Include/cmsis_gcc.h **** }
483:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
484:Drivers/CMSIS/Include/cmsis_gcc.h ****
485:Drivers/CMSIS/Include/cmsis_gcc.h ****
486:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
487:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority
488:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register.
489:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
490:Drivers/CMSIS/Include/cmsis_gcc.h **** */
491:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI(uint32_t basePri)
492:Drivers/CMSIS/Include/cmsis_gcc.h **** {
493:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri, %0" : : "r" (basePri) : "memory");
494:Drivers/CMSIS/Include/cmsis_gcc.h **** }
495:Drivers/CMSIS/Include/cmsis_gcc.h ****
496:Drivers/CMSIS/Include/cmsis_gcc.h ****
497:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
498:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
499:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority (non-secure)
500:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Base Priority register when in secure state.
501:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
502:Drivers/CMSIS/Include/cmsis_gcc.h **** */
503:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_BASEPRI_NS(uint32_t basePri)
504:Drivers/CMSIS/Include/cmsis_gcc.h **** {
505:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_ns, %0" : : "r" (basePri) : "memory");
506:Drivers/CMSIS/Include/cmsis_gcc.h **** }
507:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
508:Drivers/CMSIS/Include/cmsis_gcc.h ****
509:Drivers/CMSIS/Include/cmsis_gcc.h ****
510:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
511:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Base Priority with condition
512:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Base Priority register only if BASEPRI masking is disable
513:Drivers/CMSIS/Include/cmsis_gcc.h **** or the new value increases the BASEPRI priority level.
514:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] basePri Base Priority value to set
515:Drivers/CMSIS/Include/cmsis_gcc.h **** */
516:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_BASEPRI_MAX(uint32_t basePri)
517:Drivers/CMSIS/Include/cmsis_gcc.h **** {
518:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR basepri_max, %0" : : "r" (basePri) : "memory");
519:Drivers/CMSIS/Include/cmsis_gcc.h **** }
520:Drivers/CMSIS/Include/cmsis_gcc.h ****
521:Drivers/CMSIS/Include/cmsis_gcc.h ****
522:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
523:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask
524:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Fault Mask register.
525:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
526:Drivers/CMSIS/Include/cmsis_gcc.h **** */
527:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FAULTMASK(void)
528:Drivers/CMSIS/Include/cmsis_gcc.h **** {
529:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
530:Drivers/CMSIS/Include/cmsis_gcc.h ****
531:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask" : "=r" (result) );
532:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
ARM GAS /tmp/ccY34ikP.s page 57
533:Drivers/CMSIS/Include/cmsis_gcc.h **** }
534:Drivers/CMSIS/Include/cmsis_gcc.h ****
535:Drivers/CMSIS/Include/cmsis_gcc.h ****
536:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
537:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
538:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Fault Mask (non-secure)
539:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Fault Mask register when in secure state.
540:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Fault Mask register value
541:Drivers/CMSIS/Include/cmsis_gcc.h **** */
542:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_FAULTMASK_NS(void)
543:Drivers/CMSIS/Include/cmsis_gcc.h **** {
544:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
545:Drivers/CMSIS/Include/cmsis_gcc.h ****
546:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, faultmask_ns" : "=r" (result) );
547:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
548:Drivers/CMSIS/Include/cmsis_gcc.h **** }
549:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
550:Drivers/CMSIS/Include/cmsis_gcc.h ****
551:Drivers/CMSIS/Include/cmsis_gcc.h ****
552:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
553:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask
554:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Fault Mask register.
555:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
556:Drivers/CMSIS/Include/cmsis_gcc.h **** */
557:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FAULTMASK(uint32_t faultMask)
558:Drivers/CMSIS/Include/cmsis_gcc.h **** {
559:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask, %0" : : "r" (faultMask) : "memory");
560:Drivers/CMSIS/Include/cmsis_gcc.h **** }
561:Drivers/CMSIS/Include/cmsis_gcc.h ****
562:Drivers/CMSIS/Include/cmsis_gcc.h ****
563:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
564:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
565:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Fault Mask (non-secure)
566:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Fault Mask register when in secure state.
567:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] faultMask Fault Mask value to set
568:Drivers/CMSIS/Include/cmsis_gcc.h **** */
569:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_FAULTMASK_NS(uint32_t faultMask)
570:Drivers/CMSIS/Include/cmsis_gcc.h **** {
571:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR faultmask_ns, %0" : : "r" (faultMask) : "memory");
572:Drivers/CMSIS/Include/cmsis_gcc.h **** }
573:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
574:Drivers/CMSIS/Include/cmsis_gcc.h ****
575:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_7M__ ) && (__ARM_ARCH_7M__ == 1)) || \
576:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_7EM__ ) && (__ARM_ARCH_7EM__ == 1)) || \
577:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) ) */
578:Drivers/CMSIS/Include/cmsis_gcc.h ****
579:Drivers/CMSIS/Include/cmsis_gcc.h ****
580:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
581:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) )
582:Drivers/CMSIS/Include/cmsis_gcc.h ****
583:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
584:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit
585:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
586:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
587:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
588:Drivers/CMSIS/Include/cmsis_gcc.h ****
589:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Process Stack Pointer Limit (PSPLIM).
ARM GAS /tmp/ccY34ikP.s page 58
590:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
591:Drivers/CMSIS/Include/cmsis_gcc.h **** */
592:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_PSPLIM(void)
593:Drivers/CMSIS/Include/cmsis_gcc.h **** {
594:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
595:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
596:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
597:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
598:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
599:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
600:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim" : "=r" (result) );
601:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
602:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
603:Drivers/CMSIS/Include/cmsis_gcc.h **** }
604:Drivers/CMSIS/Include/cmsis_gcc.h ****
605:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE) && (__ARM_FEATURE_CMSE == 3))
606:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
607:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Process Stack Pointer Limit (non-secure)
608:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
609:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
610:Drivers/CMSIS/Include/cmsis_gcc.h ****
611:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Process Stack Pointer Limit (PSPLIM) when in
612:Drivers/CMSIS/Include/cmsis_gcc.h **** \return PSPLIM Register value
613:Drivers/CMSIS/Include/cmsis_gcc.h **** */
614:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_PSPLIM_NS(void)
615:Drivers/CMSIS/Include/cmsis_gcc.h **** {
616:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
617:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
618:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
619:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
620:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
621:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, psplim_ns" : "=r" (result) );
622:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
623:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
624:Drivers/CMSIS/Include/cmsis_gcc.h **** }
625:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
626:Drivers/CMSIS/Include/cmsis_gcc.h ****
627:Drivers/CMSIS/Include/cmsis_gcc.h ****
628:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
629:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer Limit
630:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
631:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
632:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
633:Drivers/CMSIS/Include/cmsis_gcc.h ****
634:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Process Stack Pointer Limit (PSPLIM).
635:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
636:Drivers/CMSIS/Include/cmsis_gcc.h **** */
637:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_PSPLIM(uint32_t ProcStackPtrLimit)
638:Drivers/CMSIS/Include/cmsis_gcc.h **** {
639:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
640:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
641:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
642:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
643:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
644:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim, %0" : : "r" (ProcStackPtrLimit));
645:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
646:Drivers/CMSIS/Include/cmsis_gcc.h **** }
ARM GAS /tmp/ccY34ikP.s page 59
647:Drivers/CMSIS/Include/cmsis_gcc.h ****
648:Drivers/CMSIS/Include/cmsis_gcc.h ****
649:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
650:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
651:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Process Stack Pointer (non-secure)
652:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
653:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
654:Drivers/CMSIS/Include/cmsis_gcc.h ****
655:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Process Stack Pointer Limit (PSPLIM) when in s
656:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] ProcStackPtrLimit Process Stack Pointer Limit value to set
657:Drivers/CMSIS/Include/cmsis_gcc.h **** */
658:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_PSPLIM_NS(uint32_t ProcStackPtrLimit)
659:Drivers/CMSIS/Include/cmsis_gcc.h **** {
660:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
661:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure PSPLIM is RAZ/WI
662:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)ProcStackPtrLimit;
663:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
664:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR psplim_ns, %0\n" : : "r" (ProcStackPtrLimit));
665:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
666:Drivers/CMSIS/Include/cmsis_gcc.h **** }
667:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
668:Drivers/CMSIS/Include/cmsis_gcc.h ****
669:Drivers/CMSIS/Include/cmsis_gcc.h ****
670:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
671:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit
672:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
673:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always in non-secure
674:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
675:Drivers/CMSIS/Include/cmsis_gcc.h ****
676:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Main Stack Pointer Limit (MSPLIM).
677:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
678:Drivers/CMSIS/Include/cmsis_gcc.h **** */
679:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_MSPLIM(void)
680:Drivers/CMSIS/Include/cmsis_gcc.h **** {
681:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
682:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
683:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
684:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
685:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
686:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
687:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim" : "=r" (result) );
688:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
689:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
690:Drivers/CMSIS/Include/cmsis_gcc.h **** }
691:Drivers/CMSIS/Include/cmsis_gcc.h ****
692:Drivers/CMSIS/Include/cmsis_gcc.h ****
693:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
694:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
695:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get Main Stack Pointer Limit (non-secure)
696:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
697:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence zero is returned always.
698:Drivers/CMSIS/Include/cmsis_gcc.h ****
699:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the non-secure Main Stack Pointer Limit(MSPLIM) when in sec
700:Drivers/CMSIS/Include/cmsis_gcc.h **** \return MSPLIM Register value
701:Drivers/CMSIS/Include/cmsis_gcc.h **** */
702:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __TZ_get_MSPLIM_NS(void)
703:Drivers/CMSIS/Include/cmsis_gcc.h **** {
ARM GAS /tmp/ccY34ikP.s page 60
704:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
705:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
706:Drivers/CMSIS/Include/cmsis_gcc.h **** return 0U;
707:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
708:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
709:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MRS %0, msplim_ns" : "=r" (result) );
710:Drivers/CMSIS/Include/cmsis_gcc.h **** return result;
711:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
712:Drivers/CMSIS/Include/cmsis_gcc.h **** }
713:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
714:Drivers/CMSIS/Include/cmsis_gcc.h ****
715:Drivers/CMSIS/Include/cmsis_gcc.h ****
716:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
717:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit
718:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
719:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored in non-secure
720:Drivers/CMSIS/Include/cmsis_gcc.h **** mode.
721:Drivers/CMSIS/Include/cmsis_gcc.h ****
722:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Main Stack Pointer Limit (MSPLIM).
723:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer Limit value to set
724:Drivers/CMSIS/Include/cmsis_gcc.h **** */
725:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_MSPLIM(uint32_t MainStackPtrLimit)
726:Drivers/CMSIS/Include/cmsis_gcc.h **** {
727:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) && \
728:Drivers/CMSIS/Include/cmsis_gcc.h **** (!defined (__ARM_FEATURE_CMSE) || (__ARM_FEATURE_CMSE < 3)))
729:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
730:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
731:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
732:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim, %0" : : "r" (MainStackPtrLimit));
733:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
734:Drivers/CMSIS/Include/cmsis_gcc.h **** }
735:Drivers/CMSIS/Include/cmsis_gcc.h ****
736:Drivers/CMSIS/Include/cmsis_gcc.h ****
737:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (defined (__ARM_FEATURE_CMSE ) && (__ARM_FEATURE_CMSE == 3))
738:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
739:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set Main Stack Pointer Limit (non-secure)
740:Drivers/CMSIS/Include/cmsis_gcc.h **** Devices without ARMv8-M Main Extensions (i.e. Cortex-M23) lack the non-secure
741:Drivers/CMSIS/Include/cmsis_gcc.h **** Stack Pointer Limit register hence the write is silently ignored.
742:Drivers/CMSIS/Include/cmsis_gcc.h ****
743:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the non-secure Main Stack Pointer Limit (MSPLIM) when in secu
744:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] MainStackPtrLimit Main Stack Pointer value to set
745:Drivers/CMSIS/Include/cmsis_gcc.h **** */
746:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __TZ_set_MSPLIM_NS(uint32_t MainStackPtrLimit)
747:Drivers/CMSIS/Include/cmsis_gcc.h **** {
748:Drivers/CMSIS/Include/cmsis_gcc.h **** #if (!(defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)))
749:Drivers/CMSIS/Include/cmsis_gcc.h **** // without main extensions, the non-secure MSPLIM is RAZ/WI
750:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)MainStackPtrLimit;
751:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
752:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("MSR msplim_ns, %0" : : "r" (MainStackPtrLimit));
753:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
754:Drivers/CMSIS/Include/cmsis_gcc.h **** }
755:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
756:Drivers/CMSIS/Include/cmsis_gcc.h ****
757:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif /* ((defined (__ARM_ARCH_8M_MAIN__ ) && (__ARM_ARCH_8M_MAIN__ == 1)) || \
758:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__ARM_ARCH_8M_BASE__ ) && (__ARM_ARCH_8M_BASE__ == 1)) ) */
759:Drivers/CMSIS/Include/cmsis_gcc.h ****
760:Drivers/CMSIS/Include/cmsis_gcc.h ****
ARM GAS /tmp/ccY34ikP.s page 61
761:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
762:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Get FPSCR
763:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Returns the current value of the Floating Point Status/Control register.
764:Drivers/CMSIS/Include/cmsis_gcc.h **** \return Floating Point Status/Control register value
765:Drivers/CMSIS/Include/cmsis_gcc.h **** */
766:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE uint32_t __get_FPSCR(void)
767:Drivers/CMSIS/Include/cmsis_gcc.h **** {
768:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
769:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
770:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_get_fpscr)
771:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
772:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
773:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
774:Drivers/CMSIS/Include/cmsis_gcc.h **** return __builtin_arm_get_fpscr();
775:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
776:Drivers/CMSIS/Include/cmsis_gcc.h **** uint32_t result;
777:Drivers/CMSIS/Include/cmsis_gcc.h ****
778:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMRS %0, fpscr" : "=r" (result) );
779:Drivers/CMSIS/Include/cmsis_gcc.h **** return(result);
780:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
781:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
782:Drivers/CMSIS/Include/cmsis_gcc.h **** return(0U);
783:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
784:Drivers/CMSIS/Include/cmsis_gcc.h **** }
785:Drivers/CMSIS/Include/cmsis_gcc.h ****
786:Drivers/CMSIS/Include/cmsis_gcc.h ****
787:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
788:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Set FPSCR
789:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Assigns the given value to the Floating Point Status/Control register.
790:Drivers/CMSIS/Include/cmsis_gcc.h **** \param [in] fpscr Floating Point Status/Control value to set
791:Drivers/CMSIS/Include/cmsis_gcc.h **** */
792:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __set_FPSCR(uint32_t fpscr)
793:Drivers/CMSIS/Include/cmsis_gcc.h **** {
794:Drivers/CMSIS/Include/cmsis_gcc.h **** #if ((defined (__FPU_PRESENT) && (__FPU_PRESENT == 1U)) && \
795:Drivers/CMSIS/Include/cmsis_gcc.h **** (defined (__FPU_USED ) && (__FPU_USED == 1U)) )
796:Drivers/CMSIS/Include/cmsis_gcc.h **** #if __has_builtin(__builtin_arm_set_fpscr)
797:Drivers/CMSIS/Include/cmsis_gcc.h **** // Re-enable using built-in when GCC has been fixed
798:Drivers/CMSIS/Include/cmsis_gcc.h **** // || (__GNUC__ > 7) || (__GNUC__ == 7 && __GNUC_MINOR__ >= 2)
799:Drivers/CMSIS/Include/cmsis_gcc.h **** /* see https://gcc.gnu.org/ml/gcc-patches/2017-04/msg00443.html */
800:Drivers/CMSIS/Include/cmsis_gcc.h **** __builtin_arm_set_fpscr(fpscr);
801:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
802:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("VMSR fpscr, %0" : : "r" (fpscr) : "vfpcc", "memory");
803:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
804:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
805:Drivers/CMSIS/Include/cmsis_gcc.h **** (void)fpscr;
806:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
807:Drivers/CMSIS/Include/cmsis_gcc.h **** }
808:Drivers/CMSIS/Include/cmsis_gcc.h ****
809:Drivers/CMSIS/Include/cmsis_gcc.h ****
810:Drivers/CMSIS/Include/cmsis_gcc.h **** /*@} end of CMSIS_Core_RegAccFunctions */
811:Drivers/CMSIS/Include/cmsis_gcc.h ****
812:Drivers/CMSIS/Include/cmsis_gcc.h ****
813:Drivers/CMSIS/Include/cmsis_gcc.h **** /* ########################## Core Instruction Access ######################### */
814:Drivers/CMSIS/Include/cmsis_gcc.h **** /** \defgroup CMSIS_Core_InstructionInterface CMSIS Core Instruction Interface
815:Drivers/CMSIS/Include/cmsis_gcc.h **** Access to dedicated instructions
816:Drivers/CMSIS/Include/cmsis_gcc.h **** @{
817:Drivers/CMSIS/Include/cmsis_gcc.h **** */
ARM GAS /tmp/ccY34ikP.s page 62
818:Drivers/CMSIS/Include/cmsis_gcc.h ****
819:Drivers/CMSIS/Include/cmsis_gcc.h **** /* Define macros for porting to both thumb1 and thumb2.
820:Drivers/CMSIS/Include/cmsis_gcc.h **** * For thumb1, use low register (r0-r7), specified by constraint "l"
821:Drivers/CMSIS/Include/cmsis_gcc.h **** * Otherwise, use general registers, specified by constraint "r" */
822:Drivers/CMSIS/Include/cmsis_gcc.h **** #if defined (__thumb__) && !defined (__thumb2__)
823:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=l" (r)
824:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+l" (r)
825:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "l" (r)
826:Drivers/CMSIS/Include/cmsis_gcc.h **** #else
827:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_OUT_REG(r) "=r" (r)
828:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_RW_REG(r) "+r" (r)
829:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __CMSIS_GCC_USE_REG(r) "r" (r)
830:Drivers/CMSIS/Include/cmsis_gcc.h **** #endif
831:Drivers/CMSIS/Include/cmsis_gcc.h ****
832:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
833:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief No Operation
834:Drivers/CMSIS/Include/cmsis_gcc.h **** \details No Operation does nothing. This instruction can be used for code alignment purposes.
835:Drivers/CMSIS/Include/cmsis_gcc.h **** */
836:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __NOP() __ASM volatile ("nop")
837:Drivers/CMSIS/Include/cmsis_gcc.h ****
838:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
839:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Interrupt
840:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Interrupt is a hint instruction that suspends execution until one of a number o
841:Drivers/CMSIS/Include/cmsis_gcc.h **** */
842:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFI() __ASM volatile ("wfi")
843:Drivers/CMSIS/Include/cmsis_gcc.h ****
844:Drivers/CMSIS/Include/cmsis_gcc.h ****
845:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
846:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Wait For Event
847:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Wait For Event is a hint instruction that permits the processor to enter
848:Drivers/CMSIS/Include/cmsis_gcc.h **** a low-power state until one of a number of events occurs.
849:Drivers/CMSIS/Include/cmsis_gcc.h **** */
850:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __WFE() __ASM volatile ("wfe")
851:Drivers/CMSIS/Include/cmsis_gcc.h ****
852:Drivers/CMSIS/Include/cmsis_gcc.h ****
853:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
854:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Send Event
855:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Send Event is a hint instruction. It causes an event to be signaled to the CPU.
856:Drivers/CMSIS/Include/cmsis_gcc.h **** */
857:Drivers/CMSIS/Include/cmsis_gcc.h **** #define __SEV() __ASM volatile ("sev")
858:Drivers/CMSIS/Include/cmsis_gcc.h ****
859:Drivers/CMSIS/Include/cmsis_gcc.h ****
860:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
861:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Instruction Synchronization Barrier
862:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Instruction Synchronization Barrier flushes the pipeline in the processor,
863:Drivers/CMSIS/Include/cmsis_gcc.h **** so that all instructions following the ISB are fetched from cache or memory,
864:Drivers/CMSIS/Include/cmsis_gcc.h **** after the instruction has been completed.
865:Drivers/CMSIS/Include/cmsis_gcc.h **** */
866:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __ISB(void)
867:Drivers/CMSIS/Include/cmsis_gcc.h **** {
868:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("isb 0xF":::"memory");
869:Drivers/CMSIS/Include/cmsis_gcc.h **** }
870:Drivers/CMSIS/Include/cmsis_gcc.h ****
871:Drivers/CMSIS/Include/cmsis_gcc.h ****
872:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
873:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Synchronization Barrier
874:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Acts as a special kind of Data Memory Barrier.
ARM GAS /tmp/ccY34ikP.s page 63
875:Drivers/CMSIS/Include/cmsis_gcc.h **** It completes when all explicit memory accesses before this instruction complete.
876:Drivers/CMSIS/Include/cmsis_gcc.h **** */
877:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DSB(void)
337 .loc 3 877 27 view .LVU97
338 .LBB67:
878:Drivers/CMSIS/Include/cmsis_gcc.h **** {
879:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dsb 0xF":::"memory");
339 .loc 3 879 3 view .LVU98
340 .syntax unified
341 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
342 0016 BFF34F8F dsb 0xF
343 @ 0 "" 2
344 .thumb
345 .syntax unified
346 .LBE67:
347 .LBE66:
1938:Drivers/CMSIS/Include/core_cm7.h **** }
348 .loc 2 1938 5 view .LVU99
349 .LBB68:
350 .LBI68:
866:Drivers/CMSIS/Include/cmsis_gcc.h **** {
351 .loc 3 866 27 view .LVU100
352 .LBB69:
868:Drivers/CMSIS/Include/cmsis_gcc.h **** }
353 .loc 3 868 3 view .LVU101
354 .syntax unified
355 @ 868 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
356 001a BFF36F8F isb 0xF
357 @ 0 "" 2
358 .LVL31:
359 .thumb
360 .syntax unified
361 .L16:
868:Drivers/CMSIS/Include/cmsis_gcc.h **** }
362 .loc 3 868 3 is_stmt 0 view .LVU102
363 .LBE69:
364 .LBE68:
365 .LBE65:
366 .LBE64:
209:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
367 .loc 1 209 1 view .LVU103
368 001e 7047 bx lr
369 .L19:
370 .align 2
371 .L18:
372 0020 00E100E0 .word -536813312
373 .cfi_endproc
374 .LFE144:
376 .section .text.HAL_NVIC_SystemReset,"ax",%progbits
377 .align 1
378 .global HAL_NVIC_SystemReset
379 .syntax unified
380 .thumb
381 .thumb_func
382 .fpu fpv5-d16
384 HAL_NVIC_SystemReset:
385 .LFB145:
ARM GAS /tmp/ccY34ikP.s page 64
210:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
211:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
212:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Initiates a system reset request to reset the MCU.
213:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
214:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
215:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_SystemReset(void)
216:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
386 .loc 1 216 1 is_stmt 1 view -0
387 .cfi_startproc
388 @ Volatile: function does not return.
389 @ args = 0, pretend = 0, frame = 0
390 @ frame_needed = 0, uses_anonymous_args = 0
391 @ link register save eliminated.
217:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* System Reset */
218:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_SystemReset();
392 .loc 1 218 3 view .LVU105
393 .LBB76:
394 .LBI76:
2083:Drivers/CMSIS/Include/core_cm7.h **** );
2084:Drivers/CMSIS/Include/core_cm7.h **** }
2085:Drivers/CMSIS/Include/core_cm7.h ****
2086:Drivers/CMSIS/Include/core_cm7.h ****
2087:Drivers/CMSIS/Include/core_cm7.h **** /**
2088:Drivers/CMSIS/Include/core_cm7.h **** \brief Decode Priority
2089:Drivers/CMSIS/Include/core_cm7.h **** \details Decodes an interrupt priority value with a given priority group to
2090:Drivers/CMSIS/Include/core_cm7.h **** preemptive priority value and subpriority value.
2091:Drivers/CMSIS/Include/core_cm7.h **** In case of a conflict between priority grouping and available
2092:Drivers/CMSIS/Include/core_cm7.h **** priority bits (__NVIC_PRIO_BITS) the smallest possible priority group is set.
2093:Drivers/CMSIS/Include/core_cm7.h **** \param [in] Priority Priority value, which can be retrieved with the function \ref NVIC
2094:Drivers/CMSIS/Include/core_cm7.h **** \param [in] PriorityGroup Used priority group.
2095:Drivers/CMSIS/Include/core_cm7.h **** \param [out] pPreemptPriority Preemptive priority value (starting from 0).
2096:Drivers/CMSIS/Include/core_cm7.h **** \param [out] pSubPriority Subpriority value (starting from 0).
2097:Drivers/CMSIS/Include/core_cm7.h **** */
2098:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void NVIC_DecodePriority (uint32_t Priority, uint32_t PriorityGroup, uint32_t* cons
2099:Drivers/CMSIS/Include/core_cm7.h **** {
2100:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used
2101:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PreemptPriorityBits;
2102:Drivers/CMSIS/Include/core_cm7.h **** uint32_t SubPriorityBits;
2103:Drivers/CMSIS/Include/core_cm7.h ****
2104:Drivers/CMSIS/Include/core_cm7.h **** PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NV
2105:Drivers/CMSIS/Include/core_cm7.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
2106:Drivers/CMSIS/Include/core_cm7.h ****
2107:Drivers/CMSIS/Include/core_cm7.h **** *pPreemptPriority = (Priority >> SubPriorityBits) & (uint32_t)((1UL << (PreemptPriorityBits)) - 1
2108:Drivers/CMSIS/Include/core_cm7.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
2109:Drivers/CMSIS/Include/core_cm7.h **** }
2110:Drivers/CMSIS/Include/core_cm7.h ****
2111:Drivers/CMSIS/Include/core_cm7.h ****
2112:Drivers/CMSIS/Include/core_cm7.h **** /**
2113:Drivers/CMSIS/Include/core_cm7.h **** \brief Set Interrupt Vector
2114:Drivers/CMSIS/Include/core_cm7.h **** \details Sets an interrupt vector in SRAM based interrupt vector table.
2115:Drivers/CMSIS/Include/core_cm7.h **** The interrupt number can be positive to specify a device specific interrupt,
2116:Drivers/CMSIS/Include/core_cm7.h **** or negative to specify a processor exception.
2117:Drivers/CMSIS/Include/core_cm7.h **** VTOR must been relocated to SRAM before.
2118:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Interrupt number
2119:Drivers/CMSIS/Include/core_cm7.h **** \param [in] vector Address of interrupt handler function
2120:Drivers/CMSIS/Include/core_cm7.h **** */
2121:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void __NVIC_SetVector(IRQn_Type IRQn, uint32_t vector)
ARM GAS /tmp/ccY34ikP.s page 65
2122:Drivers/CMSIS/Include/core_cm7.h **** {
2123:Drivers/CMSIS/Include/core_cm7.h **** uint32_t *vectors = (uint32_t *)SCB->VTOR;
2124:Drivers/CMSIS/Include/core_cm7.h **** vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET] = vector;
2125:Drivers/CMSIS/Include/core_cm7.h **** }
2126:Drivers/CMSIS/Include/core_cm7.h ****
2127:Drivers/CMSIS/Include/core_cm7.h ****
2128:Drivers/CMSIS/Include/core_cm7.h **** /**
2129:Drivers/CMSIS/Include/core_cm7.h **** \brief Get Interrupt Vector
2130:Drivers/CMSIS/Include/core_cm7.h **** \details Reads an interrupt vector from interrupt vector table.
2131:Drivers/CMSIS/Include/core_cm7.h **** The interrupt number can be positive to specify a device specific interrupt,
2132:Drivers/CMSIS/Include/core_cm7.h **** or negative to specify a processor exception.
2133:Drivers/CMSIS/Include/core_cm7.h **** \param [in] IRQn Interrupt number.
2134:Drivers/CMSIS/Include/core_cm7.h **** \return Address of interrupt handler function
2135:Drivers/CMSIS/Include/core_cm7.h **** */
2136:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t __NVIC_GetVector(IRQn_Type IRQn)
2137:Drivers/CMSIS/Include/core_cm7.h **** {
2138:Drivers/CMSIS/Include/core_cm7.h **** uint32_t *vectors = (uint32_t *)SCB->VTOR;
2139:Drivers/CMSIS/Include/core_cm7.h **** return vectors[(int32_t)IRQn + NVIC_USER_IRQ_OFFSET];
2140:Drivers/CMSIS/Include/core_cm7.h **** }
2141:Drivers/CMSIS/Include/core_cm7.h ****
2142:Drivers/CMSIS/Include/core_cm7.h ****
2143:Drivers/CMSIS/Include/core_cm7.h **** /**
2144:Drivers/CMSIS/Include/core_cm7.h **** \brief System Reset
2145:Drivers/CMSIS/Include/core_cm7.h **** \details Initiates a system reset request to reset the MCU.
2146:Drivers/CMSIS/Include/core_cm7.h **** */
2147:Drivers/CMSIS/Include/core_cm7.h **** __NO_RETURN __STATIC_INLINE void __NVIC_SystemReset(void)
395 .loc 2 2147 34 view .LVU106
396 .LBB77:
2148:Drivers/CMSIS/Include/core_cm7.h **** {
2149:Drivers/CMSIS/Include/core_cm7.h **** __DSB(); /* Ensure all outstanding memor
397 .loc 2 2149 3 view .LVU107
398 .LBB78:
399 .LBI78:
877:Drivers/CMSIS/Include/cmsis_gcc.h **** {
400 .loc 3 877 27 view .LVU108
401 .LBB79:
402 .loc 3 879 3 view .LVU109
403 .syntax unified
404 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
405 0000 BFF34F8F dsb 0xF
406 @ 0 "" 2
407 .thumb
408 .syntax unified
409 .LBE79:
410 .LBE78:
2150:Drivers/CMSIS/Include/core_cm7.h **** buffered write are completed
2151:Drivers/CMSIS/Include/core_cm7.h **** SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) |
411 .loc 2 2151 3 view .LVU110
2152:Drivers/CMSIS/Include/core_cm7.h **** (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
412 .loc 2 2152 32 is_stmt 0 view .LVU111
413 0004 0549 ldr r1, .L22
414 0006 CA68 ldr r2, [r1, #12]
415 .loc 2 2152 40 view .LVU112
416 0008 02F4E062 and r2, r2, #1792
2151:Drivers/CMSIS/Include/core_cm7.h **** (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
417 .loc 2 2151 17 view .LVU113
418 000c 044B ldr r3, .L22+4
ARM GAS /tmp/ccY34ikP.s page 66
419 000e 1343 orrs r3, r3, r2
2151:Drivers/CMSIS/Include/core_cm7.h **** (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) |
420 .loc 2 2151 15 view .LVU114
421 0010 CB60 str r3, [r1, #12]
2153:Drivers/CMSIS/Include/core_cm7.h **** SCB_AIRCR_SYSRESETREQ_Msk ); /* Keep priority group unchange
2154:Drivers/CMSIS/Include/core_cm7.h **** __DSB(); /* Ensure completion of memory
422 .loc 2 2154 3 is_stmt 1 view .LVU115
423 .LBB80:
424 .LBI80:
877:Drivers/CMSIS/Include/cmsis_gcc.h **** {
425 .loc 3 877 27 view .LVU116
426 .LBB81:
427 .loc 3 879 3 view .LVU117
428 .syntax unified
429 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
430 0012 BFF34F8F dsb 0xF
431 @ 0 "" 2
432 .thumb
433 .syntax unified
434 .L21:
435 .LBE81:
436 .LBE80:
2155:Drivers/CMSIS/Include/core_cm7.h ****
2156:Drivers/CMSIS/Include/core_cm7.h **** for(;;) /* wait until reset */
437 .loc 2 2156 3 view .LVU118
2157:Drivers/CMSIS/Include/core_cm7.h **** {
2158:Drivers/CMSIS/Include/core_cm7.h **** __NOP();
438 .loc 2 2158 5 view .LVU119
439 .syntax unified
440 @ 2158 "Drivers/CMSIS/Include/core_cm7.h" 1
441 0016 00BF nop
442 @ 0 "" 2
2156:Drivers/CMSIS/Include/core_cm7.h **** {
443 .loc 2 2156 8 view .LVU120
444 .thumb
445 .syntax unified
446 0018 FDE7 b .L21
447 .L23:
448 001a 00BF .align 2
449 .L22:
450 001c 00ED00E0 .word -536810240
451 0020 0400FA05 .word 100270084
452 .LBE77:
453 .LBE76:
454 .cfi_endproc
455 .LFE145:
457 .section .text.HAL_SYSTICK_Config,"ax",%progbits
458 .align 1
459 .global HAL_SYSTICK_Config
460 .syntax unified
461 .thumb
462 .thumb_func
463 .fpu fpv5-d16
465 HAL_SYSTICK_Config:
466 .LVL32:
467 .LFB146:
219:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
ARM GAS /tmp/ccY34ikP.s page 67
220:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
221:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
222:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Initializes the System Timer and its interrupt, and starts the System Tick Timer.
223:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * Counter is in free running mode to generate periodic interrupts.
224:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param TicksNumb Specifies the ticks Number of ticks between two interrupts.
225:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval status: - 0 Function succeeded.
226:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * - 1 Function failed.
227:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
228:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb)
229:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
468 .loc 1 229 1 view -0
469 .cfi_startproc
470 @ args = 0, pretend = 0, frame = 0
471 @ frame_needed = 0, uses_anonymous_args = 0
472 @ link register save eliminated.
230:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** return SysTick_Config(TicksNumb);
473 .loc 1 230 4 view .LVU122
474 .LBB82:
475 .LBI82:
2159:Drivers/CMSIS/Include/core_cm7.h **** }
2160:Drivers/CMSIS/Include/core_cm7.h **** }
2161:Drivers/CMSIS/Include/core_cm7.h ****
2162:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of CMSIS_Core_NVICFunctions */
2163:Drivers/CMSIS/Include/core_cm7.h ****
2164:Drivers/CMSIS/Include/core_cm7.h **** /* ########################## MPU functions #################################### */
2165:Drivers/CMSIS/Include/core_cm7.h ****
2166:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__MPU_PRESENT) && (__MPU_PRESENT == 1U)
2167:Drivers/CMSIS/Include/core_cm7.h ****
2168:Drivers/CMSIS/Include/core_cm7.h **** #include "mpu_armv7.h"
2169:Drivers/CMSIS/Include/core_cm7.h ****
2170:Drivers/CMSIS/Include/core_cm7.h **** #endif
2171:Drivers/CMSIS/Include/core_cm7.h ****
2172:Drivers/CMSIS/Include/core_cm7.h **** /* ########################## FPU functions #################################### */
2173:Drivers/CMSIS/Include/core_cm7.h **** /**
2174:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_Core_FunctionInterface
2175:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_Core_FpuFunctions FPU Functions
2176:Drivers/CMSIS/Include/core_cm7.h **** \brief Function that provides FPU type.
2177:Drivers/CMSIS/Include/core_cm7.h **** @{
2178:Drivers/CMSIS/Include/core_cm7.h **** */
2179:Drivers/CMSIS/Include/core_cm7.h ****
2180:Drivers/CMSIS/Include/core_cm7.h **** /**
2181:Drivers/CMSIS/Include/core_cm7.h **** \brief get FPU type
2182:Drivers/CMSIS/Include/core_cm7.h **** \details returns the FPU type
2183:Drivers/CMSIS/Include/core_cm7.h **** \returns
2184:Drivers/CMSIS/Include/core_cm7.h **** - \b 0: No FPU
2185:Drivers/CMSIS/Include/core_cm7.h **** - \b 1: Single precision FPU
2186:Drivers/CMSIS/Include/core_cm7.h **** - \b 2: Double + Single precision FPU
2187:Drivers/CMSIS/Include/core_cm7.h **** */
2188:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t SCB_GetFPUType(void)
2189:Drivers/CMSIS/Include/core_cm7.h **** {
2190:Drivers/CMSIS/Include/core_cm7.h **** uint32_t mvfr0;
2191:Drivers/CMSIS/Include/core_cm7.h ****
2192:Drivers/CMSIS/Include/core_cm7.h **** mvfr0 = SCB->MVFR0;
2193:Drivers/CMSIS/Include/core_cm7.h **** if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x220U)
2194:Drivers/CMSIS/Include/core_cm7.h **** {
2195:Drivers/CMSIS/Include/core_cm7.h **** return 2U; /* Double + Single precision FPU */
2196:Drivers/CMSIS/Include/core_cm7.h **** }
ARM GAS /tmp/ccY34ikP.s page 68
2197:Drivers/CMSIS/Include/core_cm7.h **** else if ((mvfr0 & (FPU_MVFR0_Single_precision_Msk | FPU_MVFR0_Double_precision_Msk)) == 0x020U)
2198:Drivers/CMSIS/Include/core_cm7.h **** {
2199:Drivers/CMSIS/Include/core_cm7.h **** return 1U; /* Single precision FPU */
2200:Drivers/CMSIS/Include/core_cm7.h **** }
2201:Drivers/CMSIS/Include/core_cm7.h **** else
2202:Drivers/CMSIS/Include/core_cm7.h **** {
2203:Drivers/CMSIS/Include/core_cm7.h **** return 0U; /* No FPU */
2204:Drivers/CMSIS/Include/core_cm7.h **** }
2205:Drivers/CMSIS/Include/core_cm7.h **** }
2206:Drivers/CMSIS/Include/core_cm7.h ****
2207:Drivers/CMSIS/Include/core_cm7.h ****
2208:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of CMSIS_Core_FpuFunctions */
2209:Drivers/CMSIS/Include/core_cm7.h ****
2210:Drivers/CMSIS/Include/core_cm7.h ****
2211:Drivers/CMSIS/Include/core_cm7.h ****
2212:Drivers/CMSIS/Include/core_cm7.h **** /* ########################## Cache functions #################################### */
2213:Drivers/CMSIS/Include/core_cm7.h **** /**
2214:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_Core_FunctionInterface
2215:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_Core_CacheFunctions Cache Functions
2216:Drivers/CMSIS/Include/core_cm7.h **** \brief Functions that configure Instruction and Data cache.
2217:Drivers/CMSIS/Include/core_cm7.h **** @{
2218:Drivers/CMSIS/Include/core_cm7.h **** */
2219:Drivers/CMSIS/Include/core_cm7.h ****
2220:Drivers/CMSIS/Include/core_cm7.h **** /* Cache Size ID Register Macros */
2221:Drivers/CMSIS/Include/core_cm7.h **** #define CCSIDR_WAYS(x) (((x) & SCB_CCSIDR_ASSOCIATIVITY_Msk) >> SCB_CCSIDR_ASSOCIATIVITY_Po
2222:Drivers/CMSIS/Include/core_cm7.h **** #define CCSIDR_SETS(x) (((x) & SCB_CCSIDR_NUMSETS_Msk ) >> SCB_CCSIDR_NUMSETS_Pos
2223:Drivers/CMSIS/Include/core_cm7.h ****
2224:Drivers/CMSIS/Include/core_cm7.h ****
2225:Drivers/CMSIS/Include/core_cm7.h **** /**
2226:Drivers/CMSIS/Include/core_cm7.h **** \brief Enable I-Cache
2227:Drivers/CMSIS/Include/core_cm7.h **** \details Turns on I-Cache
2228:Drivers/CMSIS/Include/core_cm7.h **** */
2229:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_EnableICache (void)
2230:Drivers/CMSIS/Include/core_cm7.h **** {
2231:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
2232:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2233:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2234:Drivers/CMSIS/Include/core_cm7.h **** SCB->ICIALLU = 0UL; /* invalidate I-Cache */
2235:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2236:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2237:Drivers/CMSIS/Include/core_cm7.h **** SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */
2238:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2239:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2240:Drivers/CMSIS/Include/core_cm7.h **** #endif
2241:Drivers/CMSIS/Include/core_cm7.h **** }
2242:Drivers/CMSIS/Include/core_cm7.h ****
2243:Drivers/CMSIS/Include/core_cm7.h ****
2244:Drivers/CMSIS/Include/core_cm7.h **** /**
2245:Drivers/CMSIS/Include/core_cm7.h **** \brief Disable I-Cache
2246:Drivers/CMSIS/Include/core_cm7.h **** \details Turns off I-Cache
2247:Drivers/CMSIS/Include/core_cm7.h **** */
2248:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_DisableICache (void)
2249:Drivers/CMSIS/Include/core_cm7.h **** {
2250:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
2251:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2252:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2253:Drivers/CMSIS/Include/core_cm7.h **** SCB->CCR &= ~(uint32_t)SCB_CCR_IC_Msk; /* disable I-Cache */
ARM GAS /tmp/ccY34ikP.s page 69
2254:Drivers/CMSIS/Include/core_cm7.h **** SCB->ICIALLU = 0UL; /* invalidate I-Cache */
2255:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2256:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2257:Drivers/CMSIS/Include/core_cm7.h **** #endif
2258:Drivers/CMSIS/Include/core_cm7.h **** }
2259:Drivers/CMSIS/Include/core_cm7.h ****
2260:Drivers/CMSIS/Include/core_cm7.h ****
2261:Drivers/CMSIS/Include/core_cm7.h **** /**
2262:Drivers/CMSIS/Include/core_cm7.h **** \brief Invalidate I-Cache
2263:Drivers/CMSIS/Include/core_cm7.h **** \details Invalidates I-Cache
2264:Drivers/CMSIS/Include/core_cm7.h **** */
2265:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_InvalidateICache (void)
2266:Drivers/CMSIS/Include/core_cm7.h **** {
2267:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__ICACHE_PRESENT) && (__ICACHE_PRESENT == 1U)
2268:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2269:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2270:Drivers/CMSIS/Include/core_cm7.h **** SCB->ICIALLU = 0UL;
2271:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2272:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2273:Drivers/CMSIS/Include/core_cm7.h **** #endif
2274:Drivers/CMSIS/Include/core_cm7.h **** }
2275:Drivers/CMSIS/Include/core_cm7.h ****
2276:Drivers/CMSIS/Include/core_cm7.h ****
2277:Drivers/CMSIS/Include/core_cm7.h **** /**
2278:Drivers/CMSIS/Include/core_cm7.h **** \brief Enable D-Cache
2279:Drivers/CMSIS/Include/core_cm7.h **** \details Turns on D-Cache
2280:Drivers/CMSIS/Include/core_cm7.h **** */
2281:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_EnableDCache (void)
2282:Drivers/CMSIS/Include/core_cm7.h **** {
2283:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2284:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ccsidr;
2285:Drivers/CMSIS/Include/core_cm7.h **** uint32_t sets;
2286:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ways;
2287:Drivers/CMSIS/Include/core_cm7.h ****
2288:Drivers/CMSIS/Include/core_cm7.h **** SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */
2289:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2290:Drivers/CMSIS/Include/core_cm7.h ****
2291:Drivers/CMSIS/Include/core_cm7.h **** ccsidr = SCB->CCSIDR;
2292:Drivers/CMSIS/Include/core_cm7.h ****
2293:Drivers/CMSIS/Include/core_cm7.h **** /* invalidate D-Cache */
2294:Drivers/CMSIS/Include/core_cm7.h **** sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2295:Drivers/CMSIS/Include/core_cm7.h **** do {
2296:Drivers/CMSIS/Include/core_cm7.h **** ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2297:Drivers/CMSIS/Include/core_cm7.h **** do {
2298:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) |
2299:Drivers/CMSIS/Include/core_cm7.h **** ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) );
2300:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __CC_ARM )
2301:Drivers/CMSIS/Include/core_cm7.h **** __schedule_barrier();
2302:Drivers/CMSIS/Include/core_cm7.h **** #endif
2303:Drivers/CMSIS/Include/core_cm7.h **** } while (ways-- != 0U);
2304:Drivers/CMSIS/Include/core_cm7.h **** } while(sets-- != 0U);
2305:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2306:Drivers/CMSIS/Include/core_cm7.h ****
2307:Drivers/CMSIS/Include/core_cm7.h **** SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */
2308:Drivers/CMSIS/Include/core_cm7.h ****
2309:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2310:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
ARM GAS /tmp/ccY34ikP.s page 70
2311:Drivers/CMSIS/Include/core_cm7.h **** #endif
2312:Drivers/CMSIS/Include/core_cm7.h **** }
2313:Drivers/CMSIS/Include/core_cm7.h ****
2314:Drivers/CMSIS/Include/core_cm7.h ****
2315:Drivers/CMSIS/Include/core_cm7.h **** /**
2316:Drivers/CMSIS/Include/core_cm7.h **** \brief Disable D-Cache
2317:Drivers/CMSIS/Include/core_cm7.h **** \details Turns off D-Cache
2318:Drivers/CMSIS/Include/core_cm7.h **** */
2319:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_DisableDCache (void)
2320:Drivers/CMSIS/Include/core_cm7.h **** {
2321:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2322:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ccsidr;
2323:Drivers/CMSIS/Include/core_cm7.h **** uint32_t sets;
2324:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ways;
2325:Drivers/CMSIS/Include/core_cm7.h ****
2326:Drivers/CMSIS/Include/core_cm7.h **** SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */
2327:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2328:Drivers/CMSIS/Include/core_cm7.h ****
2329:Drivers/CMSIS/Include/core_cm7.h **** SCB->CCR &= ~(uint32_t)SCB_CCR_DC_Msk; /* disable D-Cache */
2330:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2331:Drivers/CMSIS/Include/core_cm7.h ****
2332:Drivers/CMSIS/Include/core_cm7.h **** ccsidr = SCB->CCSIDR;
2333:Drivers/CMSIS/Include/core_cm7.h ****
2334:Drivers/CMSIS/Include/core_cm7.h **** /* clean & invalidate D-Cache */
2335:Drivers/CMSIS/Include/core_cm7.h **** sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2336:Drivers/CMSIS/Include/core_cm7.h **** do {
2337:Drivers/CMSIS/Include/core_cm7.h **** ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2338:Drivers/CMSIS/Include/core_cm7.h **** do {
2339:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) |
2340:Drivers/CMSIS/Include/core_cm7.h **** ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) );
2341:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __CC_ARM )
2342:Drivers/CMSIS/Include/core_cm7.h **** __schedule_barrier();
2343:Drivers/CMSIS/Include/core_cm7.h **** #endif
2344:Drivers/CMSIS/Include/core_cm7.h **** } while (ways-- != 0U);
2345:Drivers/CMSIS/Include/core_cm7.h **** } while(sets-- != 0U);
2346:Drivers/CMSIS/Include/core_cm7.h ****
2347:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2348:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2349:Drivers/CMSIS/Include/core_cm7.h **** #endif
2350:Drivers/CMSIS/Include/core_cm7.h **** }
2351:Drivers/CMSIS/Include/core_cm7.h ****
2352:Drivers/CMSIS/Include/core_cm7.h ****
2353:Drivers/CMSIS/Include/core_cm7.h **** /**
2354:Drivers/CMSIS/Include/core_cm7.h **** \brief Invalidate D-Cache
2355:Drivers/CMSIS/Include/core_cm7.h **** \details Invalidates D-Cache
2356:Drivers/CMSIS/Include/core_cm7.h **** */
2357:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_InvalidateDCache (void)
2358:Drivers/CMSIS/Include/core_cm7.h **** {
2359:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2360:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ccsidr;
2361:Drivers/CMSIS/Include/core_cm7.h **** uint32_t sets;
2362:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ways;
2363:Drivers/CMSIS/Include/core_cm7.h ****
2364:Drivers/CMSIS/Include/core_cm7.h **** SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */
2365:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2366:Drivers/CMSIS/Include/core_cm7.h ****
2367:Drivers/CMSIS/Include/core_cm7.h **** ccsidr = SCB->CCSIDR;
ARM GAS /tmp/ccY34ikP.s page 71
2368:Drivers/CMSIS/Include/core_cm7.h ****
2369:Drivers/CMSIS/Include/core_cm7.h **** /* invalidate D-Cache */
2370:Drivers/CMSIS/Include/core_cm7.h **** sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2371:Drivers/CMSIS/Include/core_cm7.h **** do {
2372:Drivers/CMSIS/Include/core_cm7.h **** ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2373:Drivers/CMSIS/Include/core_cm7.h **** do {
2374:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) |
2375:Drivers/CMSIS/Include/core_cm7.h **** ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) );
2376:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __CC_ARM )
2377:Drivers/CMSIS/Include/core_cm7.h **** __schedule_barrier();
2378:Drivers/CMSIS/Include/core_cm7.h **** #endif
2379:Drivers/CMSIS/Include/core_cm7.h **** } while (ways-- != 0U);
2380:Drivers/CMSIS/Include/core_cm7.h **** } while(sets-- != 0U);
2381:Drivers/CMSIS/Include/core_cm7.h ****
2382:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2383:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2384:Drivers/CMSIS/Include/core_cm7.h **** #endif
2385:Drivers/CMSIS/Include/core_cm7.h **** }
2386:Drivers/CMSIS/Include/core_cm7.h ****
2387:Drivers/CMSIS/Include/core_cm7.h ****
2388:Drivers/CMSIS/Include/core_cm7.h **** /**
2389:Drivers/CMSIS/Include/core_cm7.h **** \brief Clean D-Cache
2390:Drivers/CMSIS/Include/core_cm7.h **** \details Cleans D-Cache
2391:Drivers/CMSIS/Include/core_cm7.h **** */
2392:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_CleanDCache (void)
2393:Drivers/CMSIS/Include/core_cm7.h **** {
2394:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2395:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ccsidr;
2396:Drivers/CMSIS/Include/core_cm7.h **** uint32_t sets;
2397:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ways;
2398:Drivers/CMSIS/Include/core_cm7.h ****
2399:Drivers/CMSIS/Include/core_cm7.h **** SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */
2400:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2401:Drivers/CMSIS/Include/core_cm7.h ****
2402:Drivers/CMSIS/Include/core_cm7.h **** ccsidr = SCB->CCSIDR;
2403:Drivers/CMSIS/Include/core_cm7.h ****
2404:Drivers/CMSIS/Include/core_cm7.h **** /* clean D-Cache */
2405:Drivers/CMSIS/Include/core_cm7.h **** sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2406:Drivers/CMSIS/Include/core_cm7.h **** do {
2407:Drivers/CMSIS/Include/core_cm7.h **** ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2408:Drivers/CMSIS/Include/core_cm7.h **** do {
2409:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCCSW = (((sets << SCB_DCCSW_SET_Pos) & SCB_DCCSW_SET_Msk) |
2410:Drivers/CMSIS/Include/core_cm7.h **** ((ways << SCB_DCCSW_WAY_Pos) & SCB_DCCSW_WAY_Msk) );
2411:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __CC_ARM )
2412:Drivers/CMSIS/Include/core_cm7.h **** __schedule_barrier();
2413:Drivers/CMSIS/Include/core_cm7.h **** #endif
2414:Drivers/CMSIS/Include/core_cm7.h **** } while (ways-- != 0U);
2415:Drivers/CMSIS/Include/core_cm7.h **** } while(sets-- != 0U);
2416:Drivers/CMSIS/Include/core_cm7.h ****
2417:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2418:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2419:Drivers/CMSIS/Include/core_cm7.h **** #endif
2420:Drivers/CMSIS/Include/core_cm7.h **** }
2421:Drivers/CMSIS/Include/core_cm7.h ****
2422:Drivers/CMSIS/Include/core_cm7.h ****
2423:Drivers/CMSIS/Include/core_cm7.h **** /**
2424:Drivers/CMSIS/Include/core_cm7.h **** \brief Clean & Invalidate D-Cache
ARM GAS /tmp/ccY34ikP.s page 72
2425:Drivers/CMSIS/Include/core_cm7.h **** \details Cleans and Invalidates D-Cache
2426:Drivers/CMSIS/Include/core_cm7.h **** */
2427:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_CleanInvalidateDCache (void)
2428:Drivers/CMSIS/Include/core_cm7.h **** {
2429:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2430:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ccsidr;
2431:Drivers/CMSIS/Include/core_cm7.h **** uint32_t sets;
2432:Drivers/CMSIS/Include/core_cm7.h **** uint32_t ways;
2433:Drivers/CMSIS/Include/core_cm7.h ****
2434:Drivers/CMSIS/Include/core_cm7.h **** SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */
2435:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2436:Drivers/CMSIS/Include/core_cm7.h ****
2437:Drivers/CMSIS/Include/core_cm7.h **** ccsidr = SCB->CCSIDR;
2438:Drivers/CMSIS/Include/core_cm7.h ****
2439:Drivers/CMSIS/Include/core_cm7.h **** /* clean & invalidate D-Cache */
2440:Drivers/CMSIS/Include/core_cm7.h **** sets = (uint32_t)(CCSIDR_SETS(ccsidr));
2441:Drivers/CMSIS/Include/core_cm7.h **** do {
2442:Drivers/CMSIS/Include/core_cm7.h **** ways = (uint32_t)(CCSIDR_WAYS(ccsidr));
2443:Drivers/CMSIS/Include/core_cm7.h **** do {
2444:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) |
2445:Drivers/CMSIS/Include/core_cm7.h **** ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) );
2446:Drivers/CMSIS/Include/core_cm7.h **** #if defined ( __CC_ARM )
2447:Drivers/CMSIS/Include/core_cm7.h **** __schedule_barrier();
2448:Drivers/CMSIS/Include/core_cm7.h **** #endif
2449:Drivers/CMSIS/Include/core_cm7.h **** } while (ways-- != 0U);
2450:Drivers/CMSIS/Include/core_cm7.h **** } while(sets-- != 0U);
2451:Drivers/CMSIS/Include/core_cm7.h ****
2452:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2453:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2454:Drivers/CMSIS/Include/core_cm7.h **** #endif
2455:Drivers/CMSIS/Include/core_cm7.h **** }
2456:Drivers/CMSIS/Include/core_cm7.h ****
2457:Drivers/CMSIS/Include/core_cm7.h ****
2458:Drivers/CMSIS/Include/core_cm7.h **** /**
2459:Drivers/CMSIS/Include/core_cm7.h **** \brief D-Cache Invalidate by address
2460:Drivers/CMSIS/Include/core_cm7.h **** \details Invalidates D-Cache for the given address
2461:Drivers/CMSIS/Include/core_cm7.h **** \param[in] addr address (aligned to 32-byte boundary)
2462:Drivers/CMSIS/Include/core_cm7.h **** \param[in] dsize size of memory block (in number of bytes)
2463:Drivers/CMSIS/Include/core_cm7.h **** */
2464:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_InvalidateDCache_by_Addr (uint32_t *addr, int32_t dsize)
2465:Drivers/CMSIS/Include/core_cm7.h **** {
2466:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2467:Drivers/CMSIS/Include/core_cm7.h **** int32_t op_size = dsize;
2468:Drivers/CMSIS/Include/core_cm7.h **** uint32_t op_addr = (uint32_t)addr;
2469:Drivers/CMSIS/Include/core_cm7.h **** int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (
2470:Drivers/CMSIS/Include/core_cm7.h ****
2471:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2472:Drivers/CMSIS/Include/core_cm7.h ****
2473:Drivers/CMSIS/Include/core_cm7.h **** while (op_size > 0) {
2474:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCIMVAC = op_addr;
2475:Drivers/CMSIS/Include/core_cm7.h **** op_addr += (uint32_t)linesize;
2476:Drivers/CMSIS/Include/core_cm7.h **** op_size -= linesize;
2477:Drivers/CMSIS/Include/core_cm7.h **** }
2478:Drivers/CMSIS/Include/core_cm7.h ****
2479:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2480:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2481:Drivers/CMSIS/Include/core_cm7.h **** #endif
ARM GAS /tmp/ccY34ikP.s page 73
2482:Drivers/CMSIS/Include/core_cm7.h **** }
2483:Drivers/CMSIS/Include/core_cm7.h ****
2484:Drivers/CMSIS/Include/core_cm7.h ****
2485:Drivers/CMSIS/Include/core_cm7.h **** /**
2486:Drivers/CMSIS/Include/core_cm7.h **** \brief D-Cache Clean by address
2487:Drivers/CMSIS/Include/core_cm7.h **** \details Cleans D-Cache for the given address
2488:Drivers/CMSIS/Include/core_cm7.h **** \param[in] addr address (aligned to 32-byte boundary)
2489:Drivers/CMSIS/Include/core_cm7.h **** \param[in] dsize size of memory block (in number of bytes)
2490:Drivers/CMSIS/Include/core_cm7.h **** */
2491:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_CleanDCache_by_Addr (uint32_t *addr, int32_t dsize)
2492:Drivers/CMSIS/Include/core_cm7.h **** {
2493:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2494:Drivers/CMSIS/Include/core_cm7.h **** int32_t op_size = dsize;
2495:Drivers/CMSIS/Include/core_cm7.h **** uint32_t op_addr = (uint32_t) addr;
2496:Drivers/CMSIS/Include/core_cm7.h **** int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (
2497:Drivers/CMSIS/Include/core_cm7.h ****
2498:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2499:Drivers/CMSIS/Include/core_cm7.h ****
2500:Drivers/CMSIS/Include/core_cm7.h **** while (op_size > 0) {
2501:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCCMVAC = op_addr;
2502:Drivers/CMSIS/Include/core_cm7.h **** op_addr += (uint32_t)linesize;
2503:Drivers/CMSIS/Include/core_cm7.h **** op_size -= linesize;
2504:Drivers/CMSIS/Include/core_cm7.h **** }
2505:Drivers/CMSIS/Include/core_cm7.h ****
2506:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2507:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2508:Drivers/CMSIS/Include/core_cm7.h **** #endif
2509:Drivers/CMSIS/Include/core_cm7.h **** }
2510:Drivers/CMSIS/Include/core_cm7.h ****
2511:Drivers/CMSIS/Include/core_cm7.h ****
2512:Drivers/CMSIS/Include/core_cm7.h **** /**
2513:Drivers/CMSIS/Include/core_cm7.h **** \brief D-Cache Clean and Invalidate by address
2514:Drivers/CMSIS/Include/core_cm7.h **** \details Cleans and invalidates D_Cache for the given address
2515:Drivers/CMSIS/Include/core_cm7.h **** \param[in] addr address (aligned to 32-byte boundary)
2516:Drivers/CMSIS/Include/core_cm7.h **** \param[in] dsize size of memory block (in number of bytes)
2517:Drivers/CMSIS/Include/core_cm7.h **** */
2518:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE void SCB_CleanInvalidateDCache_by_Addr (uint32_t *addr, int32_t dsize)
2519:Drivers/CMSIS/Include/core_cm7.h **** {
2520:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U)
2521:Drivers/CMSIS/Include/core_cm7.h **** int32_t op_size = dsize;
2522:Drivers/CMSIS/Include/core_cm7.h **** uint32_t op_addr = (uint32_t) addr;
2523:Drivers/CMSIS/Include/core_cm7.h **** int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (
2524:Drivers/CMSIS/Include/core_cm7.h ****
2525:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2526:Drivers/CMSIS/Include/core_cm7.h ****
2527:Drivers/CMSIS/Include/core_cm7.h **** while (op_size > 0) {
2528:Drivers/CMSIS/Include/core_cm7.h **** SCB->DCCIMVAC = op_addr;
2529:Drivers/CMSIS/Include/core_cm7.h **** op_addr += (uint32_t)linesize;
2530:Drivers/CMSIS/Include/core_cm7.h **** op_size -= linesize;
2531:Drivers/CMSIS/Include/core_cm7.h **** }
2532:Drivers/CMSIS/Include/core_cm7.h ****
2533:Drivers/CMSIS/Include/core_cm7.h **** __DSB();
2534:Drivers/CMSIS/Include/core_cm7.h **** __ISB();
2535:Drivers/CMSIS/Include/core_cm7.h **** #endif
2536:Drivers/CMSIS/Include/core_cm7.h **** }
2537:Drivers/CMSIS/Include/core_cm7.h ****
2538:Drivers/CMSIS/Include/core_cm7.h ****
ARM GAS /tmp/ccY34ikP.s page 74
2539:Drivers/CMSIS/Include/core_cm7.h **** /*@} end of CMSIS_Core_CacheFunctions */
2540:Drivers/CMSIS/Include/core_cm7.h ****
2541:Drivers/CMSIS/Include/core_cm7.h ****
2542:Drivers/CMSIS/Include/core_cm7.h ****
2543:Drivers/CMSIS/Include/core_cm7.h **** /* ################################## SysTick function ########################################
2544:Drivers/CMSIS/Include/core_cm7.h **** /**
2545:Drivers/CMSIS/Include/core_cm7.h **** \ingroup CMSIS_Core_FunctionInterface
2546:Drivers/CMSIS/Include/core_cm7.h **** \defgroup CMSIS_Core_SysTickFunctions SysTick Functions
2547:Drivers/CMSIS/Include/core_cm7.h **** \brief Functions that configure the System.
2548:Drivers/CMSIS/Include/core_cm7.h **** @{
2549:Drivers/CMSIS/Include/core_cm7.h **** */
2550:Drivers/CMSIS/Include/core_cm7.h ****
2551:Drivers/CMSIS/Include/core_cm7.h **** #if defined (__Vendor_SysTickConfig) && (__Vendor_SysTickConfig == 0U)
2552:Drivers/CMSIS/Include/core_cm7.h ****
2553:Drivers/CMSIS/Include/core_cm7.h **** /**
2554:Drivers/CMSIS/Include/core_cm7.h **** \brief System Tick Configuration
2555:Drivers/CMSIS/Include/core_cm7.h **** \details Initializes the System Timer and its interrupt, and starts the System Tick Timer.
2556:Drivers/CMSIS/Include/core_cm7.h **** Counter is in free running mode to generate periodic interrupts.
2557:Drivers/CMSIS/Include/core_cm7.h **** \param [in] ticks Number of ticks between two interrupts.
2558:Drivers/CMSIS/Include/core_cm7.h **** \return 0 Function succeeded.
2559:Drivers/CMSIS/Include/core_cm7.h **** \return 1 Function failed.
2560:Drivers/CMSIS/Include/core_cm7.h **** \note When the variable <b>__Vendor_SysTickConfig</b> is set to 1, then the
2561:Drivers/CMSIS/Include/core_cm7.h **** function <b>SysTick_Config</b> is not included. In this case, the file <b><i>device</i>.
2562:Drivers/CMSIS/Include/core_cm7.h **** must contain a vendor-specific implementation of this function.
2563:Drivers/CMSIS/Include/core_cm7.h **** */
2564:Drivers/CMSIS/Include/core_cm7.h **** __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks)
476 .loc 2 2564 26 view .LVU123
477 .LBB83:
2565:Drivers/CMSIS/Include/core_cm7.h **** {
2566:Drivers/CMSIS/Include/core_cm7.h **** if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk)
478 .loc 2 2566 3 view .LVU124
479 .loc 2 2566 14 is_stmt 0 view .LVU125
480 0000 0138 subs r0, r0, #1
481 .LVL33:
482 .loc 2 2566 6 view .LVU126
483 0002 B0F1807F cmp r0, #16777216
484 0006 0BD2 bcs .L26
2567:Drivers/CMSIS/Include/core_cm7.h **** {
2568:Drivers/CMSIS/Include/core_cm7.h **** return (1UL); /* Reload value impossible */
2569:Drivers/CMSIS/Include/core_cm7.h **** }
2570:Drivers/CMSIS/Include/core_cm7.h ****
2571:Drivers/CMSIS/Include/core_cm7.h **** SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */
485 .loc 2 2571 3 is_stmt 1 view .LVU127
486 .loc 2 2571 18 is_stmt 0 view .LVU128
487 0008 4FF0E023 mov r3, #-536813568
488 000c 5861 str r0, [r3, #20]
2572:Drivers/CMSIS/Include/core_cm7.h **** NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Int
489 .loc 2 2572 3 is_stmt 1 view .LVU129
490 .LVL34:
491 .LBB84:
492 .LBI84:
2024:Drivers/CMSIS/Include/core_cm7.h **** {
493 .loc 2 2024 22 view .LVU130
494 .LBB85:
2026:Drivers/CMSIS/Include/core_cm7.h **** {
495 .loc 2 2026 3 view .LVU131
2032:Drivers/CMSIS/Include/core_cm7.h **** }
ARM GAS /tmp/ccY34ikP.s page 75
496 .loc 2 2032 5 view .LVU132
2032:Drivers/CMSIS/Include/core_cm7.h **** }
497 .loc 2 2032 47 is_stmt 0 view .LVU133
498 000e 054A ldr r2, .L27
499 0010 F021 movs r1, #240
500 0012 82F82310 strb r1, [r2, #35]
501 .LVL35:
2032:Drivers/CMSIS/Include/core_cm7.h **** }
502 .loc 2 2032 47 view .LVU134
503 .LBE85:
504 .LBE84:
2573:Drivers/CMSIS/Include/core_cm7.h **** SysTick->VAL = 0UL; /* Load the SysTick Counter Val
505 .loc 2 2573 3 is_stmt 1 view .LVU135
506 .loc 2 2573 18 is_stmt 0 view .LVU136
507 0016 0020 movs r0, #0
508 .LVL36:
509 .loc 2 2573 18 view .LVU137
510 0018 9861 str r0, [r3, #24]
2574:Drivers/CMSIS/Include/core_cm7.h **** SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk |
511 .loc 2 2574 3 is_stmt 1 view .LVU138
512 .loc 2 2574 18 is_stmt 0 view .LVU139
513 001a 0722 movs r2, #7
514 001c 1A61 str r2, [r3, #16]
2575:Drivers/CMSIS/Include/core_cm7.h **** SysTick_CTRL_TICKINT_Msk |
2576:Drivers/CMSIS/Include/core_cm7.h **** SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTi
2577:Drivers/CMSIS/Include/core_cm7.h **** return (0UL); /* Function successful */
515 .loc 2 2577 3 is_stmt 1 view .LVU140
516 .loc 2 2577 10 is_stmt 0 view .LVU141
517 001e 7047 bx lr
518 .L26:
2568:Drivers/CMSIS/Include/core_cm7.h **** }
519 .loc 2 2568 12 view .LVU142
520 0020 0120 movs r0, #1
521 .LVL37:
2568:Drivers/CMSIS/Include/core_cm7.h **** }
522 .loc 2 2568 12 view .LVU143
523 .LBE83:
524 .LBE82:
231:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
525 .loc 1 231 1 view .LVU144
526 0022 7047 bx lr
527 .L28:
528 .align 2
529 .L27:
530 0024 00ED00E0 .word -536810240
531 .cfi_endproc
532 .LFE146:
534 .section .text.HAL_MPU_Disable,"ax",%progbits
535 .align 1
536 .global HAL_MPU_Disable
537 .syntax unified
538 .thumb
539 .thumb_func
540 .fpu fpv5-d16
542 HAL_MPU_Disable:
543 .LFB147:
232:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
ARM GAS /tmp/ccY34ikP.s page 76
233:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @}
234:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
235:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
236:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /** @defgroup CORTEX_Exported_Functions_Group2 Peripheral Control functions
237:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Cortex control functions
238:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** *
239:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** @verbatim
240:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ==============================================================================
241:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ##### Peripheral Control functions #####
242:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ==============================================================================
243:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** [..]
244:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** This subsection provides a set of functions allowing to control the CORTEX
245:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** (NVIC, SYSTICK, MPU) functionalities.
246:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
247:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
248:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** @endverbatim
249:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @{
250:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
251:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
252:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** #if (__MPU_PRESENT == 1)
253:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
254:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Disables the MPU
255:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
256:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
257:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_MPU_Disable(void)
258:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
544 .loc 1 258 1 is_stmt 1 view -0
545 .cfi_startproc
546 @ args = 0, pretend = 0, frame = 0
547 @ frame_needed = 0, uses_anonymous_args = 0
548 @ link register save eliminated.
259:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Make sure outstanding transfers are done */
260:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** __DMB();
549 .loc 1 260 3 view .LVU146
550 .LBB86:
551 .LBI86:
880:Drivers/CMSIS/Include/cmsis_gcc.h **** }
881:Drivers/CMSIS/Include/cmsis_gcc.h ****
882:Drivers/CMSIS/Include/cmsis_gcc.h ****
883:Drivers/CMSIS/Include/cmsis_gcc.h **** /**
884:Drivers/CMSIS/Include/cmsis_gcc.h **** \brief Data Memory Barrier
885:Drivers/CMSIS/Include/cmsis_gcc.h **** \details Ensures the apparent order of the explicit memory operations before
886:Drivers/CMSIS/Include/cmsis_gcc.h **** and after the instruction, without ensuring their completion.
887:Drivers/CMSIS/Include/cmsis_gcc.h **** */
888:Drivers/CMSIS/Include/cmsis_gcc.h **** __STATIC_FORCEINLINE void __DMB(void)
552 .loc 3 888 27 view .LVU147
553 .LBB87:
889:Drivers/CMSIS/Include/cmsis_gcc.h **** {
890:Drivers/CMSIS/Include/cmsis_gcc.h **** __ASM volatile ("dmb 0xF":::"memory");
554 .loc 3 890 3 view .LVU148
555 .syntax unified
556 @ 890 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
557 0000 BFF35F8F dmb 0xF
558 @ 0 "" 2
559 .thumb
560 .syntax unified
561 .LBE87:
ARM GAS /tmp/ccY34ikP.s page 77
562 .LBE86:
261:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
262:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Disable fault exceptions */
263:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk;
563 .loc 1 263 3 view .LVU149
564 .loc 1 263 14 is_stmt 0 view .LVU150
565 0004 044B ldr r3, .L30
566 0006 5A6A ldr r2, [r3, #36]
567 0008 22F48032 bic r2, r2, #65536
568 000c 5A62 str r2, [r3, #36]
264:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
265:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Disable the MPU and clear the control register*/
266:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->CTRL = 0;
569 .loc 1 266 3 is_stmt 1 view .LVU151
570 .loc 1 266 13 is_stmt 0 view .LVU152
571 000e 0022 movs r2, #0
572 0010 C3F89420 str r2, [r3, #148]
267:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
573 .loc 1 267 1 view .LVU153
574 0014 7047 bx lr
575 .L31:
576 0016 00BF .align 2
577 .L30:
578 0018 00ED00E0 .word -536810240
579 .cfi_endproc
580 .LFE147:
582 .section .text.HAL_MPU_Enable,"ax",%progbits
583 .align 1
584 .global HAL_MPU_Enable
585 .syntax unified
586 .thumb
587 .thumb_func
588 .fpu fpv5-d16
590 HAL_MPU_Enable:
591 .LVL38:
592 .LFB148:
268:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
269:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
270:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Enables the MPU
271:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param MPU_Control Specifies the control mode of the MPU during hard fault,
272:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * NMI, FAULTMASK and privileged access to the default memory
273:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be one of the following values:
274:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg MPU_HFNMI_PRIVDEF_NONE
275:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg MPU_HARDFAULT_NMI
276:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg MPU_PRIVILEGED_DEFAULT
277:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg MPU_HFNMI_PRIVDEF
278:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
279:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
280:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_MPU_Enable(uint32_t MPU_Control)
281:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
593 .loc 1 281 1 is_stmt 1 view -0
594 .cfi_startproc
595 @ args = 0, pretend = 0, frame = 0
596 @ frame_needed = 0, uses_anonymous_args = 0
597 @ link register save eliminated.
282:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Enable the MPU */
283:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk;
ARM GAS /tmp/ccY34ikP.s page 78
598 .loc 1 283 3 view .LVU155
599 .loc 1 283 27 is_stmt 0 view .LVU156
600 0000 40F00100 orr r0, r0, #1
601 .LVL39:
602 .loc 1 283 13 view .LVU157
603 0004 054B ldr r3, .L33
604 0006 C3F89400 str r0, [r3, #148]
284:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
285:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Enable fault exceptions */
286:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk;
605 .loc 1 286 3 is_stmt 1 view .LVU158
606 .loc 1 286 14 is_stmt 0 view .LVU159
607 000a 5A6A ldr r2, [r3, #36]
608 000c 42F48032 orr r2, r2, #65536
609 0010 5A62 str r2, [r3, #36]
287:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
288:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Ensure MPU setting take effects */
289:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** __DSB();
610 .loc 1 289 3 is_stmt 1 view .LVU160
611 .LBB88:
612 .LBI88:
877:Drivers/CMSIS/Include/cmsis_gcc.h **** {
613 .loc 3 877 27 view .LVU161
614 .LBB89:
879:Drivers/CMSIS/Include/cmsis_gcc.h **** }
615 .loc 3 879 3 view .LVU162
616 .syntax unified
617 @ 879 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
618 0012 BFF34F8F dsb 0xF
619 @ 0 "" 2
620 .thumb
621 .syntax unified
622 .LBE89:
623 .LBE88:
290:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** __ISB();
624 .loc 1 290 3 view .LVU163
625 .LBB90:
626 .LBI90:
866:Drivers/CMSIS/Include/cmsis_gcc.h **** {
627 .loc 3 866 27 view .LVU164
628 .LBB91:
868:Drivers/CMSIS/Include/cmsis_gcc.h **** }
629 .loc 3 868 3 view .LVU165
630 .syntax unified
631 @ 868 "Drivers/CMSIS/Include/cmsis_gcc.h" 1
632 0016 BFF36F8F isb 0xF
633 @ 0 "" 2
634 .thumb
635 .syntax unified
636 .LBE91:
637 .LBE90:
291:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
638 .loc 1 291 1 is_stmt 0 view .LVU166
639 001a 7047 bx lr
640 .L34:
641 .align 2
642 .L33:
ARM GAS /tmp/ccY34ikP.s page 79
643 001c 00ED00E0 .word -536810240
644 .cfi_endproc
645 .LFE148:
647 .section .text.HAL_MPU_EnableRegion,"ax",%progbits
648 .align 1
649 .global HAL_MPU_EnableRegion
650 .syntax unified
651 .thumb
652 .thumb_func
653 .fpu fpv5-d16
655 HAL_MPU_EnableRegion:
656 .LVL40:
657 .LFB149:
292:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
293:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
294:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Enables the MPU Region.
295:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
296:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
297:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_MPU_EnableRegion(uint32_t RegionNumber)
298:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
658 .loc 1 298 1 is_stmt 1 view -0
659 .cfi_startproc
660 @ args = 0, pretend = 0, frame = 0
661 @ frame_needed = 0, uses_anonymous_args = 0
662 @ link register save eliminated.
299:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
300:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_REGION_NUMBER(RegionNumber));
663 .loc 1 300 3 view .LVU168
301:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
302:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Set the Region number */
303:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->RNR = RegionNumber;
664 .loc 1 303 3 view .LVU169
665 .loc 1 303 12 is_stmt 0 view .LVU170
666 0000 044B ldr r3, .L36
667 0002 C3F89800 str r0, [r3, #152]
304:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
305:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Enable the Region */
306:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** SET_BIT(MPU->RASR, MPU_RASR_ENABLE_Msk);
668 .loc 1 306 3 is_stmt 1 view .LVU171
669 0006 D3F8A020 ldr r2, [r3, #160]
670 000a 42F00102 orr r2, r2, #1
671 000e C3F8A020 str r2, [r3, #160]
307:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
672 .loc 1 307 1 is_stmt 0 view .LVU172
673 0012 7047 bx lr
674 .L37:
675 .align 2
676 .L36:
677 0014 00ED00E0 .word -536810240
678 .cfi_endproc
679 .LFE149:
681 .section .text.HAL_MPU_DisableRegion,"ax",%progbits
682 .align 1
683 .global HAL_MPU_DisableRegion
684 .syntax unified
685 .thumb
686 .thumb_func
ARM GAS /tmp/ccY34ikP.s page 80
687 .fpu fpv5-d16
689 HAL_MPU_DisableRegion:
690 .LVL41:
691 .LFB150:
308:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
309:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
310:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Disables the MPU Region.
311:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
312:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
313:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_MPU_DisableRegion(uint32_t RegionNumber)
314:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
692 .loc 1 314 1 is_stmt 1 view -0
693 .cfi_startproc
694 @ args = 0, pretend = 0, frame = 0
695 @ frame_needed = 0, uses_anonymous_args = 0
696 @ link register save eliminated.
315:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
316:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_REGION_NUMBER(RegionNumber));
697 .loc 1 316 3 view .LVU174
317:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
318:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Set the Region number */
319:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->RNR = RegionNumber;
698 .loc 1 319 3 view .LVU175
699 .loc 1 319 12 is_stmt 0 view .LVU176
700 0000 044B ldr r3, .L39
701 0002 C3F89800 str r0, [r3, #152]
320:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
321:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Disable the Region */
322:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** CLEAR_BIT(MPU->RASR, MPU_RASR_ENABLE_Msk);
702 .loc 1 322 3 is_stmt 1 view .LVU177
703 0006 D3F8A020 ldr r2, [r3, #160]
704 000a 22F00102 bic r2, r2, #1
705 000e C3F8A020 str r2, [r3, #160]
323:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
706 .loc 1 323 1 is_stmt 0 view .LVU178
707 0012 7047 bx lr
708 .L40:
709 .align 2
710 .L39:
711 0014 00ED00E0 .word -536810240
712 .cfi_endproc
713 .LFE150:
715 .section .text.HAL_MPU_ConfigRegion,"ax",%progbits
716 .align 1
717 .global HAL_MPU_ConfigRegion
718 .syntax unified
719 .thumb
720 .thumb_func
721 .fpu fpv5-d16
723 HAL_MPU_ConfigRegion:
724 .LVL42:
725 .LFB151:
324:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
325:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
326:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Initializes and configures the Region and the memory to be protected.
327:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param MPU_Init Pointer to a MPU_Region_InitTypeDef structure that contains
328:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * the initialization and configuration information.
ARM GAS /tmp/ccY34ikP.s page 81
329:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
330:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
331:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init)
332:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
726 .loc 1 332 1 is_stmt 1 view -0
727 .cfi_startproc
728 @ args = 0, pretend = 0, frame = 0
729 @ frame_needed = 0, uses_anonymous_args = 0
730 @ link register save eliminated.
333:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
334:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_REGION_NUMBER(MPU_Init->Number));
731 .loc 1 334 3 view .LVU180
335:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_REGION_ENABLE(MPU_Init->Enable));
732 .loc 1 335 3 view .LVU181
336:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_INSTRUCTION_ACCESS(MPU_Init->DisableExec));
733 .loc 1 336 3 view .LVU182
337:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_REGION_PERMISSION_ATTRIBUTE(MPU_Init->AccessPermission));
734 .loc 1 337 3 view .LVU183
338:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_TEX_LEVEL(MPU_Init->TypeExtField));
735 .loc 1 338 3 view .LVU184
339:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_ACCESS_SHAREABLE(MPU_Init->IsShareable));
736 .loc 1 339 3 view .LVU185
340:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_ACCESS_CACHEABLE(MPU_Init->IsCacheable));
737 .loc 1 340 3 view .LVU186
341:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_ACCESS_BUFFERABLE(MPU_Init->IsBufferable));
738 .loc 1 341 3 view .LVU187
342:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_SUB_REGION_DISABLE(MPU_Init->SubRegionDisable));
739 .loc 1 342 3 view .LVU188
343:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_MPU_REGION_SIZE(MPU_Init->Size));
740 .loc 1 343 3 view .LVU189
344:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
345:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Set the Region number */
346:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->RNR = MPU_Init->Number;
741 .loc 1 346 3 view .LVU190
742 .loc 1 346 22 is_stmt 0 view .LVU191
743 0000 4378 ldrb r3, [r0, #1] @ zero_extendqisi2
744 .loc 1 346 12 view .LVU192
745 0002 144A ldr r2, .L42
746 0004 C2F89830 str r3, [r2, #152]
347:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
348:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Disable the Region */
349:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** CLEAR_BIT(MPU->RASR, MPU_RASR_ENABLE_Msk);
747 .loc 1 349 3 is_stmt 1 view .LVU193
748 0008 D2F8A030 ldr r3, [r2, #160]
749 000c 23F00103 bic r3, r3, #1
750 0010 C2F8A030 str r3, [r2, #160]
350:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
351:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Apply configuration */
352:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->RBAR = MPU_Init->BaseAddress;
751 .loc 1 352 3 view .LVU194
752 .loc 1 352 23 is_stmt 0 view .LVU195
753 0014 4368 ldr r3, [r0, #4]
754 .loc 1 352 13 view .LVU196
755 0016 C2F89C30 str r3, [r2, #156]
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) |
756 .loc 1 353 3 is_stmt 1 view .LVU197
757 .loc 1 353 34 is_stmt 0 view .LVU198
ARM GAS /tmp/ccY34ikP.s page 82
758 001a 017B ldrb r1, [r0, #12] @ zero_extendqisi2
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) |
759 .loc 1 354 34 view .LVU199
760 001c C37A ldrb r3, [r0, #11] @ zero_extendqisi2
761 .loc 1 354 60 view .LVU200
762 001e 1B06 lsls r3, r3, #24
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) |
763 .loc 1 353 82 view .LVU201
764 0020 43EA0173 orr r3, r3, r1, lsl #28
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) |
765 .loc 1 355 34 view .LVU202
766 0024 817A ldrb r1, [r0, #10] @ zero_extendqisi2
354:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) |
767 .loc 1 354 82 view .LVU203
768 0026 43EAC143 orr r3, r3, r1, lsl #19
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) |
769 .loc 1 356 34 view .LVU204
770 002a 417B ldrb r1, [r0, #13] @ zero_extendqisi2
355:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) |
771 .loc 1 355 82 view .LVU205
772 002c 43EA8143 orr r3, r3, r1, lsl #18
357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) |
773 .loc 1 357 34 view .LVU206
774 0030 817B ldrb r1, [r0, #14] @ zero_extendqisi2
356:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) |
775 .loc 1 356 82 view .LVU207
776 0032 43EA4143 orr r3, r3, r1, lsl #17
358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) |
777 .loc 1 358 34 view .LVU208
778 0036 C17B ldrb r1, [r0, #15] @ zero_extendqisi2
357:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) |
779 .loc 1 357 82 view .LVU209
780 0038 43EA0143 orr r3, r3, r1, lsl #16
359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) |
781 .loc 1 359 34 view .LVU210
782 003c 417A ldrb r1, [r0, #9] @ zero_extendqisi2
358:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) |
783 .loc 1 358 82 view .LVU211
784 003e 43EA0123 orr r3, r3, r1, lsl #8
360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) |
785 .loc 1 360 34 view .LVU212
786 0042 017A ldrb r1, [r0, #8] @ zero_extendqisi2
359:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) |
787 .loc 1 359 82 view .LVU213
788 0044 43EA4103 orr r3, r3, r1, lsl #1
361:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos);
789 .loc 1 361 34 view .LVU214
790 0048 0178 ldrb r1, [r0] @ zero_extendqisi2
360:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) |
791 .loc 1 360 82 view .LVU215
792 004a 0B43 orrs r3, r3, r1
353:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) |
793 .loc 1 353 13 view .LVU216
794 004c C2F8A030 str r3, [r2, #160]
362:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
795 .loc 1 362 1 view .LVU217
796 0050 7047 bx lr
ARM GAS /tmp/ccY34ikP.s page 83
797 .L43:
798 0052 00BF .align 2
799 .L42:
800 0054 00ED00E0 .word -536810240
801 .cfi_endproc
802 .LFE151:
804 .section .text.HAL_NVIC_GetPriorityGrouping,"ax",%progbits
805 .align 1
806 .global HAL_NVIC_GetPriorityGrouping
807 .syntax unified
808 .thumb
809 .thumb_func
810 .fpu fpv5-d16
812 HAL_NVIC_GetPriorityGrouping:
813 .LFB152:
363:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** #endif /* __MPU_PRESENT */
364:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
365:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
366:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Gets the priority grouping field from the NVIC Interrupt Controller.
367:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval Priority grouping field (SCB->AIRCR [10:8] PRIGROUP field)
368:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
369:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** uint32_t HAL_NVIC_GetPriorityGrouping(void)
370:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
814 .loc 1 370 1 is_stmt 1 view -0
815 .cfi_startproc
816 @ args = 0, pretend = 0, frame = 0
817 @ frame_needed = 0, uses_anonymous_args = 0
818 @ link register save eliminated.
371:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Get the PRIGROUP[10:8] field value */
372:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** return NVIC_GetPriorityGrouping();
819 .loc 1 372 3 view .LVU219
820 .LBB92:
821 .LBI92:
1884:Drivers/CMSIS/Include/core_cm7.h **** {
822 .loc 2 1884 26 view .LVU220
823 .LBB93:
1886:Drivers/CMSIS/Include/core_cm7.h **** }
824 .loc 2 1886 3 view .LVU221
1886:Drivers/CMSIS/Include/core_cm7.h **** }
825 .loc 2 1886 26 is_stmt 0 view .LVU222
826 0000 024B ldr r3, .L45
827 0002 D868 ldr r0, [r3, #12]
828 .LBE93:
829 .LBE92:
373:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
830 .loc 1 373 1 view .LVU223
831 0004 C0F30220 ubfx r0, r0, #8, #3
832 0008 7047 bx lr
833 .L46:
834 000a 00BF .align 2
835 .L45:
836 000c 00ED00E0 .word -536810240
837 .cfi_endproc
838 .LFE152:
840 .section .text.HAL_NVIC_GetPriority,"ax",%progbits
841 .align 1
842 .global HAL_NVIC_GetPriority
ARM GAS /tmp/ccY34ikP.s page 84
843 .syntax unified
844 .thumb
845 .thumb_func
846 .fpu fpv5-d16
848 HAL_NVIC_GetPriority:
849 .LVL43:
850 .LFB153:
374:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
375:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
376:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Gets the priority of an interrupt.
377:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number.
378:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
379:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
380:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param PriorityGroup the priority grouping bits length.
381:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be one of the following values:
382:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_0: 0 bits for preemption priority
383:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 4 bits for subpriority
384:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_1: 1 bits for preemption priority
385:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 3 bits for subpriority
386:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_2: 2 bits for preemption priority
387:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 2 bits for subpriority
388:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_3: 3 bits for preemption priority
389:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 1 bits for subpriority
390:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg NVIC_PRIORITYGROUP_4: 4 bits for preemption priority
391:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * 0 bits for subpriority
392:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param pPreemptPriority Pointer on the Preemptive priority value (starting from 0).
393:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param pSubPriority Pointer on the Subpriority value (starting from 0).
394:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
395:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
396:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_GetPriority(IRQn_Type IRQn, uint32_t PriorityGroup, uint32_t *pPreemptPriority, uint3
397:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
851 .loc 1 397 1 is_stmt 1 view -0
852 .cfi_startproc
853 @ args = 0, pretend = 0, frame = 0
854 @ frame_needed = 0, uses_anonymous_args = 0
855 .loc 1 397 1 is_stmt 0 view .LVU225
856 0000 10B5 push {r4, lr}
857 .LCFI1:
858 .cfi_def_cfa_offset 8
859 .cfi_offset 4, -8
860 .cfi_offset 14, -4
398:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
399:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup));
861 .loc 1 399 3 is_stmt 1 view .LVU226
400:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Get priority for Cortex-M system or device specific interrupts */
401:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_DecodePriority(NVIC_GetPriority(IRQn), PriorityGroup, pPreemptPriority, pSubPriority);
862 .loc 1 401 3 view .LVU227
863 .LVL44:
864 .LBB98:
865 .LBI98:
2046:Drivers/CMSIS/Include/core_cm7.h **** {
866 .loc 2 2046 26 view .LVU228
867 .LBB99:
2049:Drivers/CMSIS/Include/core_cm7.h **** {
868 .loc 2 2049 3 view .LVU229
2049:Drivers/CMSIS/Include/core_cm7.h **** {
869 .loc 2 2049 6 is_stmt 0 view .LVU230
ARM GAS /tmp/ccY34ikP.s page 85
870 0002 0028 cmp r0, #0
871 .LVL45:
2049:Drivers/CMSIS/Include/core_cm7.h **** {
872 .loc 2 2049 6 view .LVU231
873 0004 1EDB blt .L48
2051:Drivers/CMSIS/Include/core_cm7.h **** }
874 .loc 2 2051 5 is_stmt 1 view .LVU232
2051:Drivers/CMSIS/Include/core_cm7.h **** }
875 .loc 2 2051 31 is_stmt 0 view .LVU233
876 0006 134C ldr r4, .L53
877 0008 205C ldrb r0, [r4, r0] @ zero_extendqisi2
2051:Drivers/CMSIS/Include/core_cm7.h **** }
878 .loc 2 2051 65 view .LVU234
879 000a 0009 lsrs r0, r0, #4
880 .L49:
881 .LVL46:
2051:Drivers/CMSIS/Include/core_cm7.h **** }
882 .loc 2 2051 65 view .LVU235
883 .LBE99:
884 .LBE98:
885 .LBB101:
886 .LBI101:
2098:Drivers/CMSIS/Include/core_cm7.h **** {
887 .loc 2 2098 22 is_stmt 1 view .LVU236
888 .LBB102:
2100:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PreemptPriorityBits;
889 .loc 2 2100 3 view .LVU237
2100:Drivers/CMSIS/Include/core_cm7.h **** uint32_t PreemptPriorityBits;
890 .loc 2 2100 12 is_stmt 0 view .LVU238
891 000c 01F00701 and r1, r1, #7
892 .LVL47:
2101:Drivers/CMSIS/Include/core_cm7.h **** uint32_t SubPriorityBits;
893 .loc 2 2101 3 is_stmt 1 view .LVU239
2102:Drivers/CMSIS/Include/core_cm7.h ****
894 .loc 2 2102 3 view .LVU240
2104:Drivers/CMSIS/Include/core_cm7.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
895 .loc 2 2104 3 view .LVU241
2104:Drivers/CMSIS/Include/core_cm7.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
896 .loc 2 2104 31 is_stmt 0 view .LVU242
897 0010 C1F1070C rsb ip, r1, #7
2104:Drivers/CMSIS/Include/core_cm7.h **** SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint
898 .loc 2 2104 23 view .LVU243
899 0014 BCF1040F cmp ip, #4
900 0018 28BF it cs
901 001a 4FF0040C movcs ip, #4
902 .LVL48:
2105:Drivers/CMSIS/Include/core_cm7.h ****
903 .loc 2 2105 3 is_stmt 1 view .LVU244
2105:Drivers/CMSIS/Include/core_cm7.h ****
904 .loc 2 2105 44 is_stmt 0 view .LVU245
905 001e 0C1D adds r4, r1, #4
2105:Drivers/CMSIS/Include/core_cm7.h ****
906 .loc 2 2105 109 view .LVU246
907 0020 062C cmp r4, #6
908 0022 15D9 bls .L51
909 0024 0339 subs r1, r1, #3
910 .LVL49:
ARM GAS /tmp/ccY34ikP.s page 86
911 .L50:
2107:Drivers/CMSIS/Include/core_cm7.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
912 .loc 2 2107 3 is_stmt 1 view .LVU247
2107:Drivers/CMSIS/Include/core_cm7.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
913 .loc 2 2107 33 is_stmt 0 view .LVU248
914 0026 20FA01F4 lsr r4, r0, r1
915 .LVL50:
2107:Drivers/CMSIS/Include/core_cm7.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
916 .loc 2 2107 53 view .LVU249
917 002a 4FF0FF3E mov lr, #-1
918 002e 0EFA0CFC lsl ip, lr, ip
919 .LVL51:
2107:Drivers/CMSIS/Include/core_cm7.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
920 .loc 2 2107 53 view .LVU250
921 0032 24EA0C04 bic r4, r4, ip
2107:Drivers/CMSIS/Include/core_cm7.h **** *pSubPriority = (Priority ) & (uint32_t)((1UL << (SubPriorityBits )) - 1
922 .loc 2 2107 21 view .LVU251
923 0036 1460 str r4, [r2]
2108:Drivers/CMSIS/Include/core_cm7.h **** }
924 .loc 2 2108 3 is_stmt 1 view .LVU252
2108:Drivers/CMSIS/Include/core_cm7.h **** }
925 .loc 2 2108 53 is_stmt 0 view .LVU253
926 0038 0EFA01F1 lsl r1, lr, r1
927 .LVL52:
2108:Drivers/CMSIS/Include/core_cm7.h **** }
928 .loc 2 2108 53 view .LVU254
929 003c 20EA0100 bic r0, r0, r1
930 .LVL53:
2108:Drivers/CMSIS/Include/core_cm7.h **** }
931 .loc 2 2108 21 view .LVU255
932 0040 1860 str r0, [r3]
933 .LVL54:
2108:Drivers/CMSIS/Include/core_cm7.h **** }
934 .loc 2 2108 21 view .LVU256
935 .LBE102:
936 .LBE101:
402:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
937 .loc 1 402 1 view .LVU257
938 0042 10BD pop {r4, pc}
939 .LVL55:
940 .L48:
941 .LBB104:
942 .LBB100:
2055:Drivers/CMSIS/Include/core_cm7.h **** }
943 .loc 2 2055 5 is_stmt 1 view .LVU258
2055:Drivers/CMSIS/Include/core_cm7.h **** }
944 .loc 2 2055 51 is_stmt 0 view .LVU259
945 0044 00F00F00 and r0, r0, #15
2055:Drivers/CMSIS/Include/core_cm7.h **** }
946 .loc 2 2055 32 view .LVU260
947 0048 034C ldr r4, .L53+4
948 004a 205C ldrb r0, [r4, r0] @ zero_extendqisi2
2055:Drivers/CMSIS/Include/core_cm7.h **** }
949 .loc 2 2055 65 view .LVU261
950 004c 0009 lsrs r0, r0, #4
951 004e DDE7 b .L49
952 .LVL56:
ARM GAS /tmp/ccY34ikP.s page 87
953 .L51:
2055:Drivers/CMSIS/Include/core_cm7.h **** }
954 .loc 2 2055 65 view .LVU262
955 .LBE100:
956 .LBE104:
957 .LBB105:
958 .LBB103:
2105:Drivers/CMSIS/Include/core_cm7.h ****
959 .loc 2 2105 109 view .LVU263
960 0050 0021 movs r1, #0
961 .LVL57:
2105:Drivers/CMSIS/Include/core_cm7.h ****
962 .loc 2 2105 109 view .LVU264
963 0052 E8E7 b .L50
964 .L54:
965 .align 2
966 .L53:
967 0054 00E400E0 .word -536812544
968 0058 14ED00E0 .word -536810220
969 .LBE103:
970 .LBE105:
971 .cfi_endproc
972 .LFE153:
974 .section .text.HAL_NVIC_SetPendingIRQ,"ax",%progbits
975 .align 1
976 .global HAL_NVIC_SetPendingIRQ
977 .syntax unified
978 .thumb
979 .thumb_func
980 .fpu fpv5-d16
982 HAL_NVIC_SetPendingIRQ:
983 .LVL58:
984 .LFB154:
403:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
404:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
405:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Sets Pending bit of an external interrupt.
406:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number
407:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
408:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
409:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
410:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
411:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_SetPendingIRQ(IRQn_Type IRQn)
412:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
985 .loc 1 412 1 is_stmt 1 view -0
986 .cfi_startproc
987 @ args = 0, pretend = 0, frame = 0
988 @ frame_needed = 0, uses_anonymous_args = 0
989 @ link register save eliminated.
413:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
414:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
990 .loc 1 414 3 view .LVU266
415:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
416:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Set interrupt pending */
417:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_SetPendingIRQ(IRQn);
991 .loc 1 417 3 view .LVU267
992 .LBB106:
993 .LBI106:
ARM GAS /tmp/ccY34ikP.s page 88
1970:Drivers/CMSIS/Include/core_cm7.h **** {
994 .loc 2 1970 22 view .LVU268
995 .LBB107:
1972:Drivers/CMSIS/Include/core_cm7.h **** {
996 .loc 2 1972 3 view .LVU269
1972:Drivers/CMSIS/Include/core_cm7.h **** {
997 .loc 2 1972 6 is_stmt 0 view .LVU270
998 0000 0028 cmp r0, #0
999 .LVL59:
1972:Drivers/CMSIS/Include/core_cm7.h **** {
1000 .loc 2 1972 6 view .LVU271
1001 0002 08DB blt .L55
1974:Drivers/CMSIS/Include/core_cm7.h **** }
1002 .loc 2 1974 5 is_stmt 1 view .LVU272
1974:Drivers/CMSIS/Include/core_cm7.h **** }
1003 .loc 2 1974 81 is_stmt 0 view .LVU273
1004 0004 00F01F02 and r2, r0, #31
1974:Drivers/CMSIS/Include/core_cm7.h **** }
1005 .loc 2 1974 34 view .LVU274
1006 0008 4009 lsrs r0, r0, #5
1974:Drivers/CMSIS/Include/core_cm7.h **** }
1007 .loc 2 1974 45 view .LVU275
1008 000a 0123 movs r3, #1
1009 000c 9340 lsls r3, r3, r2
1974:Drivers/CMSIS/Include/core_cm7.h **** }
1010 .loc 2 1974 43 view .LVU276
1011 000e 4030 adds r0, r0, #64
1012 0010 014A ldr r2, .L57
1013 0012 42F82030 str r3, [r2, r0, lsl #2]
1014 .LVL60:
1015 .L55:
1974:Drivers/CMSIS/Include/core_cm7.h **** }
1016 .loc 2 1974 43 view .LVU277
1017 .LBE107:
1018 .LBE106:
418:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1019 .loc 1 418 1 view .LVU278
1020 0016 7047 bx lr
1021 .L58:
1022 .align 2
1023 .L57:
1024 0018 00E100E0 .word -536813312
1025 .cfi_endproc
1026 .LFE154:
1028 .section .text.HAL_NVIC_GetPendingIRQ,"ax",%progbits
1029 .align 1
1030 .global HAL_NVIC_GetPendingIRQ
1031 .syntax unified
1032 .thumb
1033 .thumb_func
1034 .fpu fpv5-d16
1036 HAL_NVIC_GetPendingIRQ:
1037 .LVL61:
1038 .LFB155:
419:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
420:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
421:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Gets Pending Interrupt (reads the pending register in the NVIC
ARM GAS /tmp/ccY34ikP.s page 89
422:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * and returns the pending bit for the specified interrupt).
423:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number.
424:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
425:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
426:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval status: - 0 Interrupt status is not pending.
427:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * - 1 Interrupt status is pending.
428:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
429:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** uint32_t HAL_NVIC_GetPendingIRQ(IRQn_Type IRQn)
430:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
1039 .loc 1 430 1 is_stmt 1 view -0
1040 .cfi_startproc
1041 @ args = 0, pretend = 0, frame = 0
1042 @ frame_needed = 0, uses_anonymous_args = 0
1043 @ link register save eliminated.
431:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
432:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
1044 .loc 1 432 3 view .LVU280
433:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
434:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Return 1 if pending else 0 */
435:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** return NVIC_GetPendingIRQ(IRQn);
1045 .loc 1 435 3 view .LVU281
1046 .LBB108:
1047 .LBI108:
1951:Drivers/CMSIS/Include/core_cm7.h **** {
1048 .loc 2 1951 26 view .LVU282
1049 .LBB109:
1953:Drivers/CMSIS/Include/core_cm7.h **** {
1050 .loc 2 1953 3 view .LVU283
1953:Drivers/CMSIS/Include/core_cm7.h **** {
1051 .loc 2 1953 6 is_stmt 0 view .LVU284
1052 0000 0028 cmp r0, #0
1053 .LVL62:
1953:Drivers/CMSIS/Include/core_cm7.h **** {
1054 .loc 2 1953 6 view .LVU285
1055 0002 0BDB blt .L61
1955:Drivers/CMSIS/Include/core_cm7.h **** }
1056 .loc 2 1955 5 is_stmt 1 view .LVU286
1955:Drivers/CMSIS/Include/core_cm7.h **** }
1057 .loc 2 1955 54 is_stmt 0 view .LVU287
1058 0004 4309 lsrs r3, r0, #5
1955:Drivers/CMSIS/Include/core_cm7.h **** }
1059 .loc 2 1955 35 view .LVU288
1060 0006 4033 adds r3, r3, #64
1061 0008 054A ldr r2, .L62
1062 000a 52F82330 ldr r3, [r2, r3, lsl #2]
1955:Drivers/CMSIS/Include/core_cm7.h **** }
1063 .loc 2 1955 91 view .LVU289
1064 000e 00F01F00 and r0, r0, #31
1955:Drivers/CMSIS/Include/core_cm7.h **** }
1065 .loc 2 1955 103 view .LVU290
1066 0012 23FA00F0 lsr r0, r3, r0
1955:Drivers/CMSIS/Include/core_cm7.h **** }
1067 .loc 2 1955 12 view .LVU291
1068 0016 00F00100 and r0, r0, #1
1069 001a 7047 bx lr
1070 .L61:
1959:Drivers/CMSIS/Include/core_cm7.h **** }
ARM GAS /tmp/ccY34ikP.s page 90
1071 .loc 2 1959 11 view .LVU292
1072 001c 0020 movs r0, #0
1073 .LVL63:
1959:Drivers/CMSIS/Include/core_cm7.h **** }
1074 .loc 2 1959 11 view .LVU293
1075 .LBE109:
1076 .LBE108:
436:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1077 .loc 1 436 1 view .LVU294
1078 001e 7047 bx lr
1079 .L63:
1080 .align 2
1081 .L62:
1082 0020 00E100E0 .word -536813312
1083 .cfi_endproc
1084 .LFE155:
1086 .section .text.HAL_NVIC_ClearPendingIRQ,"ax",%progbits
1087 .align 1
1088 .global HAL_NVIC_ClearPendingIRQ
1089 .syntax unified
1090 .thumb
1091 .thumb_func
1092 .fpu fpv5-d16
1094 HAL_NVIC_ClearPendingIRQ:
1095 .LVL64:
1096 .LFB156:
437:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
438:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
439:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Clears the pending bit of an external interrupt.
440:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number.
441:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
442:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
443:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
444:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
445:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_NVIC_ClearPendingIRQ(IRQn_Type IRQn)
446:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
1097 .loc 1 446 1 is_stmt 1 view -0
1098 .cfi_startproc
1099 @ args = 0, pretend = 0, frame = 0
1100 @ frame_needed = 0, uses_anonymous_args = 0
1101 @ link register save eliminated.
447:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
448:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
1102 .loc 1 448 3 view .LVU296
449:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
450:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Clear pending interrupt */
451:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** NVIC_ClearPendingIRQ(IRQn);
1103 .loc 1 451 3 view .LVU297
1104 .LBB110:
1105 .LBI110:
1985:Drivers/CMSIS/Include/core_cm7.h **** {
1106 .loc 2 1985 22 view .LVU298
1107 .LBB111:
1987:Drivers/CMSIS/Include/core_cm7.h **** {
1108 .loc 2 1987 3 view .LVU299
1987:Drivers/CMSIS/Include/core_cm7.h **** {
1109 .loc 2 1987 6 is_stmt 0 view .LVU300
ARM GAS /tmp/ccY34ikP.s page 91
1110 0000 0028 cmp r0, #0
1111 .LVL65:
1987:Drivers/CMSIS/Include/core_cm7.h **** {
1112 .loc 2 1987 6 view .LVU301
1113 0002 08DB blt .L64
1989:Drivers/CMSIS/Include/core_cm7.h **** }
1114 .loc 2 1989 5 is_stmt 1 view .LVU302
1989:Drivers/CMSIS/Include/core_cm7.h **** }
1115 .loc 2 1989 81 is_stmt 0 view .LVU303
1116 0004 00F01F02 and r2, r0, #31
1989:Drivers/CMSIS/Include/core_cm7.h **** }
1117 .loc 2 1989 34 view .LVU304
1118 0008 4009 lsrs r0, r0, #5
1989:Drivers/CMSIS/Include/core_cm7.h **** }
1119 .loc 2 1989 45 view .LVU305
1120 000a 0123 movs r3, #1
1121 000c 9340 lsls r3, r3, r2
1989:Drivers/CMSIS/Include/core_cm7.h **** }
1122 .loc 2 1989 43 view .LVU306
1123 000e 6030 adds r0, r0, #96
1124 0010 014A ldr r2, .L66
1125 0012 42F82030 str r3, [r2, r0, lsl #2]
1126 .LVL66:
1127 .L64:
1989:Drivers/CMSIS/Include/core_cm7.h **** }
1128 .loc 2 1989 43 view .LVU307
1129 .LBE111:
1130 .LBE110:
452:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1131 .loc 1 452 1 view .LVU308
1132 0016 7047 bx lr
1133 .L67:
1134 .align 2
1135 .L66:
1136 0018 00E100E0 .word -536813312
1137 .cfi_endproc
1138 .LFE156:
1140 .section .text.HAL_NVIC_GetActive,"ax",%progbits
1141 .align 1
1142 .global HAL_NVIC_GetActive
1143 .syntax unified
1144 .thumb
1145 .thumb_func
1146 .fpu fpv5-d16
1148 HAL_NVIC_GetActive:
1149 .LVL67:
1150 .LFB157:
453:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
454:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
455:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Gets active interrupt ( reads the active register in NVIC and returns the active bit).
456:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param IRQn External interrupt number
457:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be an enumerator of IRQn_Type enumeration
458:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSI
459:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval status: - 0 Interrupt status is not pending.
460:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * - 1 Interrupt status is pending.
461:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
462:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** uint32_t HAL_NVIC_GetActive(IRQn_Type IRQn)
ARM GAS /tmp/ccY34ikP.s page 92
463:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
1151 .loc 1 463 1 is_stmt 1 view -0
1152 .cfi_startproc
1153 @ args = 0, pretend = 0, frame = 0
1154 @ frame_needed = 0, uses_anonymous_args = 0
1155 @ link register save eliminated.
464:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
465:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_NVIC_DEVICE_IRQ(IRQn));
1156 .loc 1 465 3 view .LVU310
466:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
467:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Return 1 if active else 0 */
468:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** return NVIC_GetActive(IRQn);
1157 .loc 1 468 3 view .LVU311
1158 .LBB112:
1159 .LBI112:
2002:Drivers/CMSIS/Include/core_cm7.h **** {
1160 .loc 2 2002 26 view .LVU312
1161 .LBB113:
2004:Drivers/CMSIS/Include/core_cm7.h **** {
1162 .loc 2 2004 3 view .LVU313
2004:Drivers/CMSIS/Include/core_cm7.h **** {
1163 .loc 2 2004 6 is_stmt 0 view .LVU314
1164 0000 0028 cmp r0, #0
1165 .LVL68:
2004:Drivers/CMSIS/Include/core_cm7.h **** {
1166 .loc 2 2004 6 view .LVU315
1167 0002 0BDB blt .L70
2006:Drivers/CMSIS/Include/core_cm7.h **** }
1168 .loc 2 2006 5 is_stmt 1 view .LVU316
2006:Drivers/CMSIS/Include/core_cm7.h **** }
1169 .loc 2 2006 54 is_stmt 0 view .LVU317
1170 0004 4309 lsrs r3, r0, #5
2006:Drivers/CMSIS/Include/core_cm7.h **** }
1171 .loc 2 2006 35 view .LVU318
1172 0006 8033 adds r3, r3, #128
1173 0008 054A ldr r2, .L71
1174 000a 52F82330 ldr r3, [r2, r3, lsl #2]
2006:Drivers/CMSIS/Include/core_cm7.h **** }
1175 .loc 2 2006 91 view .LVU319
1176 000e 00F01F00 and r0, r0, #31
2006:Drivers/CMSIS/Include/core_cm7.h **** }
1177 .loc 2 2006 103 view .LVU320
1178 0012 23FA00F0 lsr r0, r3, r0
2006:Drivers/CMSIS/Include/core_cm7.h **** }
1179 .loc 2 2006 12 view .LVU321
1180 0016 00F00100 and r0, r0, #1
1181 001a 7047 bx lr
1182 .L70:
2010:Drivers/CMSIS/Include/core_cm7.h **** }
1183 .loc 2 2010 11 view .LVU322
1184 001c 0020 movs r0, #0
1185 .LVL69:
2010:Drivers/CMSIS/Include/core_cm7.h **** }
1186 .loc 2 2010 11 view .LVU323
1187 .LBE113:
1188 .LBE112:
469:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
ARM GAS /tmp/ccY34ikP.s page 93
1189 .loc 1 469 1 view .LVU324
1190 001e 7047 bx lr
1191 .L72:
1192 .align 2
1193 .L71:
1194 0020 00E100E0 .word -536813312
1195 .cfi_endproc
1196 .LFE157:
1198 .section .text.HAL_SYSTICK_CLKSourceConfig,"ax",%progbits
1199 .align 1
1200 .global HAL_SYSTICK_CLKSourceConfig
1201 .syntax unified
1202 .thumb
1203 .thumb_func
1204 .fpu fpv5-d16
1206 HAL_SYSTICK_CLKSourceConfig:
1207 .LVL70:
1208 .LFB158:
470:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
471:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
472:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief Configures the SysTick clock source.
473:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @param CLKSource specifies the SysTick clock source.
474:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * This parameter can be one of the following values:
475:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg SYSTICK_CLKSOURCE_HCLK_DIV8: AHB clock divided by 8 selected as SysTick clock
476:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @arg SYSTICK_CLKSOURCE_HCLK: AHB clock selected as SysTick clock source.
477:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
478:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
479:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_SYSTICK_CLKSourceConfig(uint32_t CLKSource)
480:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
1209 .loc 1 480 1 is_stmt 1 view -0
1210 .cfi_startproc
1211 @ args = 0, pretend = 0, frame = 0
1212 @ frame_needed = 0, uses_anonymous_args = 0
1213 @ link register save eliminated.
481:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* Check the parameters */
482:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** assert_param(IS_SYSTICK_CLK_SOURCE(CLKSource));
1214 .loc 1 482 3 view .LVU326
483:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** if (CLKSource == SYSTICK_CLKSOURCE_HCLK)
1215 .loc 1 483 3 view .LVU327
1216 .loc 1 483 6 is_stmt 0 view .LVU328
1217 0000 0428 cmp r0, #4
1218 0002 06D0 beq .L76
484:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** SysTick->CTRL |= SYSTICK_CLKSOURCE_HCLK;
486:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
487:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** else
488:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
489:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** SysTick->CTRL &= ~SYSTICK_CLKSOURCE_HCLK;
1219 .loc 1 489 5 is_stmt 1 view .LVU329
1220 .loc 1 489 19 is_stmt 0 view .LVU330
1221 0004 4FF0E022 mov r2, #-536813568
1222 0008 1369 ldr r3, [r2, #16]
1223 000a 23F00403 bic r3, r3, #4
1224 000e 1361 str r3, [r2, #16]
490:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
491:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1225 .loc 1 491 1 view .LVU331
ARM GAS /tmp/ccY34ikP.s page 94
1226 0010 7047 bx lr
1227 .L76:
485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1228 .loc 1 485 5 is_stmt 1 view .LVU332
485:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1229 .loc 1 485 19 is_stmt 0 view .LVU333
1230 0012 4FF0E022 mov r2, #-536813568
1231 0016 1369 ldr r3, [r2, #16]
1232 0018 43F00403 orr r3, r3, #4
1233 001c 1361 str r3, [r2, #16]
1234 001e 7047 bx lr
1235 .cfi_endproc
1236 .LFE158:
1238 .section .text.HAL_SYSTICK_Callback,"ax",%progbits
1239 .align 1
1240 .weak HAL_SYSTICK_Callback
1241 .syntax unified
1242 .thumb
1243 .thumb_func
1244 .fpu fpv5-d16
1246 HAL_SYSTICK_Callback:
1247 .LFB160:
492:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
493:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
494:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief This function handles SYSTICK interrupt request.
495:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
496:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
497:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** void HAL_SYSTICK_IRQHandler(void)
498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** HAL_SYSTICK_Callback();
500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
501:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
502:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /**
503:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @brief SYSTICK callback.
504:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** * @retval None
505:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
506:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** __weak void HAL_SYSTICK_Callback(void)
507:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** {
1248 .loc 1 507 1 is_stmt 1 view -0
1249 .cfi_startproc
1250 @ args = 0, pretend = 0, frame = 0
1251 @ frame_needed = 0, uses_anonymous_args = 0
1252 @ link register save eliminated.
508:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** /* NOTE : This function Should not be modified, when the callback is needed,
509:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** the HAL_SYSTICK_Callback could be implemented in the user file
510:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** */
511:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1253 .loc 1 511 1 view .LVU335
1254 0000 7047 bx lr
1255 .cfi_endproc
1256 .LFE160:
1258 .section .text.HAL_SYSTICK_IRQHandler,"ax",%progbits
1259 .align 1
1260 .global HAL_SYSTICK_IRQHandler
1261 .syntax unified
1262 .thumb
1263 .thumb_func
ARM GAS /tmp/ccY34ikP.s page 95
1264 .fpu fpv5-d16
1266 HAL_SYSTICK_IRQHandler:
1267 .LFB159:
498:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** HAL_SYSTICK_Callback();
1268 .loc 1 498 1 view -0
1269 .cfi_startproc
1270 @ args = 0, pretend = 0, frame = 0
1271 @ frame_needed = 0, uses_anonymous_args = 0
1272 0000 08B5 push {r3, lr}
1273 .LCFI2:
1274 .cfi_def_cfa_offset 8
1275 .cfi_offset 3, -8
1276 .cfi_offset 14, -4
499:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c **** }
1277 .loc 1 499 3 view .LVU337
1278 0002 FFF7FEFF bl HAL_SYSTICK_Callback
1279 .LVL71:
500:Drivers/STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.c ****
1280 .loc 1 500 1 is_stmt 0 view .LVU338
1281 0006 08BD pop {r3, pc}
1282 .cfi_endproc
1283 .LFE159:
1285 .text
1286 .Letext0:
1287 .file 4 "Drivers/CMSIS/Device/ST/STM32F7xx/Include/stm32f767xx.h"
1288 .file 5 "/usr/lib/gcc/arm-none-eabi/10.3.1/include/stdint.h"
1289 .file 6 "Drivers/STM32F7xx_HAL_Driver/Inc/stm32f7xx_hal_cortex.h"
ARM GAS /tmp/ccY34ikP.s page 96
DEFINED SYMBOLS
*ABS*:0000000000000000 stm32f7xx_hal_cortex.c
/tmp/ccY34ikP.s:17 .text.HAL_NVIC_SetPriorityGrouping:0000000000000000 $t
/tmp/ccY34ikP.s:25 .text.HAL_NVIC_SetPriorityGrouping:0000000000000000 HAL_NVIC_SetPriorityGrouping
/tmp/ccY34ikP.s:81 .text.HAL_NVIC_SetPriorityGrouping:000000000000001c $d
/tmp/ccY34ikP.s:87 .text.HAL_NVIC_SetPriority:0000000000000000 $t
/tmp/ccY34ikP.s:94 .text.HAL_NVIC_SetPriority:0000000000000000 HAL_NVIC_SetPriority
/tmp/ccY34ikP.s:234 .text.HAL_NVIC_SetPriority:0000000000000060 $d
/tmp/ccY34ikP.s:241 .text.HAL_NVIC_EnableIRQ:0000000000000000 $t
/tmp/ccY34ikP.s:248 .text.HAL_NVIC_EnableIRQ:0000000000000000 HAL_NVIC_EnableIRQ
/tmp/ccY34ikP.s:289 .text.HAL_NVIC_EnableIRQ:0000000000000018 $d
/tmp/ccY34ikP.s:294 .text.HAL_NVIC_DisableIRQ:0000000000000000 $t
/tmp/ccY34ikP.s:301 .text.HAL_NVIC_DisableIRQ:0000000000000000 HAL_NVIC_DisableIRQ
/tmp/ccY34ikP.s:372 .text.HAL_NVIC_DisableIRQ:0000000000000020 $d
/tmp/ccY34ikP.s:377 .text.HAL_NVIC_SystemReset:0000000000000000 $t
/tmp/ccY34ikP.s:384 .text.HAL_NVIC_SystemReset:0000000000000000 HAL_NVIC_SystemReset
/tmp/ccY34ikP.s:450 .text.HAL_NVIC_SystemReset:000000000000001c $d
/tmp/ccY34ikP.s:458 .text.HAL_SYSTICK_Config:0000000000000000 $t
/tmp/ccY34ikP.s:465 .text.HAL_SYSTICK_Config:0000000000000000 HAL_SYSTICK_Config
/tmp/ccY34ikP.s:530 .text.HAL_SYSTICK_Config:0000000000000024 $d
/tmp/ccY34ikP.s:535 .text.HAL_MPU_Disable:0000000000000000 $t
/tmp/ccY34ikP.s:542 .text.HAL_MPU_Disable:0000000000000000 HAL_MPU_Disable
/tmp/ccY34ikP.s:578 .text.HAL_MPU_Disable:0000000000000018 $d
/tmp/ccY34ikP.s:583 .text.HAL_MPU_Enable:0000000000000000 $t
/tmp/ccY34ikP.s:590 .text.HAL_MPU_Enable:0000000000000000 HAL_MPU_Enable
/tmp/ccY34ikP.s:643 .text.HAL_MPU_Enable:000000000000001c $d
/tmp/ccY34ikP.s:648 .text.HAL_MPU_EnableRegion:0000000000000000 $t
/tmp/ccY34ikP.s:655 .text.HAL_MPU_EnableRegion:0000000000000000 HAL_MPU_EnableRegion
/tmp/ccY34ikP.s:677 .text.HAL_MPU_EnableRegion:0000000000000014 $d
/tmp/ccY34ikP.s:682 .text.HAL_MPU_DisableRegion:0000000000000000 $t
/tmp/ccY34ikP.s:689 .text.HAL_MPU_DisableRegion:0000000000000000 HAL_MPU_DisableRegion
/tmp/ccY34ikP.s:711 .text.HAL_MPU_DisableRegion:0000000000000014 $d
/tmp/ccY34ikP.s:716 .text.HAL_MPU_ConfigRegion:0000000000000000 $t
/tmp/ccY34ikP.s:723 .text.HAL_MPU_ConfigRegion:0000000000000000 HAL_MPU_ConfigRegion
/tmp/ccY34ikP.s:800 .text.HAL_MPU_ConfigRegion:0000000000000054 $d
/tmp/ccY34ikP.s:805 .text.HAL_NVIC_GetPriorityGrouping:0000000000000000 $t
/tmp/ccY34ikP.s:812 .text.HAL_NVIC_GetPriorityGrouping:0000000000000000 HAL_NVIC_GetPriorityGrouping
/tmp/ccY34ikP.s:836 .text.HAL_NVIC_GetPriorityGrouping:000000000000000c $d
/tmp/ccY34ikP.s:841 .text.HAL_NVIC_GetPriority:0000000000000000 $t
/tmp/ccY34ikP.s:848 .text.HAL_NVIC_GetPriority:0000000000000000 HAL_NVIC_GetPriority
/tmp/ccY34ikP.s:967 .text.HAL_NVIC_GetPriority:0000000000000054 $d
/tmp/ccY34ikP.s:975 .text.HAL_NVIC_SetPendingIRQ:0000000000000000 $t
/tmp/ccY34ikP.s:982 .text.HAL_NVIC_SetPendingIRQ:0000000000000000 HAL_NVIC_SetPendingIRQ
/tmp/ccY34ikP.s:1024 .text.HAL_NVIC_SetPendingIRQ:0000000000000018 $d
/tmp/ccY34ikP.s:1029 .text.HAL_NVIC_GetPendingIRQ:0000000000000000 $t
/tmp/ccY34ikP.s:1036 .text.HAL_NVIC_GetPendingIRQ:0000000000000000 HAL_NVIC_GetPendingIRQ
/tmp/ccY34ikP.s:1082 .text.HAL_NVIC_GetPendingIRQ:0000000000000020 $d
/tmp/ccY34ikP.s:1087 .text.HAL_NVIC_ClearPendingIRQ:0000000000000000 $t
/tmp/ccY34ikP.s:1094 .text.HAL_NVIC_ClearPendingIRQ:0000000000000000 HAL_NVIC_ClearPendingIRQ
/tmp/ccY34ikP.s:1136 .text.HAL_NVIC_ClearPendingIRQ:0000000000000018 $d
/tmp/ccY34ikP.s:1141 .text.HAL_NVIC_GetActive:0000000000000000 $t
/tmp/ccY34ikP.s:1148 .text.HAL_NVIC_GetActive:0000000000000000 HAL_NVIC_GetActive
/tmp/ccY34ikP.s:1194 .text.HAL_NVIC_GetActive:0000000000000020 $d
/tmp/ccY34ikP.s:1199 .text.HAL_SYSTICK_CLKSourceConfig:0000000000000000 $t
/tmp/ccY34ikP.s:1206 .text.HAL_SYSTICK_CLKSourceConfig:0000000000000000 HAL_SYSTICK_CLKSourceConfig
/tmp/ccY34ikP.s:1239 .text.HAL_SYSTICK_Callback:0000000000000000 $t
/tmp/ccY34ikP.s:1246 .text.HAL_SYSTICK_Callback:0000000000000000 HAL_SYSTICK_Callback
ARM GAS /tmp/ccY34ikP.s page 97
/tmp/ccY34ikP.s:1259 .text.HAL_SYSTICK_IRQHandler:0000000000000000 $t
/tmp/ccY34ikP.s:1266 .text.HAL_SYSTICK_IRQHandler:0000000000000000 HAL_SYSTICK_IRQHandler
NO UNDEFINED SYMBOLS