cancel
Showing results for 
Search instead for 
Did you mean: 

Features and known issues in STM32CubeIDE

Markus GIRDLAND
ST Employee

Dear community,

Edit: This thread was initially made to clear up some confusion about what functionality STM32CubeIDE was intended to have. As the tool has now been released for a while I believe that is has become more clear. However, having easy access to the known problems and limitations is still very helpful so I will keep this thread pinned.

Although, to spare myself from having to continuously update this thread I will simply link to the release note where this information is available:

The release note can be found here (RN0114).

41 REPLIES 41

Thanks, will be fixed in the next version.

Well this is intended. The SFR-view shows more detailed information (stored in the svd-file) in the bottom instead of occupying horizontal space with a bunch of columns.

Vincent Grennerat
Associate II

How is it possible that ST dares to put online an official video ( https://www.youtube.com/watch?v=eumKLXNlM0U ) showing the RUN button in the toolbar and at 2'11" showing the RUN function in the drop-down menu whereas this functionality is not available in the released version of the IDE !

I have lost several hours trying to mess with running configurations in order to get the RUN button like in the video, before eventually finding the info in the release notes.

I can't even understand why in the first place STM32CubeIDE was released without this major functionality.

Run configurations/External Tool configurations was not implemented properly in time for Mass-market release. Therefore these options were simply disabled since they would generate more headaches (support-wise) then benefit. It is unfortunate that the video referred to above, had to be made with a nightly build before release which clearly differs from 1.0.0 Mass-market release build.

There are many different teams involved to develop the ever-growing Cube ecosystem. We do our best to stay agile and honor customer requests while at the same time trying to stay internally in sync and aligned with all team. Quite a challenge. The video issue is probably a good example of that challenge.

The Run/External tools configuration is on the to-do list to be re-introduce, but compared to other more pressing bug fixes and feature requests I would say that the priority is not high as of right now. Sorry for the inconvenience!

Paolo Andreuzza
Associate II

Mattias,

what you say is understandable, and the effort that ST puts into carrying out the project is commendable.

To keep users informed about the planning of new features (for example the RUN function), it would be useful for the entire user community to know the product development roadmap, this, not to set constraints, but to share experiences.

scherbakoff.dima
Associate

I am trying to blink LED of my old STM32VLDISCOVERY board using brand new STM32CubeIDE under Linux. My Linux us Linux Mint 19.2, based on Ubuntu 18.04. The latter support is declared by ST.

What does not work:

1) Debugging

2) There is no download/flash/run button (according to Release Note it is not implemented)

How to reproduce:

1) Create new project for board STM32VLDISCOVERY

2) Try to debug

3) Get following errors:

https://www.dropbox.com/s/rpsel3tqy70kaoa/STM32_1.png?dl=0

https://www.dropbox.com/s/sdnto14jo526qkz/STM32_2.png?dl=0

https://www.dropbox.com/s/qy8pcwk8hybmn18/STM32_3.png?dl=0

I have not succeeded in flashing yet, because any configuration does not work.

How can I flash STM32 via ST-LINK/V1 under Linux?

Thanks in advance.

UPD1: Replaced images with Dropbox links, due to they loss from community.st.com

Hey, ST! Some feature requests for CubeMX/IDE code generator for custom bootloader/application split firmware development follows.

It would be nice to have control over VECT_TAB_SRAM, VECT_TAB_OFFSET definitions in system_stm32xxxx.c file. I guess it's really easy to implement, but we can go deeper into the forest..

Maybe you could also introduce some control over code address (maybe RAM too?) ORIGIN (with auto-calculation of LENGTH) variables in the linker script? For example, if this is the default for some MCU:

MEMORY

{

RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K

FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 192K

}

And I want my code to begin at 0x8008000, it should become:

MEMORY

{

RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K

FLASH (rx) : ORIGIN = 0x8008000, LENGTH = 160K

}

or even something more custom:

MEMORY

{

RAM_SHARED (xrw) : ORIGIN = 0x20000000, LENGTH = 1K

RAM (xrw) : ORIGIN = 0x20000400, LENGTH = 19K

FLASH_BOOT (rx) : ORIGIN = 0x8000000, LENGTH = 32K

FLASH_APP (rx) : ORIGIN = 0x8008000, LENGTH = 160K

}

__shared_ram_start__ = ORIGIN(SHARED_RAM)

__shared_ram_size__ = LENGTH(SHARED_RAM)

__ram_start__ = ORIGIN(RAM)

__ram_size__ = LENGTH(RAM)

__flash_boot_start__ = ORIGIN(FLASH_BOOT)

__flash_boot_size__ = LENGTH(FLASH_BOOT)

__flash_app_start__ = ORIGIN(FLASH_APP)

__flash_app_size__ = LENGTH(FLASH_APP)

Thank you!

The ST-LINK V1 is not supported by CubeIDE. This board embeds the V1. And it is the only or one of very few with this version of ST-LINK. Unfortunately no plans of implementing support for ST-LINK V1.

Maybe you can flash your application with ST-LINK Utility. You may then be able to just connect and debug with ST-LINK V1 in CubeIDE. But this is not something we test and validate. Just a possible way forward for you to try...

cackland
Associate

Auto Complete does not work for me. Vary rarely does it do what it is supposed to do. I've enabled the fix in the preferences, still really frustrating it does not work. Getting it to work using Ctrl Space EVERY time is ridiculous.

Another issue, zooming. On MAC, Command + / - does not zoom in or out. I've changed the preferences to see if that would fix, nope. Zoom is broken as well.

MMatu
Associate III

Hi

I'm facing issues with my projects migrated from STM32 System Workbench (created for NUCLEO-H743 and NUCLEO-F746). I followed the migration guide and, at first, the projects were building successfully. Then I reconfigured some timers in built-in CubeMX plugin. After regenerating the code, the projects broke. Firstly I needed to provide again all dependencies to external libraries and includes folder. Secondly the build failed due to duplicated _sbrk function. I found this had been moved to sysmem.c. Since the body of the function was the same I removed duplicated entry from syscalls.c Next, it turned out that startup_stm32h743xx.s file was also duplicated, and there was startup_stm32h743zitx.s with the same content. So I excluded the file from the build and tried building again. Finally, the build succeded however I am not able to debug the application. When I switch to Debug perspective I can only see

STMicroelectronics ST-LINK GDB server. Version 5.2.3

Copyright (c) 2019, STMicroelectronics. All rights reserved.

Starting server with the following options:

       Persistent Mode           : Disabled

       Logging Level             : 1

       Listen Port Number        : 61234

       Status Refresh Delay      : 15s

       Verbose Mode              : Disabled

       SWD Debug                 : Enabled

Waiting for debugger connection...

Debugger connected

and a Thread #1 [main] 1 core.... tree on the left. But the application doesn't stop at the beginning of the main function or anywhere else at the corresponding code lines. After pausing the execution I get "Break at address "0x8009eb4" with no debug information available, or outside of program code." Another thing is, the Build Analyzer is no longer showing any information about memory consumption.

How can I fix these projects?