RIOT icon indicating copy to clipboard operation
RIOT copied to clipboard

Add support to (all) ST Nucleo boards

Open aabadie opened this issue 8 years ago • 19 comments

There's an ongoing work which goal is to add support for (all) ST Nucleo boards to RIOT.

The goal of this issue is to keep track of this work. For all boards, it lists some information, the actual support status (available upstream, available PR, not supported) and give the link to the documentation in the Wiki (if any).

Board Board Family MCU Family Status Documentation
Nucleo-L011K4 Nucleo 32 M0+ Supported No doc
Nucleo-F031K6 Nucleo 32 M0 Supported Doc available
Nucleo-F042K6 Nucleo 32 M0 Supported Doc available
Nucleo-L031K6 Nucleo 32 M0+ Supported No doc
Nucleo-F303K8 Nucleo 32 M4 Supported Doc available
Nucleo-L412KB Nucleo 32 M4 Supported No doc
Nucleo-L432KC Nucleo 32 M4 Supported No doc
Nucleo-F030R8 Nucleo 64 M0 Supported Doc available
Nucleo-F302R8 Nucleo 64 M4 Supported Doc available
Nucleo-F334R8 Nucleo 64 M4 Supported Doc available
Nucleo-L053R8 Nucleo 64 M0+ Supported No Doc
Nucleo-F070RB Nucleo 64 M0 Supported Doc available
Nucleo-F072RB Nucleo 64 M0 Supported Doc available
Nucleo-F103RB Nucleo 64 M0 Supported Doc available
Nucleo-F410RB Nucleo 64 M4 Supported Doc available
Nucleo-L073RZ Nucleo 64 M0+ Supported No doc
Nucleo-F091RC Nucleo 64 M0 Supported Doc available
Nucleo-L433RC-P Nucleo 64 M4 Supported No doc
Nucleo-F303RE Nucleo 64 M4 Supported Doc available
Nucleo-L152RE Nucleo 64 M3 Supported Doc available
Nucleo-F401RE Nucleo 64 M4 Supported Doc available
Nucleo-F446RE Nucleo 64 M4 Supported Doc available
Nucleo-F411RE Nucleo 64 M4 Supported Doc available
Nucleo-L452RE Nucleo 64 M4 Supported No doc
Nucleo-L476RG Nucleo 64 M4 Supported No doc
Nucleo-F303ZE Nucleo 144 M4 Supported No doc
Nucleo-F446ZE Nucleo 144 M4 Supported Doc available
Nucleo-F722ZE Nucleo 144 M7 Supported No doc
Nucleo-F207ZG Nucleo 144 M3 Supported Doc available
Nucleo-F412ZG Nucleo 144 M4 Supported No doc
Nucleo-F746ZG Nucleo 144 M7 Supported No doc
Nucleo-F413ZH Nucleo 144 M4 Supported Doc available
Nucleo-F429ZI Nucleo 144 M4 Supported Doc available
Nucleo-L496ZG Nucleo 144 L4 Supported No Doc
Nucleo-L4R5ZI Nucleo 144 L4 Supported No Doc
Nucleo-F767ZI Nucleo 144 M7 Supported No Doc
Nucleo-H743ZI Nucleo 144 M7 Not supported No Doc

aabadie avatar Feb 20 '17 10:02 aabadie

Just out of curiosity: why is this a goal?

LudwigKnuepfer avatar Feb 25 '17 08:02 LudwigKnuepfer

why is this a goal?

It's a goal because it's difficult to follow the status of all ports for this family of boards : which one is in the code base, which one has a PR opened, which one is documented in the wiki. I think it also helps others following this work. Not sure if that answers your question.

aabadie avatar Feb 27 '17 07:02 aabadie

@aabadie I was interested in why it is a goal to support ALL Nucleo boards.

LudwigKnuepfer avatar Feb 28 '17 19:02 LudwigKnuepfer

@LudwigKnuepfer, last year at the Paris Open Source Summit, I remember there was one guy talking about IoT who was comparing different OSes. He gave his opinion about RIOT : promising but with limited hardware support. I think that supporting all Nucleo boards could give a good starting counter argument of what he said (even if he was more thinking of NXP MCUs).

Those boards covers a wide set of ST microcontrollers (from 2KB ram to more than 256KB, L0 to F7). I know some of them has limited interest for IoT (Nucleo-L011, the smallest for example) but it would be a good advertisement for RIOT to say : RIOT is supporting all Nucleo boards (like mbed) or RIOT is supporting all Arduino boards, etc Let's target exhaustive hardware support ! (pipe dream inside)

