Loading...
 

SW4STM32 and SW4Linux fully supports the STM32MP1 asymmetric multicore Cortex/A7+M4 MPUs

   With System Workbench for Linux, Embedded Linux on the STM32MP1 family of MPUs from ST was never as simple to build and maintain, even for newcomers in the Linux world. And, if you install System Workbench for Linux in System Workbench for STM32 you can seamlessly develop and debug asymmetric applications running partly on Linux, partly on the Cortex-M4.
You can get more information from the ac6-tools website and download (registration required) various documents highlighting:

System Workbench for STM32


Project Explorer format

I’ve used Eclipse for quite a while now, but I never had a project setup like the one used in the System Workbench.

I hate the way it displays the project, especially the include files.

The structure does not copy the file-system structure. Everything is in a different location.

The include files are not in the include directories, they are in the ‘Includes” psuedo folder at the root.

I have not yet figured out how to have my own “inc” folder to create include files in. (Ok, actually I did create it, but as soon as I used CUBE it deleted it).

I feel like there has to be some setting somewhere to change this back to what I’m used to, anyone know where that setting is?

THanks!
-Matt

France

Hi Matt,

The problem you describe are related to CubeMX, up to version 4.13; you should upgrade to 4.14, then regenerate your project in a new directory: the result should be a lot cleaner wink

Please keep us informed in case of further problems,

Bernard (Ac6)

biggrin Wow thanks!

Good to know!

-Matt Ü


Hi Bernard,

the further problems one can see here http://www.openstm32.org/tiki-view_forum_thread.php?comments_parentId=2536&topics_offset=1Question and
there http://www.openstm32.org/tiki-view_forum_thread.php?comments_parentId=2543&topics_offset=3Question for example.

I have also worked only a couple of weeks with this stuff. Because of the few documentation it was hard to begin with.

When I followed the instructions from here http://www.openstm32.org/Importing+a+STCubeMX+generated+projectQuestion the project without user code did compile out of the box.
This is not the case when I generate a project by CubeMX with “Generate under root” is checked which is the the default now.
There is no documentation of the doings from here on.
The FAQ is naming 3 ways for import/export but the author seems not to like that someone understands what he is writing.

Inbetween I have reworked the Adafruit LCD / ST7735 library code to get screen rotation working and so on. FATFS on SD-cards is also working using code from the F4.
But I’m still confused how to do things the right way.

Because I do not own one of these nucleo eval or whatever board from ST, within CubeMX only the MCU and peripheral get configured.

After export/import the CubeMX project the “classic” way as documented, I have imported by means of “filesystem import” in ac6 parts from these archives STM32Cube_FW_F1_V1.3.0 and STM32Cube_FW_F4_V1.11.0.
For example I put BSP and all I needed from it below /Drivers, created a folder drivers below /Middlewares/FatFs/ and copied sd_diskio.c and sd_diskio.h into it.
Also the folder Utilities was imported from STM32Cube_FW_F1_V1.3.0 in order to get the fonts files.and so on.

So everything imported from the code examples are physical files and the files generated by CubeMX are linked into these ac6 generated folders.

The generated code from CubeMX and the demo code from the named archives sometimes do not fit very well. There is code generated by CubeMX which is not used when one is using code from examples
which are doing the same thing with a different aproach, For example in the generated file /Application/User/fatfs.c it insists to the name USER_Driver as the linked driver. USER_Driver is implemented in /Application/User/user_diskio.c. But because this complete file is user code it could be replaced by sd_diskio.c exept the name USER_Driver.
For some elements I have selected “not to be generated”. This generates the code but do not the initialization in main.c. On the other hand I like to know that CubeMX has verified my complete configuration not only parts of it.

So I ask you. Do I go the right way, or is this funny.
And please write more docu.

Dieter