cancel
Showing results for 
Search instead for 
Did you mean: 

.extSettings file don't work as described in documentation

Intector
Associate III

Hello,

I'm trying to use the .extSettings file to add files to my project and followed the description in "UM1718.pdf". Unfortunately, this don't work. I'm using STM32CubeMX to create a "Dummy" project for STM32CubeIDE.

here is the content of my .extSettings file:

 

[Groups]
Middlewares/ST/netxduo/addons/ftp=C:\Users\xxxxxx\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-AZRTOS-F7\1.1.0\Middlewares\ST\netxduo\addons\ftp\nxd_ftp_server.c;C:\Users\xxxxxx\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-AZRTOS-F7\1.1.0\Middlewares\ST\netxduo\addons\ftp\nxd_ftp_server.h
Web_Content=D:\cloud\OneDrive_Intector\project_team\TAG-ID\dev\web\E-Paper\index.html

 

I'm expecting to find this in the STM32CubeIDE project view:

Intector_0-1712956419368.png

But this is what I really find:

Intector_1-1712956539055.png

 

I hope to find some answers to this issue, because STM32CubeMX is buggy enough even without this.

 

Never forget:

"Always be yourself, unless you can be a pirate. Then always be a pirate."

10 REPLIES 10
Guillaume K
ST Employee

Hello

There can be several reasons why CubeMX doesn't take into account the .extSettings file.

- Sometimes the new files are added in STM32CubeIDE .project file but the Project Explorer view is not updated. Try to do a "Refresh"  on the project in project explorer view (use right click menu) or delete the project from the workspace  (without deleting the project files content) and re-import it in CubeIDE.

- try to add a semi colon ";" at the end of each line in [Groups] section

- have a look at STM32CubeMX.log file in .stm32cubxmx directory in your home directory

Hey Guillaume,

Thank you for the fast answer to my post. The use of the .extSettings file is just a way to add some functionality to my project which is not provided by the STM32CubeMX software. Let me explain my problem to show you why I'm trying to use the .extSettings file. For an easier follow up, I've attached my project.

I'm using the NUCLEO-F767ZI board to run a HTTP server which loads the content from an attached SD-Card. The card is connected to the default SDMMC1 of the NUCLEO-F767ZI board. There're some issues with the generated SD-Card files, but I mentioned this in a different post (Solution for STM32-F7 SDMMC in 4-Bit wide bus mode... - STMicroelectronics Community). I like to use the FTP-Server from NetXDuo to be able to change some content of the SD-Card from the web interface. Unfortunately, STM32CubeMX don't offer any of the FTP functionality offered by the NetXDuo even it is included in the "x-cube-azrtos-f7" software extension pack.

Intector_0-1713183860767.png

However, I tried to manually copy the files into my project, but this don't work because STM32CubeMX deletes everything which isn't configured withing this software. I manually copied the files for the NetXDuo FTP-Server outside of the STM32CubeMX realm, but this would require many changes in the standard code to work correctly.

The only option left is the .extSettings file. I tried everything including the options you mentioned in your answer, but nothing works and STM32CubeMX is persistent ignoring the .extSettings file.

Is there any reason why STM32CubeMX don't offer all the NetXDuo addons, especially the FTP functionality. One would think this is something pretty standard and could be done very easy.

Also, I wasn't able to locate the "STM32CubeMX.log" file anywhere on my computer. I'm not sure what you mean by ".stm32cubxmx directory in your home directory"

Can you please point me in the direction where I can get help with those points?

 

Never forget:

"Always be yourself, unless you can be a pirate. Then always be a pirate."


@Intector wrote:

 

However, I tried to manually copy the files into my project, but this don't work because STM32CubeMX deletes everything which isn't configured withing this software.

 


Try this: In CubeMX "Project Manager" tab, go to "code generator" and un-check "Delete previously generated files".

This changes ProjectManager.DeletePrevious to false in the .ioc file.

