cancel
Showing results for 
Search instead for 
Did you mean: 

Working Code ported from STM32H753 revision Y to revision V not working

A Maq
Associate III

We came across a situation where an application code which is working for STM32H753  revision Y when moved to same MCU's revision V does not even go to the main.cpp.

Sometimes if it manages to go to main.cpp it writes to I2C1 some values consistently while we are not even using I2C driver at all in that application.

Following is the setup detail:

  1. IAR Embedded Workbench latest version tried along with older version 8.30.1
  2. St link debugger.
  3. STM32H753 ZI T6 revision V

Following are the things already tried:

1.     With no optimisation found not able to go to main as starting point.

2.     With optimisation on less cases of not starting from main.cpp on resetting the program.

3.     Tried without any other code running than MCU setup code same response as with everything on.

4.     Also, noticed on some occasion I2C1 is getting configured on starting the program without stopping at main or as soon as main starts. For that configuration values of Timing Register of I2C I have tried to search in the code and whole project workspace but could not find. That is a bit odd behaviour.

5. When code does not stop at main on software reset from debugger takes us to some assembly code where on stepping in it can be viewed it is stuck between three instruction.

6. On trying after removing all rest of the code along with __iar_builtin_enable_interrupt(); keeping only startup code for clocks etc and leds it starts working to turn on leds but obviously we need interrupts in our application therefore this is not a solution but may give some clues.

  1. Tried to look at static intialization fiasco that also does not seem to be the cause.
  2. Also looked into the technical note provided by st for "Migration from Revision Y to V for STM32H753

6.  Program also keeps hitting hard faults frequently.

Any help will be appreciated.

0 REPLIES 0