Skip to main content
DOtte.1
Associate
March 9, 2020
Solved

Code execution stm32F7 slower than stm32F4 PROBLEM SOLVED

  • March 9, 2020
  • 4 replies
  • 1066 views

Dear all, dear stm,

we ported our project from stm32F427 to stm32F765 because we needed more RAM.

After this we noticed that our code execution time has more than doubled.

We check all twice, ART, Cache, Interrupt, PLL, etc.

We tested also the Overdrive with no effect.

What could be the reason that the code execution from internal flash from stm32F7 is little more than two times slower than from stm32F4?

We are using Keil ARM Compiler V5.06 update 6.

Best regards

Dirk

This topic has been closed for replies.
Best answer by DOtte.1

Problem solved by Danish

Our Projektcode from stm32f4 start at 0x0800 0000, for stm32f7 ITCM bus it have to start at 0x0020 0000

Thanks to all and spezial to Danish

4 replies

Ozone
Principal
March 9, 2020

Zero optimization for the F7 project ?

The PLL does not startup, and the F7 runs on default HSI clockrate ?

berendi
Principal
March 9, 2020

Newer version of HAL, adding more bloat abstraction?

Danish1
Lead III
March 9, 2020

Where (in memory) is your program placed?

If (like stm32f4) you have it starting at 0x08000000 then accesses have to be via the AXI bus.

But if you place it starting 0x00200000 then accesses are via the ITCM bus, which I believe to be much faster, as well as not having to share bus time with data accesses.

Hope this helps,

Danish

DOtte.1
DOtte.1AuthorBest answer
Associate
March 10, 2020

Problem solved by Danish

Our Projektcode from stm32f4 start at 0x0800 0000, for stm32f7 ITCM bus it have to start at 0x0020 0000

Thanks to all and spezial to Danish