Skip to main content
Andrei Chichak
Lead
January 10, 2024
Solved

STM32CubeMonitor 1.7.0 used with a Nucleo-H563ZI only gets the value 0 from the processor.

  • January 10, 2024
  • 1 reply
  • 1096 views

On MacOS 14.2.1, STM32CubeMonitor 1.7.0, STM32CubeIDE 1.14.0, NUCLEO-H563ZI MB1404C

In CubeIDE I created a new project with:

/* USER CODE BEGIN 0 */
volatile uint32_t i;
/* USER CODE END 0 */

and

/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
i = (i + 1) % 300;
HAL_Delay(100);
}
/* USER CODE END 3 */

I load the code into the processor, run it in the debugger, and it goes through the proper motions, i ramps from 0 to 299 and repeats.

Next, in CubeMonitor I use the basic template, as described in various ST training videos, to display the value of 'i' and it always comes up on my chart as having a value of zero.

I try various things, delete any extraneous stuff, try again from the templates, restart, reset, retry, try a different instance of the Nucleo board, but the answer is always zero.

So, I grab a Nucleo-F767ZI board, new project in CubeIDE with the same USER CODE sections, load and check, update the same CubeMonitor flow for the new ST-Link and .elf file, deploy it and it works as hoped, giving me a slow sawtooth graph.

From this evidence I deduce that 1) CubeMonitor 1.7.0 doesn't know how to talk to an STM32H563ZI or 2) I missed something somewhere.

    This topic has been closed for replies.
    Best answer by Andrei Chichak

    Got it, see https://community.st.com/t5/stm32cubemonitor-mcus/stm32-cube-monitor-show-value-zero/td-p/602617

    You need to set the (undocumented) access point to 1 in variables.

    A

    1 reply

    Andrei Chichak
    Andrei ChichakAuthorBest answer
    Lead
    January 10, 2024

    Got it, see https://community.st.com/t5/stm32cubemonitor-mcus/stm32-cube-monitor-show-value-zero/td-p/602617

    You need to set the (undocumented) access point to 1 in variables.

    A

    stephane.legargeant
    ST Employee
    January 11, 2024

    Hello

    Thanks for the feedback and the solution Andrei. It will be useful for other users.

    Here are some information about the Access Point / Access Port / "AP" :

    The data are collected through the AHB bus access port. For some devices there is only one access port, while for other there are multiples AP ( multiples cores, or dedicated function of AP)

    The information about AP is in the MCU reference manual.

    For the STM32H563ZI, there are 2 AP, information is in the Reference Manual at chapter 58.4:

    58.4 Access ports
    There are two access ports (AP) attached to the DP.
    • System debug access port (AP0): Enables access to the DBGMCU and the system
    ROM table via an APB bus.
    • Cortex®-M33 debug access port (AP1): Enables access to the debug and trace
    features integrated in the Cortex®-M33 processor core via its internal AHB bus.

    So for this STM32, the port for data acquisition through AHB bus is the AP1. So Access Point in CubeMonitor must be set to 1.  

    Support of the device has been added in version 1.6.0. When the STM32 are supported by CubeMonitor, the device family name is displayed under the probe node : For this chip, it should display "STM32H56xxx/7xxx". 

    Have a nice day.