Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


You are viewing a reply to [solved] FPU going too slow  

FPU going too slow

What I have done in simular situations:

Option 1) Go in with the debugger and open the disassembly window on the routine.
Option 2) Some compilers have a ‘compile to assembly’ option, turn on that option and get your assembly version of the code
Option 2) Find a disassembler and disassemble the source code

Now that you have the assembly version of the ‘C’ review it. In all cases I have seen there is a huge waste of time moving values into and out of registers.

But to start with, #ifdef out your ‘C’ routine and substutite the assembly version (as-is, no mods). Compile it and make sure it works.

Now, start by removing the unnecessary loads and stores. Often after every instruction the intermediate value is copied from the temporary register into memory, then out of memory and back into the (sometimes same) register.

Using the assembly manual you can calculate how much procesor time is taken by eash assemly instruction.

In the past I have gotten much more speed out of an operation by doing this.

After that look to see if you can substute 1 assembly instruction for several others. Sometimes the compiler defaults to using generic assembly and not taking advantage of specialized instructions.

Make sure you comment the code well.

Good Luck.
-Matt

 

Newest Forum Posts

  1. Монтаж камина с грилем в Москве - установка и барбекю by KpddomErorb, 2025-05-10 18:28
  2. SPI on Nucleo_STMH533RE by royjamil, 2025-05-04 20:13
  3. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-25 07:37
  4. SPI on Nucleo_STMH533RE by royjamil, 2025-03-23 11:31
  5. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-23 09:33
  6. Configuring DMA for ADC in SW? by sam.hodgson, 2025-03-04 12:58
  7. Build a project in "release" mode by info@creosrl.it, 2025-02-20 18:12
  8. Build a project in "release" mode by info@creosrl.it, 2025-02-20 17:05
  9. Build a project in "release" mode by tang, 2025-02-20 10:36
  10. Build a project in "release" mode by info@creosrl.it, 2025-02-19 17:35

Last-Modified Blogs