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
[2.0.x] Marlin does not compile to STM32 using default example config #8585
Comments
It appears the issue is a failure to call
Even doing a
|
Possibly some other file named |
@thinkyhead Differences between the two consist of the stm32f1 having a build_flags for python in platformio.ini and teensy35 using libraries included in its HAL folder. |
I have continued to look into this issue, but I have yet to find a solution. Since I am newer to platformio, I don't quite know the ins and outs of it like arduino ide. It may be wise to have some of the devs look into this one. |
Will STM32 be supported anytime soon? |
It's supported, I'm printing fine in my custom board. You need to change this line: Should read I'll try to correct that in my next PR, someway I missed it in my latest PR, I also had the same error that when I rebased a few days ago and got the change. |
@thinkyhead feel free to reference me in any STMF1 issue if I don't happen to reply, some times I may go quite a few days without having enough time check what's going on in general, but if you reference me I should get a flag when I login to github. |
@compihu just so you know, I use Sloeber, not platformio or Arduino IDE, but you find any other error let me know and I'll try to test. |
As reported in this issue: MarlinFirmware#8585 I have it working fine in my local copy like that change.
I just sent a PR to fix this: |
@victorpv I changed SPI.h inclusion to the same as appears in your pull request on top of #c555a214d2cb5704bb323f99b15f0132300336b4 |
not sure if you need to do it in platformio, but in Sloeber I have the STM32F1/libraries/SPI library, from the stm32duino core files, added to the library list in the project. |
I need to check in the timer error, I think something went wrong with my commits and something is missing, since me local copy compiles and runs fine. |
@compihu I see one of the timer files is not updated. |
@victorpv I know it's a little annoying having to support a build chain you don't use yourself, I use Eclipse myself for development, but we are trying to standardise on platformio for all platforms (not the painful Atom IDE plugin, you can ignore that as long as the command line build works), you can also add a simple default build test for your platform to Travis just to make sure there aren't any silent build issues introduced later. |
@victorpv btw
This part dont needed anymore... |
Thanks p3p, I'll try to learn how to use Travis. |
@compihu replace the file in your disk with this one: That has the latest changes. Don't download that whole branch, it's a merge to add multiserial support from TCM but not tested yet. You can download if you want to test it, but I haven't tested anything other than compilation. |
My response wasn't directly related to this issue, I had just seen a few comments scroll past about build issues and you responding that you build with Sloeber so I was just making sure you knew it was recommended that all platforms do build with platformio, Adding a default config Travis test should be pretty painless (one day we will run the whole test suite against each platform but that's not possible yet), you can just modify the LPC1768 one (https://github.com/MarlinFirmware/Marlin/blob/bugfix-2.0.x/.travis.yml#L422) |
I thought your comment was referring to both, this case and in general. I need to check how Travis works and hopefully get it set for autobuilding the STM HAL. Thanks for the pointer. |
@compihu btw just tested the multihost branch I linked above and seems to work, using SerialUSB + usart 1 |
[2.0.x] STM32F1 HAL: Fix issue #8585. Updates to readme.
@alexxy seems like you have more experience with platformio. Can you check if updating the file metioned above from the multi-serial branch compiles in platformio? |
@victorpv latest changes doesnt compiles for me with PIO
|
@alexxy you would have to replace this file in your folder with this copy: I tried Travis CI in my branch, but platformio apparently doesn't have board definition for MCUs with more than 64 pins (RxT6). |
I've given up for tonight. I can't find any non-hackish way to get the "gccarmnoneeabi" compiler to like C++11. I'll need to get well-acquainted with building for all our targets and make sure they can all be built from my environment … not just for my own testing but also to be able to write up understandable build instructions for end-users. I don't want anyone to have to deal with the kinds of pitfalls we devs seem to enjoy so much. |
That build platform is going to be awesome. I could do something similar with the bits and pieces I have lying around here. Hmm… |
I just tried with sloeber (eclipse Arduino plug in) and it’s working too with my modded code. If I use the code from the repo it doesn’t work, still a pb with spi. |
Same include path issue? I will patch that later today. |
Already did it but some spi timer issues. I really think we need to focus compiling with Arduino with stm32duino libs since it is written to natively work with it. The other choice is to import these libs into platformio |
Does this mean that STM32 HAL is based on arduino framework? Please, please, please say no.... Pretty please with sugar on top... |
The STM32F1 Hal was written by Victor who is an active member of the STM32duino community. All his work is based on these special modded libs. But I don’t think it’s difficult to get it work with platformio but it need some work. The STMF7 hal use a special core created by Danieleff, it seems using standard STM libs, i’m just waiting for my dev board to try it. |
I did a patch to deal with some bad paths, but it only improved the LPC1768 situation. I still need to mess around more to resolve the same issue with STM32F1. I have hesitated because if it's supposed to be possible to build for STM32F1 in Arduino IDE, the kinds of changes I would make could break that compatibility. Word has it that carefully placed |
Getting close to being able to build for STM32F1, but there are now some new compile issues that need working out. https://github.com/thinkyhead/Marlin/tree/bf2_stm32f1_fixup |
Good job 👍 i’m going to test this weekend. I think we could improve the compatibility with Arduino IDE in the near future but it’s important for everyone to use the same program to compile. |
@thinkyhead Just tried to compile your work and you're right we are close but still a lot of error. i will try to help improve the compatibility. |
Good luck. If you get it compiling, please submit a PR with the solution. |
Any progress on it? |
No I let it down after a week of try, I’m using Arduino 1.9 beta now, and I recommend to use it for AVR, F1 and F7 Hal. |
check config changes in previos commit |
Compiles for me with current platformio and current frameworks and platforms versions.
However display will not work. And some other disabled modules |
Yes, I was trying to compile that way MarlinBuildSTM32_e6042a7c52bbe06e28ad3485cada530a32249f57.log |
Did you update to recent bugfix-2.0.x branch? And are you pio packages up to date? |
you can see the commit hash in the name of the log file (it is there for this reason) PIO packages/platforms/libs are up to date. |
Hi there! I was able to compile (on a Linux VM, I can't make Atom work on Windows) until commit c1e5ebb. Since that commit I'm getting an error:
Edit: I'm adding a build log, in case it helps. build log.txt |
Just checked that commit you mention, and there is a couple of inconsistencies in the case for v and io, lines 37 and 39 I believe, in the fastio file in the f1 hal. Edit it amd make sure that io and v amd always upper case or lower case within each macro line, but not lower case in one part and upper case in another part of the same line. |
We've put more time into cleaning up the fastio headers, so remaining typos should now be fixed. |
Now it compiles. Thanks! |
Hello, i'm having an include issue but for something else and would like to know if there is a fix for it does any one knows how to fix this? many thanks, Eli. |
@eli76z — This Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here. (As noted on this page.) For best results getting help with configuration and troubleshooting, please use the following resources:
|
Compile Error
When I compile for STM32 with default example configuration the compilation fails:
Marlin2_stm32f1_buildlog.txt
The text was updated successfully, but these errors were encountered: