PY32F033xx_DBGMCU.ini 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // File: PY32F033xx_DBGMCU.ini
  2. // Version: 1.0.0
  3. /* variable to hold register values */
  4. define unsigned long DbgMCU_CR;
  5. define unsigned long DbgMCU_APB_Fz1;
  6. define unsigned long DbgMCU_APB_Fz2;
  7. // <<< Use Configuration Wizard in Context Menu >>>
  8. // <h> Debug MCU configuration register (DBGMCU_CR)
  9. // <o.1> DBG_STOP <i> Debug stop mode
  10. // <o.0> DBG_SLEEP <i> Debug sleep mode
  11. // </h>
  12. DbgMCU_CR = 0x00000003;
  13. // <h> Debug MCU APB freeze1 register (DBG_APB_FZ1)
  14. // <i> Reserved bits must be kept at reset value
  15. // <o.31> DBG_LPTIM1_STOP <i> LPTIM1 stopped when core is halted
  16. // <o.21> DBG_I2C1_SMBUS_TIMEOUT <i> I2C1_SMBUS TIMEOUT frozened when core is halted
  17. // <o.12> DBG_IWDG_STOP <i> Independent watchdog stopped when core is halted
  18. // <o.11> DBG_WWDG_STOP <i> Window watchdog stopped when core is halted
  19. // <o.10> DBG_RTC_STOP <i> RTC stopped when core is halted
  20. // <o.1> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
  21. // <o.0> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
  22. // </h>
  23. DbgMCU_APB_Fz1 = 0x00000000;
  24. // <h> Debug MCU APB freeze2 register (DBG_APB_FZ2)
  25. // <i> Reserved bits must be kept at reset value
  26. // <o.18> DBG_TIM17_STOP <i> TIM17 counter stopped when core is halted
  27. // <o.17> DBG_TIM16_STOP <i> TIM16 counter stopped when core is halted
  28. // <o.15> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
  29. // </h>
  30. DbgMCU_APB_Fz2 = 0x00000000;
  31. // <<< end of configuration section >>>
  32. /*----------------------------------------------------------------------------
  33. Setup_DBGMCU() configure DBGMCU registers
  34. *----------------------------------------------------------------------------*/
  35. FUNC void Setup_DBGMCU (void) {
  36. _WDWORD(0x4002103C, _RDWORD(0x4002103C) | 0x08000000); // Set RCC_APBENR1.DBGMCUEN
  37. _WDWORD(0x40015804, DBGMCU_CR); // Set DBGMCU_CR
  38. _WDWORD(0x40015808, DbgMCU_APB_Fz1); // Set DBG_APB_FZ1
  39. _WDWORD(0x4001580C, DbgMCU_APB_Fz2); // Set DBG_APB_FZ2
  40. }
  41. /*----------------------------------------------------------------------------
  42. OnResetExec() Executed after reset via uVision's 'Reset'-button
  43. *----------------------------------------------------------------------------*/
  44. FUNC void OnResetExec (void) {
  45. Setup_DBGMCU();
  46. }
  47. Setup_DBGMCU(); // Debugger Setup