Skip to main content

Hardware Register Viewer

TrinovaQ Studio includes a Hardware Register Viewer for inspecting and modifying peripheral registers on supported STM32 targets. This enables register-level debugging without an external tool.

The Register Viewer is available in the Hardware tab of the bottom panel.


Supported Peripherals

GPIOA — General Purpose I/O

RegisterOffsetAccessDescription
MODER0x00Read/WritePort mode register (input / output / alternate function / analog)
OTYPER0x04Read/WriteOutput type register (push-pull or open-drain)
OSPEEDR0x08Read/WriteOutput speed register
LCKR0x1CRead/WritePort configuration lock register

CAN1 — Controller Area Network

RegisterOffsetAccessDescription
MCR0x00Read/WriteMaster Control Register
MSR0x04Read-OnlyMaster Status Register
TSR0x08Read-OnlyTransmit Status Register
caution

MSR and TSR are read-only registers. Attempts to modify them are blocked by the Register Viewer.

WWDG — Window Watchdog

RegisterOffsetAccessDescription
CR0x00Read/WriteControl Register — configures the watchdog timeout
CFR0x04Read/WriteConfiguration Register
warning

The Window Watchdog Control Register directly affects system reset behavior. Incorrect configuration can cause unintended system resets during debugging.


Using the Register Viewer

  1. Open the Hardware tab in the bottom panel
  2. Select a peripheral from the list (e.g., GPIOA, CAN1, WWDG)
  3. The 32-bit register value is displayed with individual bit indicators
  4. For Read/Write registers: click SET or CLR on individual bits to toggle them
  5. Read-Only registers display their values but cannot be modified
note

The Register Viewer is a development and debugging aid. Changes made here reflect register state for inspection purposes and do not automatically generate corresponding firmware code.


Safe Action Confirmation

Modifying certain registers (such as the WWDG Control Register) triggers a SafeAction confirmation dialog before the change is applied. This prevents accidental writes to safety-critical hardware registers during debugging.