Regarding STM32CubeMX.log : I made small mistake: the directory is .stm32cubemx (starting with a dot) in your home directory. If you are on a Windows PC go to C:\users\<your user ID>\.stm32cubemx

In your .extSettings file, check there is no space character in the group names. Put a semi-colon at the end of each line. Put [Others] and [ProjectFiles]sections.  try to use forward slashes : 

[ProjectFiles]
[Others]
Define=
HALModule=
[Groups]
Middlewares/ST/netxduo/addons/ftp=C:/Users/xxxxxx/STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-AZRTOS-F7/1.1.0/Middlewares/ST/netxduo/addons/ftp/nxd_ftp_server.c;C:/Users/xxxxxx/STM32Cube/Repository/Packs/STMicroelectronics/X-CUBE-AZRTOS-F7/1.1.0/Middlewares/ST/netxduo/addons/ftp/nxd_ftp_server.h;
Web_Content=D:/cloud/OneDrive_Intector/project_team/TAG-ID/dev/web/E-Paper/index.html;

 

Guillaume K
ST Employee

Note that if there is at least one file that is incorrect in the [Groups] section then CubeMX will not add any file in the project.

Hey Guillaume,

Thank you for your help with this issue. I tried your recommendations, but it still won't work. 

I've added the latest project with the STM32CubeMX.log file for your information.

 

Do you know why STM32CubeMX won't give me access to the NetXDuo FTP addons?

 

Guillaume K
ST Employee

Hello

I see in the project you provided that you generate for STM32CubeIDE and use STM32CubeMX options "Generate under root" (in Project manager/Project) and "Copy only the necessary library files" (in Project Manager / Code Generator).

It seems that in this configuration, CubeMX generates a CubeIDE .project file with no link to any source file. In this configuration, CubeIDE will compile all the .c sources files that it finds in the directory where .project and .cproject are located (and directories below).

In particular, in this .project file there is no "group" (virtual folder) because there are no "linked files" (<link> tags in .project). You see directly the real folders that are present at same level as .project file and below.

If you select CubeMX Project option "Add necessary library files as reference in the toolchain project configuration file" then CubeMX will generate a CubeIDE .project file with links to source files specified in CubeMX configuration and .extSettings file. CubeMX will put these files in the "virtual folders" (groups) indicated in .extSettings. it is the <linkedResources> and <link> tags in .project file.

Regarding the selection of Netxduo FTP add-on, it was not specified inside the X-Cube-AZRTOS-F7 package (no specific bundle in the *.pdsc file). I guess it was estimated as not important. The files are still present in the repository though.

Guillaume K
ST Employee

Hello

You wrote:

I like to use the FTP-Server from NetXDuo to be able to change some content of the SD-Card from the web interface.

how can you modify the content of SD-card with an FTP server "from the web interface" ?

Do you mean you are going to use an FTP client application on a PC to send the files updates with FTP protocol to the remote STM32 device ?

 

Hey Guillaume,

Sorry for the delay. I've a NUCLEO-F767ZI board and I want to run AZRTOS with HTTP server and FTP server. I have the HTTP-Server and the FTP-Server running so far. The webpage comes from a SD-Card on SDMMC1 which works like a charm. I can connect to the FTP-Server via Filezilla and get the directory listing from the server. I also can in different directories on the SD-Card and everything works fine.

As soon as I try to copy a small test file to or from the server, the FTP-Server get stuck. Only a reset of the NUCLEO board brings everything back to life. When I try to step through the software in debug mode, everything works fine up until the file is copied to the card on which point the CPU goes in hiding. The file is not on the card after checking it in my computer. 

I'm using the files from the STM32CubeMX library, but I found that there're newer versions of the ftp-server files on gitub. 

I don't know what else I can do to make it work. I already tried to copy the files via HTTP to the STM32, but that doesn't work either.

 

 

Never forget:

"Always be yourself, unless you can be a pirate. Then always be a pirate."

best regards

Kai 

Maybe the problem is in writing to the SD card. Are you using FileX ? did you try to write to the SD card ? I don't know a lot about FileX and SD cards.