2024-04-08 09:50 PM
I’m using STM32CubeIDE headless-build script in Linux for developing the software.
I have a question regarding how to check the version of the firmware that I’m actually using in my environment.
I tried to set a certain version of the firmware by writing the following syntax in package.xml as below.
--------------------------
<?xml version=“1.0” encoding=“ISO-8859-1" standalone=“no”?>
<Package DBVersion=“2.0">
<PackDescription Release=“FW.H7.1.11.0”>
<Note Release=“ReleaseNotes.html”/>
</PackDescription>
</Package>
--------------------------
After executing headless-build, I tried to find the evidences that I have actually used FW.H7.1.11.0, but unfortunately I couldn’t find anything in my filesystem.
I just would like to get the confirm that I’m using FW.H7.1.11.0, but I have no idea for now. If you have any idea to do that, that would be very nice to me. Thanks in advance.
My environmental information is following:
OS: Debian GNU/Linux 10
STM32CubeIDE: 1.12.1
Firmware Package: STM32Cube FW_H7 V1.11.0
Solved! Go to Solution.
2024-04-25 03:03 AM - edited 2024-04-25 03:07 AM
When (re)generating code with STM32CubeMX (or the build-in generator in STM32CubeIDE) it will copy the library files if you have selected one of the copy options (I would not use the reference option, unless you put the firmware pack in a submodule since you have no guarantee about the integrity of files outside of git). If you have "Use latest available version" checkbox unchecked in Project Manager it won't change the version! If you don't have the firmware package of the selected version on your system you'll be prompted for download it when generating. This is why I like to archive specific versions of STM32CubeMX and firmware packs so you can still make changes to your configuration without the need to download more files or the need to copy them all in your repo.
It won't copy anything during build.
So if you have a clean recursive checkout and use the same STM32CubeIDE version for your headless build you should get a bit-identical binary (even same if you build under Windows or Linux, though formatting of hex/elf files might slightly differ).
I always use standalone STM32CubeMX, because I like to keep my tools separate.
2024-04-09 05:29 AM
Hello @u1kano and welcome to the community,
If I understand correctly, the problem is that you are not sure that you are using the right FW package.
If this is the case, you just need to confirm when creating the project that you have used the correct firmware package name and version as shown in the screenshot.
Thanks,
Rim
2024-04-10 12:59 AM
Thank you for your reply.
Yes, your understanding is correct.
Although it may be too much, we would like to have a prove that the firmware package version that I’m using every time when building the software by using headless-build script in CLI environment.
I’m sure that our project was created with correct firmware package name and version. But if there is a way to double-check it per building the software, that would be helpful for us.
Thanks in advance.
2024-04-11 07:39 AM
Usually, the Pack version is included in its path name somewhere
2024-04-11 02:54 PM - edited 2024-04-11 02:59 PM
What if you just make a private git repo with the needed ST libraries and clone it into your build system, like your own sources. You don't have doubts about your own source version, don't you?
If you don't patch the ST libraries you can clone them directly from github, by known tags. (warning: there are small differences between github releases and ZIPs downloadable by Package manager. Usually these differences are non-functional, but you should check).
2024-04-15 06:08 PM - edited 2024-04-15 06:11 PM
@Rim LANDOLSI @Pavel A. @Andrew Neil
Thank you for your reply.
I'd like to confirm a bit more about the Firmware Package version.
- Will the "Firmware Package Name and Version" set during project creation remain fixed unless modified?
- Is the Firmware Package copied every time during the build process? Or is it reused if it's the same version?
2024-04-25 02:36 AM
I would like to clarify the following questions. It would be very helpful if anyone knows and could reply.
- Will the "Firmware Package Name and Version" set during project creation remain fixed unless modified?
- Is the Firmware Package copied every time during the build process? Or is it reused if it's the same version?
2024-04-25 03:03 AM - edited 2024-04-25 03:07 AM
When (re)generating code with STM32CubeMX (or the build-in generator in STM32CubeIDE) it will copy the library files if you have selected one of the copy options (I would not use the reference option, unless you put the firmware pack in a submodule since you have no guarantee about the integrity of files outside of git). If you have "Use latest available version" checkbox unchecked in Project Manager it won't change the version! If you don't have the firmware package of the selected version on your system you'll be prompted for download it when generating. This is why I like to archive specific versions of STM32CubeMX and firmware packs so you can still make changes to your configuration without the need to download more files or the need to copy them all in your repo.
It won't copy anything during build.
So if you have a clean recursive checkout and use the same STM32CubeIDE version for your headless build you should get a bit-identical binary (even same if you build under Windows or Linux, though formatting of hex/elf files might slightly differ).
I always use standalone STM32CubeMX, because I like to keep my tools separate.