Skip to main content
Visitor II
May 29, 2025
Question

Migrating project from STM32G474I-eval board to STM32H757I-eval board

  • May 29, 2025
  • 1 reply
  • 304 views

Hello,

I'm trying to migrate my project from STM32G474I-eval board to STM32H757I-eval (dual core)' but I'm facing some troubles.

My original project has several peripheral : CANFD, ADC1, DAC, USART. I tried to define all these according to the Data sheet of STM32H757I on Core M7 only (just to try to migrate to single core at the beginning), but when I was trying to check ADC1 I have already encountered some problems.

First of all according to the STMCubeMX the only available pins for ADC1 were (PA0, PA0_C, PA1_C), and in the DMA settings - I put DMA1 Streem3 (Circular). According to data sheet the pin PA0_C is connected to the CN5 and RV1 potentiometer  so I was expecting that moving the potentiometer to different values would actually change the output on PA0_C.

The problem is - when I'm running the debugger on the STM32H757I board I always find myself in the HAL_ADC_IRQHandler function, and never get to the ADC_DMAConvCplt callback (where the HAL_ADC_ConvCpltCallback user implemented function is called).

And in the HAL_ADC_IRQHandler the next check fails:

 

/* ====== Check ADC group regular end of unitary conversion sequence conversions ===== */

if ((((tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC) && ((tmp_ier & ADC_IT_EOC) == ADC_IT_EOC)) ||

(((tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS) && ((tmp_ier & ADC_IT_EOS) == ADC_IT_EOS)))

here the (tmp_isr & ADC_FLAG_EOC) == ADC_FLAG_EOC   and  

(tmp_isr & ADC_FLAG_EOS) == ADC_FLAG_EOS  are TRUE

and the (tmp_ier & ADC_IT_EOC) == ADC_IT_EOC and  (tmp_ier & ADC_IT_EOS) == ADC_IT_EOS are  FALSE !

Can anyone help me with this ?

 

Thanks

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    June 11, 2025

    Hello @Ana;

     

    If your initial STM32G474I project is based on STM32CubeMX generation code. I recommend you to look at these articles and get inspired to switch from STM32G474 to STM32H747.

    Also, I think ADC_DualModeInterleaved example can help you to check the ADC configuration.  This example provides a short description of how to use two ADC peripherals to perform conversions in interleaved dual-mode. The data is transferred by DMA.

     

    I hope this help you.

    Thank you.

    Kaouthar