blob: 1de630864cbbdab94edaaf802f6cf27fca64985b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
/*!
* @file apm32f10x_dbgmcu.c
*
* @brief This file provides all the DEBUG firmware functions
*
* @version V1.0.4
*
* @date 2022-12-01
*
* @attention
*
* Copyright (C) 2020-2022 Geehy Semiconductor
*
* You may not use this file except in compliance with the
* GEEHY COPYRIGHT NOTICE (GEEHY SOFTWARE PACKAGE LICENSE).
*
* The program is only for reference, which is distributed in the hope
* that it will be useful and instructional for customers to develop
* their software. Unless required by applicable law or agreed to in
* writing, the program is distributed on an "AS IS" BASIS, WITHOUT
* ANY WARRANTY OR CONDITIONS OF ANY KIND, either express or implied.
* See the GEEHY SOFTWARE PACKAGE LICENSE for the governing permissions
* and limitations under the License.
*/
#include "apm32f10x_dbgmcu.h"
/** @addtogroup APM32F10x_StdPeriphDriver
@{
*/
/** @addtogroup DBGMCU_Driver DBGMCU Driver
* @brief DBGMCU driver modules
@{
*/
/** @defgroup DBGMCU_Functions Functions
@{
*/
/*!
* @brief Returns the device identifier.
*
* @param None
*
* @retval Device identifier
*/
uint32_t DBGMCU_ReadDEVID(void)
{
return (DBGMCU->IDCODE_B.EQR);
}
/*!
* @brief Returns the device revision identifier.
*
* @param None
*
* @retval Device revision identifier
*/
uint32_t DBGMCU_ReadREVID(void)
{
return (DBGMCU->IDCODE_B.WVR);
}
/*!
* @brief Enable the specified peripheral and low power mode behavior
* when the MCU under Debug mode
*
* @param periph: Specifies the peripheral and low power mode
* This parameter can be any combination of the following values:
* @arg DBGMCU_SLEEP : Keep debugger connection during SLEEP mode
* @arg DBGMCU_STOP : Keep debugger connection during STOP mode
* @arg DBGMCU_STANDBY : Keep debugger connection during STANDBY mode
* @arg DBGMCU_IWDT_STOP : Debug IWDT stopped when Core is halted
* @arg DBGMCU_WWDT_STOP : Debug WWDT stopped when Core is halted
* @arg DBGMCU_TMR1_STOP : TMR1 counter stopped when Core is halted
* @arg DBGMCU_TMR2_STOP : TMR2 counter stopped when Core is halted
* @arg DBGMCU_TMR3_STOP : TMR3 counter stopped when Core is halted
* @arg DBGMCU_TMR4_STOP : TMR4 counter stopped when Core is halted
* @arg DBGMCU_CAN1_STOP : Debug CAN1 stopped when Core is halted
* @arg DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped when Core is halted
* @arg DBGMCU_I2C2_SMBUS_TIMEOUT: I2C2 SMBUS timeout mode stopped when Core is halted
* @arg DBGMCU_TMR5_STOP : TMR5 counter stopped when Core is halted
* @arg DBGMCU_TMR6_STOP : TMR6 counter stopped when Core is halted
* @arg DBGMCU_TMR7_STOP : TMR7 counter stopped when Core is halted
* @arg DBGMCU_TMR8_STOP : TMR8 counter stopped when Core is halted
* @arg DBGMCU_CAN2_STOP : Debug CAN2 stopped when Core is halted
* @arg DBGMCU_TMR15_STOP : TMR15 counter stopped when Core is halted
* @arg DBGMCU_TMR16_STOP : TMR16 counter stopped when Core is halted
* @arg DBGMCU_TMR17_STOP : TMR17 counter stopped when Core is halted
* @arg DBGMCU_TMR9_STOP : TMR9 counter stopped when Core is halted
* @arg DBGMCU_TMR10_STOP : TMR10 counter stopped when Core is halted
* @arg DBGMCU_TMR11_STOP : TMR11 counter stopped when Core is halted
* @arg DBGMCU_TMR12_STOP : TMR12 counter stopped when Core is halted
* @arg DBGMCU_TMR13_STOP : TMR13 counter stopped when Core is halted
* @arg DBGMCU_TMR14_STOP : TMR14 counter stopped when Core is halted
*
* @retval None
*/
void DBGMCU_Enable(uint32_t periph)
{
DBGMCU->CFG |= periph;
}
/*!
* @brief Enable the specified peripheral and low power mode behavior
* when the MCU under Debug mode
*
* @param periph: Specifies the peripheral and low power mode
* This parameter can be any combination of the following values:
* @arg DBGMCU_SLEEP : Keep debugger connection during SLEEP mode
* @arg DBGMCU_STOP : Keep debugger connection during STOP mode
* @arg DBGMCU_STANDBY : Keep debugger connection during STANDBY mode
* @arg DBGMCU_IWDT_STOP : Debug IWDT stopped when Core is halted
* @arg DBGMCU_WWDT_STOP : Debug WWDT stopped when Core is halted
* @arg DBGMCU_TMR1_STOP : TMR1 counter stopped when Core is halted
* @arg DBGMCU_TMR2_STOP : TMR2 counter stopped when Core is halted
* @arg DBGMCU_TMR3_STOP : TMR3 counter stopped when Core is halted
* @arg DBGMCU_TMR4_STOP : TMR4 counter stopped when Core is halted
* @arg DBGMCU_CAN1_STOP : Debug CAN1 stopped when Core is halted
* @arg DBGMCU_I2C1_SMBUS_TIMEOUT: I2C1 SMBUS timeout mode stopped when Core is halted
* @arg DBGMCU_I2C2_SMBUS_TIMEOUT: I2C2 SMBUS timeout mode stopped when Core is halted
* @arg DBGMCU_TMR5_STOP : TMR5 counter stopped when Core is halted
* @arg DBGMCU_TMR6_STOP : TMR6 counter stopped when Core is halted
* @arg DBGMCU_TMR7_STOP : TMR7 counter stopped when Core is halted
* @arg DBGMCU_TMR8_STOP : TMR8 counter stopped when Core is halted
* @arg DBGMCU_CAN2_STOP : Debug CAN2 stopped when Core is halted
* @arg DBGMCU_TMR15_STOP : TMR15 counter stopped when Core is halted
* @arg DBGMCU_TMR16_STOP : TMR16 counter stopped when Core is halted
* @arg DBGMCU_TMR17_STOP : TMR17 counter stopped when Core is halted
* @arg DBGMCU_TMR9_STOP : TMR9 counter stopped when Core is halted
* @arg DBGMCU_TMR10_STOP : TMR10 counter stopped when Core is halted
* @arg DBGMCU_TMR11_STOP : TMR11 counter stopped when Core is halted
* @arg DBGMCU_TMR12_STOP : TMR12 counter stopped when Core is halted
* @arg DBGMCU_TMR13_STOP : TMR13 counter stopped when Core is halted
* @arg DBGMCU_TMR14_STOP : TMR14 counter stopped when Core is halted
*
* @retval None
*/
void DBGMCU_Disable(uint32_t periph)
{
DBGMCU->CFG &= ~periph;
}
/**@} end of group DBGMCU_Functions*/
/**@} end of group DBGMCU_Driver */
/**@} end of group APM32F10x_StdPeriphDriver */
|