Перейти к содержанию

Регистры DBGMCU STM32H7

Регистры DBGMCU STM32H742/H743/H750/H753: код устройства и ревизии, отладка в режимах пониженного потребления, такты доменов для отладки и остановка таймеров, LPTIM, I2C, RTC и сторожей при остановке ядра.

DBGMCU_CR сохраняет отладку при Sleep, Stop и Standby домена D1 и включает такты отладки доменов D1 и D3. Регистры APB3FZ1, APB1LFZ1, APB2FZ1 и APB4FZ1 останавливают периферию своих шин, пока ядро стоит на точке останова. DBGMCU_APB1HFZ1 из заголовков в RM0433 удалён и на странице не показан (RM0433, раздел 60.5.8).

ЭкземплярБазовый адресЕсть у
DBGMCU0x5C00 1000всех

Регистры блока

РегистрСмещениеНазначениеПосле сброса
DBGMCU_IDC0x00Код устройства и ревизии0xX00X 6450
DBGMCU_CR0x04Отладка в режимах пониженного потребления и такты отладки0x0000 0000
DBGMCU_APB3FZ10x34Остановка WWDG1 отладчиком0x0000 0000
DBGMCU_APB1LFZ10x3CОстановка таймеров и I2C шины APB1 отладчиком0x0000 0000
DBGMCU_APB2FZ10x4CОстановка таймеров шины APB2 отладчиком0x0000 0000
DBGMCU_APB4FZ10x54Остановка IWDG1, RTC, LPTIM и I2C4 отладчиком0x0000 0000

Конструктор значения

Выберите регистр и значения полей — конструктор покажет 32-битное значение и строку на C с макросами CMSIS. Поля, которые вы не меняете, берутся из значения после сброса.

Значение: 0x00006450

0000 0000 0000 0000 0110 0100 0101 0000

DBGMCU->IDCODE = 0x00006450;

DBGMCU_IDC — код устройства и ревизии

Смещение 0x00, адрес 0x5C00 1000, 32 бит, после сброса 0xX00X 6450. В коде: DBGMCU->IDCODE.

31302928272625242322212019181716
REV_ID
1514131211109876543210
—DEV_ID
  • REV_ID (биты 31:16) — Ревизия кристалла.
  • DEV_ID (биты 11:0) — Код устройства.

DBGMCU_CR — отладка в режимах пониженного потребления и такты отладки

Смещение 0x04, адрес 0x5C00 1004, 32 бит, после сброса 0x0000 0000. В коде: DBGMCU->CR.

31302928272625242322212019181716
—DBG_TRGOEN—DBG_CKD3ENDBG_CKD1ENDBG_TRACECKEN—
1514131211109876543210
—DBG_STANDBYD1DBG_STOPD1DBG_SLEEPD1
  • DBG_TRGOEN (бит 28) — Выход сигнала отладки TRGOUT для внешнего триггера.
  • DBG_CKD3EN (бит 22) — Тактирование отладки в домене D3.
  • DBG_CKD1EN (бит 21) — Тактирование отладки в домене D1.
  • DBG_TRACECKEN (бит 20) — Тактирование порта трассировки.
  • DBG_STANDBYD1 (бит 2) — Отладка в режиме Standby домена D1.
  • DBG_STOPD1 (бит 1) — Отладка в режиме Stop домена D1.
  • DBG_SLEEPD1 (бит 0) — Отладка в режиме Sleep домена D1.

DBGMCU_APB3FZ1 — остановка WWDG1 отладчиком

Смещение 0x34, адрес 0x5C00 1034, 32 бит, после сброса 0x0000 0000. В коде: DBGMCU->APB3FZ1.

31302928272625242322212019181716
—
1514131211109876543210
—DBG_WWDG1—
  • DBG_WWDG1 (бит 6) — WWDG1 останавливается, когда ядро остановлено отладчиком.

DBGMCU_APB1LFZ1 — остановка таймеров и I2C шины APB1 отладчиком

Смещение 0x3C, адрес 0x5C00 103C, 32 бит, после сброса 0x0000 0000. В коде: DBGMCU->APB1LFZ1.

31302928272625242322212019181716
—DBG_I2C3DBG_I2C2DBG_I2C1—
1514131211109876543210
—DBG_LPTIM1DBG_TIM14DBG_TIM13DBG_TIM12DBG_TIM7DBG_TIM6DBG_TIM5DBG_TIM4DBG_TIM3DBG_TIM2
  • DBG_I2C3 (бит 23) — I2C3 останавливается, когда ядро остановлено отладчиком.
  • DBG_I2C2 (бит 22) — I2C2 останавливается, когда ядро остановлено отладчиком.
  • DBG_I2C1 (бит 21) — I2C1 останавливается, когда ядро остановлено отладчиком.
  • DBG_LPTIM1 (бит 9) — LPTIM1 останавливается, когда ядро остановлено отладчиком.
  • DBG_TIM2–DBG_TIM14 (по биту на каждый y, положение — на карте битов) — TIMy останавливается, когда ядро остановлено отладчиком.

DBGMCU_APB2FZ1 — остановка таймеров шины APB2 отладчиком

Смещение 0x4C, адрес 0x5C00 104C, 32 бит, после сброса 0x0000 0000. В коде: DBGMCU->APB2FZ1.

31302928272625242322212019181716
—DBG_HRTIM—DBG_TIM17DBG_TIM16DBG_TIM15
1514131211109876543210
—DBG_TIM8DBG_TIM1
  • DBG_HRTIM (бит 29) — HRTIM останавливается, когда ядро остановлено отладчиком.
  • DBG_TIM1–DBG_TIM17 (по биту на каждый y, положение — на карте битов) — TIMy останавливается, когда ядро остановлено отладчиком.

DBGMCU_APB4FZ1 — остановка IWDG1, RTC, LPTIM и I2C4 отладчиком

Смещение 0x54, адрес 0x5C00 1054, 32 бит, после сброса 0x0000 0000. В коде: DBGMCU->APB4FZ1.

31302928272625242322212019181716
—DBG_IWDG1—DBG_RTC
1514131211109876543210
—DBG_LPTIM5DBG_LPTIM4DBG_LPTIM3DBG_LPTIM2—DBG_I2C4—
  • DBG_IWDG1 (бит 18) — IWDG1 останавливается, когда ядро остановлено отладчиком.
  • DBG_RTC (бит 16) — RTC останавливается, когда ядро остановлено отладчиком.
  • DBG_LPTIM2–DBG_LPTIM5 (по биту на каждый y, положение — на карте битов) — LPTIMy останавливается, когда ядро остановлено отладчиком.
  • DBG_I2C4 (бит 7) — I2C4 останавливается, когда ядро остановлено отладчиком.

Частые вопросы

Как остановить IWDG1 STM32H7 на точке останова?

Установите DBG_IWDG1 в DBGMCU->APB4FZ1. Для WWDG1 — бит DBG_WWDG1 в DBGMCU->APB3FZ1.

Источники

  1. STMicroelectronics. RM0433: Reference manual (Rev 9) — раздел 60.5.8: описание регистров, назначение полей и значения после сброса
  2. STMicroelectronics. cmsis-device-h7 v1.10.7: заголовки CMSIS stm32h742xx.h, stm32h743xx.h, stm32h750xx.h, stm32h753xx.h — структуры периферии, смещения, адреса экземпляров и макросы полей; лицензия Apache-2.0

Нашли ошибку в регистрах?

Другие регистры STM32H7

Калькуляторы и статьи