at32f425_debug.h 5.4 KB
Newer Older
S
sheltonyu 已提交
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 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162
/**
  **************************************************************************
  * @file     at32f425_debug.h
  * @brief    at32f425 debug header file
  **************************************************************************
  *                       Copyright notice & Disclaimer
  *
  * The software Board Support Package (BSP) that is made available to
  * download from Artery official website is the copyrighted work of Artery.
  * Artery authorizes customers to use, copy, and distribute the BSP
  * software and its related documentation for the purpose of design and
  * development in conjunction with Artery microcontrollers. Use of the
  * software is governed by this copyright notice and the following disclaimer.
  *
  * THIS SOFTWARE IS PROVIDED ON "AS IS" BASIS WITHOUT WARRANTIES,
  * GUARANTEES OR REPRESENTATIONS OF ANY KIND. ARTERY EXPRESSLY DISCLAIMS,
  * TO THE FULLEST EXTENT PERMITTED BY LAW, ALL EXPRESS, IMPLIED OR
  * STATUTORY OR OTHER WARRANTIES, GUARANTEES OR REPRESENTATIONS,
  * INCLUDING BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
  * FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
  *
  **************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __AT32F425_DEBUG_H
#define __AT32F425_DEBUG_H

#ifdef __cplusplus
extern "C" {
#endif


/* Includes ------------------------------------------------------------------*/
#include "at32f425.h"

/** @addtogroup AT32F425_periph_driver
  * @{
  */

/** @addtogroup DEBUG
  * @{
  */

/** @defgroup DEBUG_mode_definition
  * @{
  */

#define DEBUG_SLEEP                      0x00000001 /*!< debug sleep mode */
#define DEBUG_DEEPSLEEP                  0x00000002 /*!< debug deepsleep mode */
#define DEBUG_STANDBY                    0x00000004 /*!< debug standby mode */
#define DEBUG_CAN_PAUSE                  0x00000008 /*!< debug can pause */
#define DEBUG_WDT_PAUSE                  0x00000100 /*!< debug watchdog timer pause */
#define DEBUG_WWDT_PAUSE                 0x00000200 /*!< debug window watchdog timer pause */
#define DEBUG_TMR1_PAUSE                 0x00000400 /*!< debug timer1 pause */
#define DEBUG_TMR2_PAUSE                 0x00000800 /*!< debug timer2 pause */
#define DEBUG_TMR3_PAUSE                 0x00001000 /*!< debug timer3 pause */
#define DEBUG_ERTC_PAUSE                 0x00004000 /*!< debug ertc pause */
#define DEBUG_I2C1_SMBUS_TIMEOUT         0x00008000 /*!< debug i2c1 smbus timeout */
#define DEBUG_I2C2_SMBUS_TIMEOUT         0x00010000 /*!< debug i2c2 smbus timeout */
#define DEBUG_TMR6_PAUSE                 0x00080000 /*!< debug timer6 pause */
#define DEBUG_TMR7_PAUSE                 0x00100000 /*!< debug timer7 pause */
#define DEBUG_ERTC_512_PAUSE             0x00200000 /*!< debug ertc 512 pause */
#define DEBUG_TMR15_PAUSE                0x00400000 /*!< debug timer15 pause */
#define DEBUG_TMR16_PAUSE                0x00800000 /*!< debug timer16 pause */
#define DEBUG_TMR17_PAUSE                0x01000000 /*!< debug timer17 pause */
#define DEBUG_TMR13_PAUSE                0x04000000 /*!< debug timer13 pause */
#define DEBUG_TMR14_PAUSE                0x08000000 /*!< debug timer14 pause */

/**
  * @}
  */

/** @defgroup DEBUG_exported_types
  * @{
  */

/**
  * @brief type define debug register all
  */
typedef struct
{
  /**
    * @brief debug idcode register, offset:0x00
    */
  union
  {
    __IO uint32_t pid;
    struct
    {
      __IO uint32_t pid                  : 32;/* [31:0] */
    } idcode_bit;
  };

  /**
    * @brief debug ctrl register, offset:0x04
    */
  union
  {
    __IO uint32_t ctrl;
    struct
    {
      __IO uint32_t sleep_debug          : 1;/* [0] */
      __IO uint32_t deepsleep_debug      : 1;/* [1] */
      __IO uint32_t standby_debug        : 1;/* [2] */
      __IO uint32_t can_debug            : 1;/* [3] */
      __IO uint32_t reserved1            : 4;/* [7:4] */
      __IO uint32_t wdt_pause            : 1;/* [8] */
      __IO uint32_t wwdt_pause           : 1;/* [9] */
      __IO uint32_t tmr1_pause           : 1;/* [10] */
      __IO uint32_t tmr2_pause           : 1;/* [11] */
      __IO uint32_t tmr3_pause           : 1;/* [12] */
      __IO uint32_t reserved2            : 1;/* [13] */
      __IO uint32_t ertc_pause           : 1;/* [14] */
      __IO uint32_t i2c1_smbus_timeout   : 1;/* [15] */
      __IO uint32_t i2c2_smbus_timeout   : 1;/* [16] */
      __IO uint32_t reserved3            : 2;/* [18:17] */
      __IO uint32_t tmr6_pause           : 1;/* [19] */
      __IO uint32_t tmr7_pause           : 1;/* [20] */
      __IO uint32_t ertc_512_pause       : 1;/* [21] */
      __IO uint32_t tmr15_pause          : 1;/* [22] */
      __IO uint32_t tmr16_pause          : 1;/* [23] */
      __IO uint32_t tmr17_pause          : 1;/* [24] */
      __IO uint32_t reserved4            : 1;/* [25] */
      __IO uint32_t tmr13_pause          : 1;/* [26] */
      __IO uint32_t tmr14_pause          : 1;/* [27] */
      __IO uint32_t reserved5            : 4;/* [31:28] */
    } ctrl_bit;
  };

} debug_type;

/**
  * @}
  */

#define DEBUGMCU                         ((debug_type *) DEBUG_BASE)

/** @defgroup DEBUG_exported_functions
  * @{
  */

uint16_t debug_device_id_get(void);
void debug_periph_mode_set(uint32_t periph_debug_mode, confirm_state new_state);

/**
  * @}
  */

/**
  * @}
  */

/**
  * @}
  */

#ifdef __cplusplus
}
#endif

#endif