cancel
Showing results for 
Search instead for 
Did you mean: 

Subject: STM32H753ZI cannot control PC02 as GPIO or SPI2_MISO functionality.

QuocBui
Associate III

Hi expert, our project is currently in the development stage. We are using the NUCLEO-H753ZI Development Kit for firmware development while awaiting the arrival of our custom board from the manufacturer. The dev-kit employs the STM32H753ZI (LQFP144), which has a slightly different pin configuration compared to the MCU on our custom board STM32H753ZI (LQFP100).

During our development process, we encountered an issue with using PC2_C to control SPI2 (SPI2_MISO), where it consistently pulls low. Despite extensive debugging efforts, including configuring the pin as GPIO and measuring with a logic analyzer, the issue persisted. Upon researching similar cases on the ST Community forum STM32H735V (LQFP100) PC2_C and PC3_C speed and FAQ: Default State of STM32H7 switches connecting Pxy_C and Pxy pads, we realized it might be related to a known issue in the STM32H7 family, specifically a bug in the silicon regarding the PC02 pin.

QuocBui_0-1711609550750.png

 

After reviewing the documentation and conducting tests on our end, we observed that while PC3_C can be controlled as expected, PC2_C cannot be controlled even when manipulating the external pad switches using the provided code:

HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC2, SYSCFG_SWITCH_PC2_CLOSE);
HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC3, SYSCFG_SWITCH_PC3_CLOSE);

  1. We would appreciate confirmation regarding whether this issue is indeed related to the chip itself.
  2. Additionally, our custom board utilizes the STM32H753ZI (LQFP100) package, which differs slightly from the package used in the NUCLEO-H753ZI. We would like to know if this package also experiences the same issue.

Thank you in advance for your assistance.

26 REPLIES 26
SofLit
ST Employee

Hello,

Did you face the described issue on the NUCLEO-H753ZI (LQFP144)?

PS:

PA0, PA1, PC2_C and PC3_C pins are available on all packages.

PC2, PC3, PA0_C and PA1_C pins are available only on the TFBGA240+25

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

 

 

Hi, @SofLit,

"Did you encounter the described issue on the NUCLEO-H753ZI (LQFP144)?"

-> Yes, we're experiencing an issue with the development kit (PC2_C Pin). However, our custom board is incoming (expected in a few weeks or more). We'll be utilizing the STM32H753ZI (LQFP100) instead of the STM32H753ZI (LQFP144) on NUCLEO-H753ZI. I want to confirm whether it has the same issue as the STM32H7 family or not?

SofLit
ST Employee

During our development process, we encountered an issue with using PC2_C to control SPI2 (SPI2_MISO), where it consistently pulls low.

 If I understand well the issue, you cannot even toggle PC2_C GPIO pin with NUCLEO-H753ZI. Could you confirm?

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hi @SofLit , Yes, correct. We cannot toggle the PC2_C GPIO pin with NUCLEO-H753ZI, and the issue is the same as what was discussed in the ST Community forum "Regarding STM32H735V (LQFP100) PC2_C and PC3_C speed, as well as the FAQ regarding the default state of STM32H7 switches connecting Pxy_C and Pxy pads". Could you help me confirm whether the issue lies with a bug in the silicon regarding the PC2_C pin, or if it's something else?

 

Hi @SofLit , Yes, correct. We cannot toggle the PC2_C GPIO pin with NUCLEO-H753ZI


I will check on NUCLEO-H743ZI.

 


and the issue is the same as what was discussed in the ST Community forum "Regarding STM32H735V (LQFP100) PC2_C and PC3_C speed, as well as the FAQ regarding the default state of STM32H7 switches connecting Pxy_C and Pxy pads". Could you help me confirm whether the issue lies with a bug in the silicon regarding the PC2_C pin, or if it's something else?

I don't think it's the same issue. 

Your are not arriving to toggle the IO while for the other threads the subject is related to timing issue. Which is already known.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hello,

I tested toggling PC2_C on Nucleo-H743: MCU pin 28 / Nucleo: CN10-9 and didn't find any issue. This is what I see on PC2_C toggling each 5ms with a logic analyzer. .

SofLit_0-1711722120527.png

Could you please verify if you're checking the right pin? or test its on another chip as it could be an issue with that chip?

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

Hi @SofLit , do you have the NUCLEO-H753ZI board available for testing? It should be the same model as the chip we previously tested.

Additionally, we also have the Nucleo-H743 Development Kit. We will test it on Monday, GMT+7, and provide you with feedback thereafter.

Hello,

I don't have NUCLEO-H753ZI board. Meanwhile, STM32H743 and STM32H753 represent the same die. The only difference is the cryptographic feature. So I don't think it's related to the part number.

As you have another board, please test it and get back to us with your findings.

Thanks

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

And this is the code I used for the test to toggle PC2_C pin:

 

int main(void)
{
  /* Configure the MPU attributes */
  MPU_Config();

  /* Enable the CPU Cache */
  CPU_CACHE_Enable();

  HAL_Init();

  /* Configure the system clock to 400 MHz */
  SystemClock_Config();
  
  /* -1- Initialize GPIOs */
  GPIO_Init();
  
  HAL_SYSCFG_AnalogSwitchConfig(SYSCFG_SWITCH_PC2, SYSCFG_SWITCH_PC2_CLOSE);

  /* Infinite loop */
  while (1)
  {
     HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_2);
     HAL_Delay(5);
  }
}
  
void GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};

  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOC_CLK_ENABLE();

  /*Configure GPIO pin : PC2_C */
  GPIO_InitStruct.Pin = GPIO_PIN_2;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
}  

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.