cancel
Showing results for 
Search instead for 
Did you mean: 

STEVAL-3DP 3D printer board...again...

TJM
Senior

Still trying to get the ST_Marlin firmware to compile under STM32CubeIDE and still unsuccessful. It just won't compile as copied OR migrated from SW4STM32 to the Cube. What I need is a step-by-step directory and file placement and configuration to make it work, but any suggestions other than toss it in the circular file and get a BigTreeTech (STM32 powered, by the way) really open source board.

Thanks,

tjm

16 REPLIES 16
TDK
Guru

> any suggestions other than toss it in the circular file

Post some more useful information than "just won't compile". Answers to specific questions and error messages are useful. Answer to "it doesn't work" is just a guessing game.

If you feel a post has answered your question, please click "Accept as Solution".
TJM
Senior

Thanks for the reply. I often give the same reply when I'm trying to provide some help.

I would like very much to provide more info. I've tried opening the project in SW4STM32 as noted in the readme and then in STM32CubeIDE as instructed in the migration docs. It appears to be loaded properly but trying to compile the project both before and after a CLEAN results in a 'nothing to compile' message. I'm somewhat sure the issue may be my lack of understanding of the relationship between the workspace and the project directories. Everything looks good, to me, but something is missing. I can start a new project with configurations with no problems so I know the toolchain is configured properly. I can match that directory and file organization with the 3dp firmware but it won't work for me. Something gets changed or left out or not found and I'll eventually find it, but hoping there was a better migration doc that contains file and directory setup info to make it a bit quicker. Searching through docs from several sources I find I'm far from the only person having the same issues, some go back over a year. All the docs give the 'do this, then that' steps but none show a 'this is what it should look like' when done properly.

TJM
Senior

Still trying to figure this thing out. Comments need to be made. I've been playing with this 3D printer board for a while and still trying to have the project compile successfully. No luck. You guys (the ST staff) appear to be pushing the IDE for development but just the fact that I've had no suggestions on how to import or make existing projects work, other than another user suggestion a few months back, tells me that there may be a major issue with this. It's would also be difficult to believe that no ST employee has actually tried to compile this particular 3DP firmware application using the IDE. If they haven't, they need to try before posting. If they have then the request for 'more useful information' would be right there on the monitor. More importantly, as of late ST appears to have added quite a few processor/board definitions to the Arduino IDE but no library inclusions. Tell us now so we don't waste our time. Is ST going to drop their IDE in favor of using CubeMX in conjunction with Arduino or the currently in development Arduino Pro?

mattias norlander
ST Employee

@TJM​,

Sorry don't know this project. Tried to google the only relevant search hit I could find was:

https://github.com/St3dPrinter/Marlin4ST/ <-- is this what you are referring to?

Had a look at it . Project does not seem to have any contributions for some years... Maybe this project was created for a quite old SW4STM32 version? In that case our import wizard may not support import. The wizards are not back-ward compatible with early SW4STM32 versions...

Issue is that CubeIDE cannot find any compatible build configuraitons in the .cproject file that is candidate to be converted into CubeIDE format. As a consequence, if the project is imported into CubeIDE I got some null pointer when building and when opening build settings I can see the somewhat cryptic message "orphaned build configurations" which typically implies that they are not useful at all. So I created a new project targetting same MCU and then imported those buid configs across to your project as a working template to start from and then took include paths and defines across from the orphaned ones...

It is not perfectly tidy and beautiful, but the build is successful which is good enough for me. The rest I leave for you. Here are some recommendations:

  • I would recommend not using linked resources in general.
    • But if you have to, to maintain intact project structure for other tools, then maybe no other option...
  • Regardless whether using linked resources or not, always make sure to add the header-files (by linked resources if no other option) into the project in the same way that is done with the source files. In this way editor/content navigation can work. If not, many of the editor features will not work, since the indexer will not index these files.

... OK, so still not sure the above link is the right project. If it is correct, then maybe I can send the semi-ported project to you. Drop me a PM if relevant.

With respect to your other question: ST is not looking to drop CubeIDE as reference tool. Who knows, maybe we partner up with Arduino Pro as a parallel partner offering? But that would be beyond my knowledge.

TJM
Senior

Mattias, thanks for the additional effort with this project. Yes, this is the project and board. All of my information and firmware files are from the main ST website, all found by searching with the board number STEVAL-3DP001V1 . I must have the original firmware files from ST. I never looked in github but it appears those are a bit newer or later versions. It also never occurred to me that the SW4STM32 IDE version may have been too old to allow the import into CubeIDE. After working on this quite a bit over the last few days I have gotten it to import and work normally and compile with no errors or omissions with the latest SW4STM32 IDE. I now have a working SW4STM32 project so maybe a successful import can happen from this latest SW to CubeIDE. I have tried to start a new CubeIDE project and then add in all the files from the SW project and had only a partial success but nothing that would compile a complete and working application. I can now modify and compile the firmware with the SW project and it produces a working and loadable application on this board. I would like to see the changes you made to make it work on the CubeIDE. I've sent a PM. Although this board is 5 years old, it's only recently that 32bit CNC type boards are coming available. This ST board would do well with an update that would allow replaceable motor drivers, an update to CubeIDE with the associated CubeMX config and a bit more generic approach to firmware mods for other CNC type applications.  

I found the original ST firmware file as en.stsw3dp001.zip and the link to more information is https://my.st.com/content/my_st_com/en/search.html#q=STEVAL-3DP001-t=tools-page=1 .

Just for information, I'm fitting this board to a highly modified CubeX Trio 3D printer that has three extruders and 4 motors for driving the three axes.

Thanks,

tjm

TJM
Senior

Mattias, thanks for the file access. I've managed to get the project into CubeIDE and compile successfully but the resultant .bin file is missing about 50K in the file size. The file loads but does not run. I'll do a bit more investigation but since I can compile and run under SW I think that not much more time should be spent on CubeIDE, at least for this project. Here are the CubeProgrammer messages:

08:12:00 : Opening and parsing file: Marlin_3DPrinter.bin

08:12:00 : File : Marlin_3DPrinter.bin

08:12:00 : Size : 185676 Bytes

08:12:00 : Address : 0x08000000 

08:12:00 : Erasing memory corresponding to segment 0:

08:12:00 : Erasing internal memory sectors [0 5]

08:12:03 : Download in Progress:

08:12:06 : File download complete

08:12:06 : Time elapsed during download operation: 00:00:06.362

08:12:06 : Verifying ...

08:12:06 : Read progress:

08:12:08 : Download verified successfully 

08:12:08 : RUNNING Program ... 

08:12:08 : Address: : 0x08000000

08:12:08 : Warning: failed to run application!

08:12:08 : Warning: The core is kept under Reset!

08:12:08 : Error: Start operation failed

Thanks,

TJM

Sasea.1
Associate

As of overdue ST appears to have brought pretty a few processor/board definitions to the Arduino IDE however no library inclusions. Tell us now so we do not waste our time. Is ST going to drop their IDE in prefer of the use of CubeMX along with Arduino blog or the presently in improvement Arduino Pro?

Hi,

STM32CubeIDE will remain the officially provided free IDE.

That said, we do partner with several other IDE vendors to provide a richer and more complete ecosystem.

Kind regards, Mattias

shorai
Associate III

I know this is an old thread, but might just help others

Download the official Marlin version 2. software from the MArlin site

Compile it under PlatformIO

You don't need to do much more than change the board definition.

I have done this sucecssfully under both Linux and Windows 10.

Debugging isn't great , but at least it works

You might be able to figure out what they are doing differently