aabadie avatar Feb 28 '17 21:02 aabadie

I see, thank you for the explanation! Also: thank you for the effort, sounds legit ;)

LudwigKnuepfer avatar Mar 13 '17 16:03 LudwigKnuepfer

When I flash the Hello-world example on NUCLEO-F767ZI, I receive the following flashing error:

/home/vagrant/RIOT/boards/nucleo144-f767/dist/openocd.cfg:5: Error: Can't find target/stm32f7x.cfg in procedure 'script' at file "embedded:startup.tcl", line 60 at file "/home/vagrant/RIOT/boards/nucleo144-f767/dist/openocd.cfg", line 5 /home/vagrant/RIOT/examples/hello-world/../../Makefile.include:368: recipe for target 'flash' failed

Any thoughts is appreciated

Tenderson avatar Aug 11 '17 07:08 Tenderson

@soleilos most likely you need to update your OpenOCD version. It looks like your version is too old to support the stm32f7 CPUs.

jnohlgard avatar Aug 11 '17 07:08 jnohlgard

Hi @gebart , @aabadie ,

I updated the OpenOCD and it flashed successfully. However, when I try ps and help, nothing is shown on the terminal, although these modules are added to the program. The command is:

make BOARD=nucleo144-f767 flash term

I have the following settings:

$ gcc --version gcc (Ubuntu/Linaro 6.3.0-18ubuntu2~16.04) 6.3.0 20170519 $ openocd --version Open On-Chip Debugger 0.10.0 $ pip --version pip 9.0.1 from /home/vagrant/.local/lib/python2.7/site-packages (python 2.7)

Here is the result.

2017-10-11 12:58:49,095 - INFO # Connect to serial port /dev/ttyACM0 Welcome to pyterm! Type '/exit' to exit. ps help ps

Any thoughts is appreciated.

Tenderson avatar Oct 11 '17 13:10 Tenderson

@Tenderson, try to avoid cross posting for the same issue and create a dedicated one.

Maybe you need to update the ST Link of your board. See this page for more information.

aabadie avatar Oct 13 '17 17:10 aabadie

Maybe you need to update the ST Link of your board. See this page for more information.

@aabadie I have already given that advice, but apparently it didn't work

kYc0o avatar Oct 13 '17 17:10 kYc0o

@aabadie sorry if I don't get it from the above list, but arent't all boards ported now? If so, why don't we close this issue?

PeterKietzmann avatar Nov 27 '17 12:11 PeterKietzmann

If so, why don't we close this issue?

There are some remaining and the documentation is missing for some of the listed boards. I'd like to keep this one open for tracking the porting status.

aabadie avatar Nov 27 '17 12:11 aabadie

Oh completely overseen them two open PRs. Will 'ask around' if someone has the boards around.

PeterKietzmann avatar Nov 27 '17 12:11 PeterKietzmann

One of the 2 was already merged. I updated the list.

aabadie avatar Nov 27 '17 13:11 aabadie

I updated the above list now that #8939 got merged. The only remaining board is Nucleo-H743ZI. Is it planned to support it? Otherwise I don't know why we should keep this issue open.

PeterKietzmann avatar Jul 17 '19 08:07 PeterKietzmann

@aabadie ping? Is there support planned for the Nucleo-H743ZI?

miri64 avatar Jul 01 '20 12:07 miri64

Is there support planned for the Nucleo-H743ZI?

Yep, I got one in the office. I think @fjmolinas is interested by it hahaha ;)

aabadie avatar Jul 01 '20 12:07 aabadie

Still a goal?

I do have an STM32-H7 nucleo lying around that I would still like to see support for :)

maribu avatar Sep 16 '22 13:09 maribu

Still a goal?

I think so, but I doubt this issue will be resolved one day with ST releasing new boards all the time :)

aabadie avatar Sep 16 '22 13:09 aabadie

FYI: I started work on the STM32H7 family. I am using a Nucleo-STM32H723ZG (not listed in the table above). Made pretty good progress on the clock configuration today, which I will try to push before the weekend.

https://github.com/Enoch247/RIOT/tree/add-stm32h7

Enoch247 avatar Mar 15 '24 19:03 Enoch247

FYI: I started work on the STM32H7 family. I am using a Nucleo-STM32H723ZG (not listed in the table above). Made pretty good progress on the clock configuration today, which I will try to push before the weekend.

https://github.com/Enoch247/RIOT/tree/add-stm32h7

I won't be able to post today's code yet, but I've got it running on the HSI and can blink the board's user LEDs. Seem like things should get easier from here on out now.

Enoch247 avatar Mar 15 '24 20:03 Enoch247