EEVblog Electronics Community Forum

Electronics => Microcontrollers => Topic started by: e100 on May 31, 2019, 01:25:58 am

Title: Does ST provide everything you need to program & debug Nucleo boards?
Post by: e100 on May 31, 2019, 01:25:58 am
(Ignoring mbed)
Apologies for a somewhat basic question, but I couldn't find a definitive "this is this you need and this is how much it costs" guide.
 
When looking on the web I keep seeing references to various third party freeware and expensive commercial tools that you may, or may not, be needed to do a basic compile and debug cycle. Does ST provide/sell a complete working package or do you have to assemble a bunch of tools from various places and then it's up to you to figure out how to get them working together?
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: luiHS on May 31, 2019, 01:38:15 am

 
Of course. Totally free, you can use Atollic TrueStudio, or the System Workbench. Both based on Eclipse and compatible with Cubemx.

https://atollic.com/truestudio/ (https://atollic.com/truestudio/)
https://www.st.com/en/development-tools/sw4stm32.html (https://www.st.com/en/development-tools/sw4stm32.html)
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: lucazader on May 31, 2019, 02:12:27 am
To expand on the above post:

Yes!
they have even baked all of it into a single product:
https://www.st.com/en/development-tools/stm32-ides.html (https://www.st.com/en/development-tools/stm32-ides.html)

Which is basically the following components:
- stmcube: sets up hardware config. eg which pin does what. which uart you use etc. it also generates a project for the IDE so that you can compile your code.
- attollic - IDE for code development, compiling and for full debugging with breakpoints using st-link that is built into the nucleo boards


And as above ST provides all of this for free!
Hope this helps.
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: e100 on May 31, 2019, 03:21:29 am
I'm a little confused.
The aoliic web site says that TrueStudio has been replaced by STM32cubeIde, but the link on ST web site just leads to a dead end.
Has this been replaced by "system workbench"?

The system workbench link on the ST web site takes you to OpenSTM32.org which has a download link for a Windows 7 version, but there's no mention of Windows 10 compatibility.
I've installed system workbench but the branding is "a6tools" which appears to be a separate company from ST.

Is there nothing that is directly supported by ST?
If you have problems talking to your nucleo board who do you contact?
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: pigrew on May 31, 2019, 03:35:14 am
System workbench used to be the best-supported (only?) free IDE. A few years ago, STM purchased Atollic, and made its TrueStudio product free. I've not used System Workbench in the last few years since switching to TrueStudio, but some of my students used it since it works on MacOS X whereas Atollic TrueStudio is Windows & Linux only.

A month or two ago, STM released STM32CubeIDE and announced that TrueStudio will no longer be released. All three of these products are Eclipse-based and I've had an easy time going between them. One note is that STM32CubeIDE does not have the capability to debug RTOS threads/objects whereas TrueStudio does.  I think that TrueStudio and STM32CubeIDE are both partially closed-source, so use System Workbench if you want a fully open-source IDE.

I was able to download STM32CubeIDE last week. Perhaps try logging in before clicking the download button? I dislike all the website changes they've been making for the last year, and I figure they are breaking things....

You'll also want to look into using STM32CubeMX, which is included within STM32CubeIDE, but can be installed separately.
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: e100 on May 31, 2019, 03:56:28 am
OK I found the STM32CubeIDE page https://www.st.com/en/development-tools/stm32cubeide.html, (https://www.st.com/en/development-tools/stm32cubeide.html,) but their web site appears to be broken as I'm unable to create an account or download the software.
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: ralphrmartin on May 31, 2019, 05:33:27 pm
An alternative is to use mbed. Also completely free.
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: HB9EVI on May 31, 2019, 07:02:37 pm
all you need is:
- GNU GCC toolchain (arm-none-eabi-gcc, -g++ a.s.o.)
- GNU GDB (either arm-none-eabi-gdb or more common in the meantime gdb-multiarch)
- OpenOCD

afaik ST doesn't offer generic compilers like Microchip does with their PICs; also now Microchip AVR platform uses free GNU compilers (avr-gcc)
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: Siwastaja on May 31, 2019, 08:45:03 pm
I understand your confusion trying to Google this matter. The "trend IDE of the year" pulls the carpet below your feet, well, every year. They change names, ownerships, get discontinued, and everybody forgets about them. But you need to know the latest one in order to be the cool kid.

Just a few years ago, you were not trendy if you didn't use CooCox. Then it got discontinued without a warning, and you needed something else which I forgot already, now you need Atollic TrueStudio, soon it will be something else again.

So there is confusion, and all time you spend on these tools will be lost, you learn nothing. This being said, they don't require that much time, typically. The idea is, you get something running quickly, then concentrate on the actual code. Just don't take these tools too seriously, install something and see if it works. OTOH, if you do want to get serious, then I really suggest you invest some time, learn about the backend tool structure, and get the bare tools separately, and learn to use them directly. They are, and will remain, free software (open source), with decades of tradition, and no big surprises in sight. Everything you learn will be of great value for years and likely decades to come. I'm mostly talking about gcc and ld, and the relevant helper tools (binutils, like objdump). And, of course, make, although that isn't strictly necessary. They are not that difficult.

