-
-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arduino framework for STM32 #76
Comments
Is this coming any time soon? |
Isn't it already done? |
@me21 well not really, if I for example want to develop for Nucleo, there is option only for mbed framework not Arduino. |
It's in our plan, so it'll come. However, I don't have enough free time to dig in this, right now. |
I think it make no really sense to support the old st framework. The new STM32 Arduino Core will be more important because there is also support for the nucleo add-on boards, Ethernet and FreeRtos. |
+1 for this feature |
@ghent360 mostly reading |
bump |
any news about? |
Now that STM32F3 support has been dropped from rogerclark's Arduino core, I think it would be nice to include various Arduino cores into Platformio, namely:
|
In the upcoming few weeks, I will finish with all F1/F4 boards from Roger's core and then green light to the STM's official Arduino core. I can't tell about others, as main target will be more-popular/official cores first. |
Successfully ported for the F103C8/BluePill board. From now on, development will be on my forked repo and merged into Right know there's some manual work to-do in order to enable for the F103C8 board and I need to simplify everything so the changes could be pushed and tested by anyone. |
@me21, I used someone else's builder + a few modifications to get STM32GENERIC running fine with PIO. The biggest problem is that that core doesn't seem to be actively maintained, and there's a few problems with it. Other than figuring out how to get it to download, it wasn't too hard. You can set your development platform to point to my fork of the repo and your framework to arduinostm32generic and it should pull down what's needed and build fine. |
@ubis Thank you for your port. I would like to test it, but wasn't successful. platform = https://github.com/ubis/platform-ststm32.git#feature/add_stm32_arduino_core
board = genericSTM32F103C8
build_flags=-D STM32_OFFICIAL_CORE Unfortunately I only got |
@nightvisi0n No, it's on my end, because I haven't written anywhere how to use it, since some manual work needs to be done, in order to set up everything. Now, it doesn't support generic boards at the moment, and we will discuss with Ivan about this, but in the meantime please use BluePill F103C8. Then create a folder called |
@ubis, I followed your directions in your last comment but I get the following error: framework-arduinoststm32/STM32/system/Drivers/CMSIS/Device/ST/STM32L0xx/Include/stm32l053xx.h:129:10: fatal error: core_cm0plus.h: No such file or directory In the gcc command line I see:
I can track the source of that Update: I removed "Core" from https://github.com/ubis/platform-ststm32/blob/feature/add_stm32_arduino_core/builder/frameworks/arduino/stm32core.py#L142 and it's a lot happier. The next error is:
I'm a bit stumped, Am I off-track? |
@tve Sorry, i made a typo and posted a link of CMSIS4 instead of CMSIS5. Please use this: https://github.com/ARM-software/CMSIS_5 . I've edited my previous post already. You shouldn't need to edit anything, as everything should work out-of-the-box, except preparing that package with core + CMSIS. |
Well, it doesn't "just work". I still get: /home/tve/.platformio/packages/framework-arduinoststm32/STM32/cores/arduino/stm32/clock.c:39:10: fatal error: stm32yyxx_ll_cortex.h: No such file or directory due to a missing Also, the stuff in |
It seems that core has been updated a few days ago and made some changes about LL wrapper. I will update builder script now, thanks. EDIT: |
Yup, that does it! Thanks for the super-quick turn-around! |
@ubis i still have issues with STM32L432. I have tried it on 3 PC with fresh install of VS code (one is portable). platformio.ini:
error:
|
@boristomas Have you created |
i created STM32, STM32L4,... you name it. error is the same |
I've changed main branch in my repo, so everyone can directly use it, instead of replacing platform files. However, package still needs to have
@boristomas why I asked about STM32 folder, because error happens at 38 line, which is |
There is some development on supporting Arduino STM32Core, but I don't know when there is a release. |
Yes, there's official STM32 core support in develop branch. However, currently we support the exact boards (so different boards with same mcu's won't work, at the moment). Take a look in here to get a full supported board list. So in @vivian-ng's case, none of generic boards are supported, but |
Thanks, @ubis and @valeros for adding support for official STm32 Core for Arduino. We are going to make a public release this week. Please re-test the latest upstream version https://docs.platformio.org/en/latest/platforms/ststm32.html#upstream Does it work for you? |
Tested with Nucleo 429ZI, yes it works. Thank you very much. 👍 |
Is there a way to explicitly specify which core I want to use? I have a project built using legacy (rogerclark's) core that is based on maple and upgrading stm32 platform to 4.6.0 caused a switch to new stm32 core, which broke my build. |
Same problem here... @qu1ck Alternatively, if it's possible, Can anyone suggest a way to downgrade STM32 platform from 4.6.0 back to 4.5.0 version? Thank you ! |
Yes, if you need old version of dev/platform, please use |
@ivankravets I hope your solution is only temporary, because using older version of the platform cuts us off future updates of core and compiler. |
@Alteregoxxx see this commit: It works right now because ststm32 platform build file (linked it above) checks if the board variant is one of the explicit variants that are configured in the framework-arduinoststm32 package. Since "custom" isn't one of them, it reverts to legacy (unless board mcu is one of stm32f1 or stm32f4 in which case there is a hail mary fallback to new stm32 core). I am aware that you can "pin" the version of the platform for the project in ini file but that is unworkable solution. If I have more than 1 projects using different cores I can't keep downloading different versions all the time when I switch between them. |
Maybe the Maple boards and clones should have a seperate platform. |
Can it be made possible to choose core (official or rogerclarkmelbourne) in the platform? |
@valeros is it possible to add support for |
agree with this
so the possibility to choose which one to use would be very useful :) |
Well, do not hesitate to contribute or submit a request ;) |
@fpistm, I suppose that f767zi will get arduino support in next stm32diuno release ? or should I patch anything ? |
@rzr The "official" core already supports the Nucleo F767ZI board in the current version 1.4 |
So I should add arduino framework to platformio board defs, until 1.5 is released (with a couple of patches from me) |
Yes, please add the Nucleo-F767ZI to the board defs. I got a board last week and so I'm missing the support. :) |
See platformio/platform-ststm32#76 for details of breakages in ststm32 v4.6.0
Added, see https://github.com/platformio/platform-ststm32/blob/develop/boards/nucleo_f767zi.json
Added support for 1.5 in the latest upstream version of dev/platform. See docs https://docs.platformio.org/en/latest/platforms/ststm32.html#stable-and-upstream-versions Please re-test. P.S: Switching between Arduino cores: https://docs.platformio.org/en/latest/platforms/ststm32.html#switching-between-arduino-cores |
has anybody try to use ladybug-L432KC in platformio?? even the mcu is same with nucleo-L432kc but i can't upload my .hex to board.. thanks |
Can you add the Arduino framework port from STM?
Announcement: https://community.st.com/community/stm32-community/blog/2017/07/13/stm32-cores-enabled-in-arduino-ide
Github: https://github.com/stm32duino/Arduino_Core_STM32
The text was updated successfully, but these errors were encountered: