Add option to add newlib-nano/syscalls.c for stm32cubemx projects without FreeRT

Sysprogs forums Forums VisualGDB Add option to add newlib-nano/syscalls.c for stm32cubemx projects without FreeRT

This topic contains 3 replies, has 2 voices, and was last updated by  support 2 weeks, 6 days ago.

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
  • #30118


    When using STM32CubeMX-type project, if you create a regular application without FreeRTOS, no C Library is included. Is it possible to add a box like you have for a regular embedded project to include newlib for example

    I was getting errors about undefined reference to _sbrk

    You must be logged in to view attached files.



    No problem. We have updated VisualGDB to show the toolchain-level settings (e.g. newlib) via VisualGDB Project Properties -> Embedded Project for STM32CubeMX projects. It now works the same way as for the regular projects.

    Please feel free to try the following build: VisualGDB- This will also be included in the upcoming VisualGDB 5.6 Beta 2.



    If I create an STM32CubeMX project, what is the easiest way to enable semihosting to use printf etc.? You don’t get the options for newlib-nano, generate system call stubs etc. with this project type



    EDIT: totally forgot I made a simalar post the other week, saw your reply and installed the 4073 build, thanks for that!

    After installing that, if I enable Support Semihosting, I can include stdio and printf works, but if I enable fast semihosting I still get the errors about _sbrk etc. With both enabled I get the “multiple definition of _isattyā€¯ error like in the tutorial, so I will keep this post for that.

    • This reply was modified 3 weeks ago by  dave93cab.
    • This reply was modified 2 weeks, 6 days ago by  support.


    No problem, we have merged the new thread with the old one.

    The “multiple definition” error is expected if STM32CubeMX provides its own definitions of the semihosting-related functions that conflict with the toolchain-provided ones. In order to use the implementations enabled via VisualGDB Project Properties, you would need to remove other conflicting implementations from the project, either by patching the STM32CubeMX-generated sources, or by changing the STM32CubeMX configuration.

Viewing 4 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic.