probe-rs: TPIU not found for STM32H753VITx
I’m trying to set up some ITM functionality for my STM32H753VIT6. On the session I call setup_swv:
session.setup_swv(
&SwoConfig::new(cpu_frequency)
.set_mode_uart()
.set_baud(interface_frequency),
)?;
At some point this will call: https://github.com/probe-rs/probe-rs/blob/043b1b49bf83a14e321d05269e8db083d31fde2b/probe-rs/src/architecture/arm/memory/romtable.rs#L451
This function will not find the TPIU for the H753, but does work for my F407.
The function searches for a component part with value 0x9A1, defined here: https://github.com/probe-rs/probe-rs/blob/043b1b49bf83a14e321d05269e8db083d31fde2b/probe-rs/src/architecture/arm/memory/romtable.rs#L607.
I don’t know where these values come from, so I can’t check if it’s the same for the H7 series.
These are the part codes found on the H7 (read from the log output):
0x00C, 0x002, 0x00E, 0x001, 0x975, 0x906
On the F4:
0x00C, 0x002, 0x003, 0x001, 0x9a1, 0x925
Desktop:
- Windows 10
Additional context Probe: STLINKv3
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 21 (21 by maintainers)
It means there’s no TPIU inside the Cortex-M7 debug system, which is described by the Cortex-M7 ROM table on the AHB-AP, and so that ROM table does not mark the TPIU as “present”, instead it’s in the system-level debug system which you access through the APB-AP (or via the AHB-AP and then through the system bux matrix?), and the APB-AP has a separate set of ROM tables which do include the TPIU marked as present. (edited from my original comment for clarity I hope).
However I don’t know how to turn this annoying knowledge into getting probe-rs to actually talk to the TPIU…