Skip to main content
Visitor II
April 2, 2025
Question

Initializing the HDP on STM32N6

  • April 2, 2025
  • 1 reply
  • 426 views

I wanted to use the HDP (Hardware Debug Port) peripheral on the STM32N6 MCU (Nucleo N6 board), but CubeMX does not generate the MX_HDP_Init() function for it and does not initialize the peripheral either.

Based on the reference manual, I tried configuring the peripheral at the register level but was unsuccessful.
My example:

LL_APB4_GRP1_EnableClock(LL_APB4_GRP1_PERIPH_HDP);
*(uint32_t*)(HDP_BASE_NS + HDP_MUX) = 0xffffffffUL;
*(uint32_t*)(HDP_BASE_NS) |= 0x1UL;
*(uint32_t*)(HDP_BASE_NS + HDP_GPOSET) = 0xff;

uint32_t hdpval = *(uint32_t*)(HDP_BASE_NS + HDP_VAL); // read back the HDP_VAL register

My question is: how can I enable the "(from BSEC) HDPEN" signal shown in the diagram below?

 

Thanks:

Peter

 

 

hdp1-issue.png

 

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    May 15, 2025

    Hello @pdemeter and welcome to the community;

     

    First of all I apologize for my late reply.

    Which STM32CubeMX version are you using? 

    I enabled HDP with STM32CubeMX 6.14.1 version and I can see the MX_HDP_Init() function in the generated code.

    In addition, I got the GPIO configuration.

     /* set up GPIO configuration */
     /* GPIOC Non Secure Ports Clock Enable */
     __HAL_RCC_GPIOC_CLK_ENABLE();
     HAL_GPIO_ConfigPinAttributes(GPIOC,GPIO_PIN_1,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     HAL_GPIO_ConfigPinAttributes(GPIOC,GPIO_PIN_6,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     HAL_GPIO_ConfigPinAttributes(GPIOC,GPIO_PIN_7,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     HAL_GPIO_ConfigPinAttributes(GPIOC,GPIO_PIN_11,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     HAL_GPIO_ConfigPinAttributes(GPIOC,GPIO_PIN_12,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     /* GPIOD Non Secure Ports Clock Enable */
     __HAL_RCC_GPIOD_CLK_ENABLE();
     HAL_GPIO_ConfigPinAttributes(GPIOD,GPIO_PIN_6,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     HAL_GPIO_ConfigPinAttributes(GPIOD,GPIO_PIN_12,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);
     /* GPIOH Non Secure Ports Clock Enable */
     __HAL_RCC_GPIOH_CLK_ENABLE();
     HAL_GPIO_ConfigPinAttributes(GPIOH,GPIO_PIN_9,GPIO_PIN_NSEC|GPIO_PIN_NPRIV);

    Thank you.

    Kaouthar