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


Eliminate malloc support for bare metal platform?

Hello,

We have transitioned a project from IAR to OpenStm32, and generally things are going well. However, we are getting tight on Flash memory, and it is apparent from looking at the map files that malloc support is eating up a lot of space.

We don’t use malloc. We don’t use new. All memory is allocated either statically or on the stack. So we don’t need malloc.

Is there any way to get this of this Flash memory bloat? I had heard that Gnu’s achilles heel is code size, but I didn’t think it would take this form. There are other seemingly unnecessary things from default Gnu in our map files, it would also be nice to get rid of them. But malloc support is the one that sticks out.

We have gc-sections turned on for the linker, so that isn’t the issue.

Thanks in advance for any help!

- Andy Voelkel

P.S. I’m using the latest OpenStm32 on a Mac. But that shouldn’t matter for this question.

This is not a direct answer to your question, but you may still find it useful for reducing the gcc libc’s bloat by a bit...

Add these linker flags to your project configuration:
Project -> Properties -> C/C++ Build -> Settings -> MCU GCC LInker -> Miscellaneous -> Linker flags

-specs=nosys.specs -specs=nano.specs

This won’t get rid of malloc() in and of itself, but it will reduce libc’s bloat by a few Kbytes.

You can change the RAM sizes allocated for the stack and the heap by modifying the linker configuration (*.ld) file for your project. Don’t recall the specific symbol names, but they are defined right at the top of the file and are very obvious.


 

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