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


First time program in STM32F411E-Disco

Hi, I am a newbie to STM32F4 as well as System Workbench for STM32.

I’m just start using STM32F411E-DiscoveryQuestion. And I’d like to try some example program to run on this board.

However, the example programs given in STM32CubeF4\ STM32Cube_FW_F4_V1.7.0\ Projects\ not including my board model.


Can I try by using other model example’s project, like STM32F4-Discovery or STM32F401-Discovery? Are they compatible?

If yes, should I just follow the user guide about Importing an STM32CubeMX generated project under System Workbench for STM32 ?
http://www.openstm32.org/Importing+a+STCubeMX+generated+project?structure=DocumentationQuestion

Hi,

IMO, because you don’t have examples for you board STM32Cube v1.7.0 or v1.8.0, the easy way is to generate the project from STM32CubeMX and then import into System Workbench. This should work, I do this for 4 or 5 different boards and I did not have any problems. Just follow the procedure you mention and generated project should build without problems.

If you can toggle some LEDs on the board then you can add code from existing examples from HAL library over the generared code.

I check CubeMX and you can select you board - see attached pictures. The clock is already configured and also the GPIO. Just generate this code then import into SW, then build, select the elf and try to download.
Turn ON a LED in main, check how this is done in STM32F4-Discovery - is the same code.

Pay attention to instructions related OpenOCD configuration: “Setting up your project for debug”. This is a sensitive part. The board has an ST-LINK/V2 hardware debugger same as F4 Discovery (don’t choose something with V2.1). If don’t find the OpenOCD configuration for you board for this part I think is safe to use the configuration for F4 Discovery.

Thank you very much, I can do it now.
I spent a lot of time trying to remove those bugs, but at the end i just found that the program work well even these errors existing.



Hi,

Normally that bugs should disappear. If I am not wrong, that unknown symbols are parser related - that doesn’t know at that moment some include paths. Anyway the compiler could resolve all includes.

You can try to:
1) Refresh the project: right-click on the project name - “stm32f411e-disco Configuration”, then from drop-down menu choose Refresh
2) Rebuild project index: right-click on the project name then choose Index > Rebuild

I am not sure, but I think after above steps, bugs should disappear.

You can also:
3) Go to Problems view (this window appears at the bottom of the screen , on your screenshot you don’t have this window. To display, in System Workbench go to Window > Show View > Problems). Delete all errors


As a note, your project still has “Configuration” word in the name. A recommendation from AC6 is to remove the space from project name:
(This could be a reason to confuse the parser).


Rename the generated files

To circunvent, at least partially, the project naming problem, you could rename the generated files :

Right click on project > Properties
Go to C/C++ Build > Settings > Build Artifact
Suppress ” Configuration” from the artifact name (or give it a more significant name)
(Do not rename your project : Eclipse seems to break all linked resources pointing to project-relative paths when the project is renamed.)”

You can find this in the documentation: Importing an STM32CubeMX generated project under System Workbench for STM32.

Emmm, pretty weird.
This method sometimes can work sometimes i have to #include the header files by myself to remove errors.

One more thing I like to ask:
I am trying to implement audio_play function by modifying the given codes in
...\STM32Cube_FW_F4_V1.8.0\Projects\STM32F4-Discovery\Examples\BSP\

the readme.txt mentioned that
------
@Note: Copy file “/Utilities/Media/Audio/art_of_gard_128K.bin” directly
in the STM32 flash at @0x08080000
------
&
------
- Use STLink utility, available on www.st.comQuestion or any other in system programming
tool to load “/Utilities/Media/Audio/art_of_gard_128K.bin” file to the STM32
internal flash at the address 0x08020000.
------

How can I do so?
I search thru all files, the audio file seem like is not load into internal flash by coding...
SW4STM32 have such utility to modify internal flash?

Hi,

I didn’t do this myself, but as a suggestion, you can try to program the application part using System Workbench, then start STM32 ST-Link Utility and program ONLY the memory starting from address 0x08020000 (see attached picture).
I think that the memory below that address will be unchanged (you can check this).

You can check at any time the memory content by reading with STM32 ST-Link Utility.


===
At this link is the documentation for STM32 ST-Link Utility. Check the chapter “3.5 Device programming”:
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/CD00262073.pdfQuestion

1. Click on Target | Program ... Open file
2. Select a binary (...) and click on the Open button.
3. Specify the address from which to start programming

======


Another possibility is to take the output from the System Workbench and to concatenate with the file containing the audio part, resulting file should be downloaded to target. Maybe you can find a utility that can do the merge for Cortex-M4