gdb and openocd are required for debugging and programming through the SWD interface, but debugging, again, is fully optional. For example, I work completely without, but my projects have become complex enough now that I absolutely need proper custom tooling and telemetry instead of one-size-fits-all beginner debug interface. My insistment of not using debuggers paid back very well since I was mentally wired to do it properly by myself from the start.
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: thm_w on May 31, 2019, 09:03:46 pm
OK I found the STM32CubeIDE page https://www.st.com/en/development-tools/stm32cubeide.html, (https://www.st.com/en/development-tools/stm32cubeide.html,) but their web site appears to be broken as I'm unable to create an account or download the software.

Here you go: https://www.stmicroelectronics.com.cn/content/ccc/resource/technical/software/sw_development_suite/group0/0d/3e/69/1b/13/74/44/8e/stm32cubeide_win/files/st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip/jcr:content/translations/en.st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip (https://www.stmicroelectronics.com.cn/content/ccc/resource/technical/software/sw_development_suite/group0/0d/3e/69/1b/13/74/44/8e/stm32cubeide_win/files/st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip/jcr:content/translations/en.st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip)

Windows version
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: Kjelt on May 31, 2019, 10:34:26 pm
Here you go: https://www.stmicroelectronics.com.cn/content/ccc/resource/technical/software/sw_development_suite/group0/0d/3e/69/1b/13/74/44/8e/stm32cubeide_win/files/st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip/jcr:content/translations/en.st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip (https://www.stmicroelectronics.com.cn/content/ccc/resource/technical/software/sw_development_suite/group0/0d/3e/69/1b/13/74/44/8e/stm32cubeide_win/files/st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip/jcr:content/translations/en.st-stm32cubeide_1.0.0_2872_20190423-2022_x86_64.exe.zip)

Windows version
From China? Are you serious? Red malware included. Goto myst.com
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: Yansi on May 31, 2019, 10:49:03 pm
System workbench used to be the best-supported (only?) free IDE. A few years ago, STM purchased Atollic, and made its TrueStudio product free. I've not used System Workbench in the last few years since switching to TrueStudio, but some of my students used it since it works on MacOS X whereas Atollic TrueStudio is Windows & Linux only.

A month or two ago, STM released STM32CubeIDE and announced that TrueStudio will no longer be released. All three of these products are Eclipse-based and I've had an easy time going between them. One note is that STM32CubeIDE does not have the capability to debug RTOS threads/objects whereas TrueStudio does.  I think that TrueStudio and STM32CubeIDE are both partially closed-source, so use System Workbench if you want a fully open-source IDE.

I was able to download STM32CubeIDE last week. Perhaps try logging in before clicking the download button? I dislike all the website changes they've been making for the last year, and I figure they are breaking things....

You'll also want to look into using STM32CubeMX, which is included within STM32CubeIDE, but can be installed separately.

Yep. CooCox (garbage), then AC6 (also garbage), then the free Atollic came - quite good actually. And they they do this:
I have a very very very bad feeling, that CubeIDE is a steaming pile of horseshit.
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: thm_w on May 31, 2019, 11:12:55 pm
From China? Are you serious? Red malware included. Goto myst.com

Read what the person I quoted said please... st.com requires a login.

Anyway, I don't think it matters:

Quote
DNS Lookup
Domain Name: stmicroelectronics.com.cn
IP Address: 54.194.135.49
Geolocation: IE (Ireland), 07, Dublin, D02 Dublin - Google Maps

Domain Name: my.st.com
IP Address: 174.35.57.12
Geolocation: US (United States), CA, California, 95008 Campbell - Google Maps
Title: Re: Does ST provide everything you need to program & debug Nucleo boards?
Post by: techman-001 on June 01, 2019, 02:02:22 pm
Quote
I understand your confusion trying to Google this matter. The "trend IDE of the year" pulls the carpet below your feet, well, every year. They change names, ownerships, get discontinued, and everybody forgets about them. But you need to know the latest one in order to be the cool kid.

Just a few years ago, you were not trendy if you didn't use CooCox. Then it got discontinued without a warning, and you needed something else which I forgot already, now you need Atollic TrueStudio, soon it will be something else again.
I'm still waiting for Forth to become cool again  :popcorn: I know, I know, don't hold my breath  :horse:

Quote
So there is confusion, and all time you spend on these tools will be lost, you learn nothing. This being said, they don't require that much time, typically. The idea is, you get something running quickly, then concentrate on the actual code. Just don't take these tools too seriously, install something and see if it works. OTOH, if you do want to get serious, then I really suggest you invest some time, learn about the backend tool structure, and get the bare tools separately, and learn to use them directly. They are, and will remain, free software (open source), with decades of tradition, and no big surprises in sight. Everything you learn will be of great value for years and likely decades to come. I'm mostly talking about gcc and ld, and the relevant helper tools (binutils, like objdump). And, of course, make, although that isn't strictly necessary. They are not that difficult.


Agreed.

Although I program in Forth, when I first started on STM32F0 I used Gcc, a Makefile, libopencm3, a simple loader file and it all worked fine. For debugging, I used  the programmer side of a Discovery board, SWD and GDB, that also worked fine when needed.

Although it may look a little spartan, I bet people can set this up in the time it takes to install whatever bloated Eclipse based monster STM is giving away this month.

Quote
gdb and openocd are required for debugging and programming through the SWD interface, but debugging, again, is fully optional. For example, I work completely without, but my projects have become complex enough now that I absolutely need proper custom tooling and telemetry instead of one-size-fits-all beginner debug interface. My insistment of not using debuggers paid back very well since I was mentally wired to do it properly by myself from the start.
I'm curious, what kind of debugging do you use now ?