Skip to main content
AKato.1
Associate
Nov 10, 2020 8:13 AM UTC
Solved

AlgoBuilder: Create a new firmware template

Hi,

my goal is to use custom template files in AlgoBuilder. For instance have an extra function or class in the main.c file. Therefore I would like to create a new firmware template for NUCLEO-L476RG as described in en.UM2689.

I am working with CubeMX, since in CubeIDE it is not possible to change the "application structure" to "Basic".

I am following the description in en.UM2689, setting the application to "IKS01A3_AlgoBuilder_Template", etc. After generating the code, I copy the whole project location to C:\Users\USER_NAME

\STMicroelectronics\AlgoBuilder\FirmwareTemplate\.

Then I restart Algobuilder and try to create a new design for the new target. However, the new target is not available in the dropdown list as shown on Figure 29.:

Is there anything, I am missing? If I go to C:\Program Files (x86)\STMicroelectronics\AlgoBuilder\ProjectTemplate, I see a target.xml file describing different targets.

This topic has been closed for replies.
AKato.1
AKato.1Best answer
Associate
Nov 11, 2020 10:51 AM UTC

Hi Miroslav,

I have definitely made some progress:

  • Set peripherals in CubeMX
  • KS01A3_AlgoBuilder_Template application created in CubeMX
  • Opened KS01A3_AlgoBuilder_Template application CubeIDE without changing anything, just building it. (There has been some problems with included .c files)
  • Copied to C:\Users\USER_NAME\STMicroelectronics\AlgoBuilder\FirmwareTemplate\.
  • Started Algobuilder and under Targets the following target has appeared: Nucleo_L476RG_Template_01 (STM32L476RGTx)
  • Created a very simple project: SensorHub + Accelerator + Graph
  • "Generate C code" and "Show C Code"

Here I have some problems. I am looking at the file "algo_builder.c" from the template and compare it to the C code which is shown. I would accept, that they are the same, but it is not the case. Should they be the same or do I misunderstand something at concept level.

I am going to send you:

  • New version of the KS01A3_AlgoBuilder_Template
  • Some screenshots from Algobuilder and different algo_builder.c

Thank you for your help!

Best regards,

Attila

8 replies

ST Employee
Nov 10, 2020 9:50 AM UTC

Hi,

did you select the Toolchain/IDE in the Firmware settings first?

If yes, can you please share with me your Project Template so I can test it?

AKato.1
AKato.1Author
Associate
Nov 10, 2020 10:10 AM UTC

Hi Miroslav,

thanks for your reply. In attachment you find the generated project and some screenshots from CubeMX and Algobuilder.

I selected the Toolchain CubeIDE in CubeMX.

AKato.1
AKato.1Author
Associate
Nov 10, 2020 10:11 AM UTC

... and the screenshots.

ST Employee
Nov 11, 2020 8:26 AM UTC

HI,

I have checked your project.

1) For STM32CubeIDE you have to uncheck the Generate Under Root option in Project Manager tab. The project files must be inside STM32CubeIDE directory.

2) I see peripherals (TIM, CRC, I2C) are not configured as it is described in the UM2689.

AKato.1
AKato.1AuthorBest answer
Associate
Nov 11, 2020 10:51 AM UTC

Hi Miroslav,

I have definitely made some progress:

  • Set peripherals in CubeMX
  • KS01A3_AlgoBuilder_Template application created in CubeMX
  • Opened KS01A3_AlgoBuilder_Template application CubeIDE without changing anything, just building it. (There has been some problems with included .c files)
  • Copied to C:\Users\USER_NAME\STMicroelectronics\AlgoBuilder\FirmwareTemplate\.
  • Started Algobuilder and under Targets the following target has appeared: Nucleo_L476RG_Template_01 (STM32L476RGTx)
  • Created a very simple project: SensorHub + Accelerator + Graph
  • "Generate C code" and "Show C Code"

Here I have some problems. I am looking at the file "algo_builder.c" from the template and compare it to the C code which is shown. I would accept, that they are the same, but it is not the case. Should they be the same or do I misunderstand something at concept level.

I am going to send you:

  • New version of the KS01A3_AlgoBuilder_Template
  • Some screenshots from Algobuilder and different algo_builder.c

Thank you for your help!

Best regards,

Attila

AKato.1
AKato.1Author
Associate
Nov 11, 2020 10:56 AM UTC

Screenshots to different algo_builder.c files:

ST Employee
Nov 12, 2020 8:25 AM UTC

Hi Attila

your latest template seems to be fine. I have tested it quickly and it works.

algo_builder.c is generated by the AlgoBuilder application according to your design, so it wont be the same as it is in the template.

AKato.1
AKato.1Author
Associate
Nov 13, 2020 11:53 AM UTC

Hi Miroslav,

thank you for your support. Everything works fine. We are experimenting with our own blocks based on templates right now. It is super cool!

Best regards,

Attila