cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H533 and CubeMX generated project for CubeIDE

lclor
Associate III

Hello,

all my tools are updated to last ones, and software packages too.

I start an empty project using X Cube FreeRtos 1.5 (just a default task).

Play the soft with debug, and after a few seconds, press "Suspend" button to break the running program.

Then, there are a lot of calls to vPortSetupTimerInterrupt function (port.c) in the call stack.

The tick is by default 1ms and cpu clock to 250Mhz. 

Not sure that is normal?

thanks for your help

Laurent

 

 

1 ACCEPTED SOLUTION

Accepted Solutions
lobna
ST Employee

Dear @Iclolor

As you know After investigation, the execution flow of the application is correct, and the issue lies only in the representation of the call stack in the debugger. For internal tracking, the opened ticket number is:  CDM0061147

BR

Lobna 

View solution in original post

16 REPLIES 16
lobna
ST Employee

Dear @lclor

  • Compare your port.c with the one from a fresh, minimal CubeMX project using the same MCU and X‑CUBE‑FreeRTOS 1.5.0.
  • Check where the vPortSetupTimerInterrupt function is referenced and what is calling it.
  • Did you enabled: a global a tickless idle or any STM32CubeMX “low power tickless” options? If yes Could you disable them, regenerate the project and tell us whether the behavior disappears or not?

Best regards

Lobna

 

lclor
Associate III

thank you for your answer,

 

yes, at beginning, I saw this behavior in my project, so I started a new project from scratch, and just set FreeRtos, c cpu lock, and SWD. So the port.c file is a fresh one generated by CubeMX. All options are default ones, except heap size, stack size and freertos heap size.

I think, not sure at 100%, but before upgrading (yesterday) my CubeIDE, CubeMX and freertos package, I didn't have this issue, because I have done some debug sessions with my project RS232 link, and I didn't remember seeing this list of function call : vPortSetupTimerInterrupt.

vPortSetupTimerInterrupt is called by xPortStartScheduler, I suppose this function is called only one time ?!

 

 

lclor
Associate III

USE_TICKLESS_IDLE is disabled by default.

lclor
Associate III

hi,

 

I have done the exactly same test of new project with CubeMX 6.16.1, and it works normally, the issue comes from the update to CubeMX 6.17.0 (and/or CubeIDE 2.1.0).

Processor : STM32H533CET

the tools used when it works : CubeIDE 2.0.0, CubeMX 6.16.1, Freertos 1.4.

the tools used when it doesn't work : CubeIDE 2.1.0, CubeMX 6.17.0, FreeRTOS 1.5.

 

For the both I started a new project with only default task of freertos, run the project and done a break.

Project initialize with CubeMX and then import with CubeIDE.

 

Best regards,

Laurent

 

 

lclor
Associate III

Dear Lobna,

 

Did you reproduce the issue with the lasts development tools ?

Best regards,

 

Laurent

lobna
ST Employee

dear @lclor 

Could you provide your ioc file 

thanks in advance

Lobna

lclor
Associate III

Hi,

yes this are the both IOC file, one made with Cube MX 6.16.1 and one made with Cube MX 6.17.0

 

Best regards,

lclor
Associate III

Dear Lobna,

 

Did you reproduce the default that I saw with the last version tools ?

Best regards,

 

Laurent

 

Dear @lclor 

I am trying to reproduce the issue using CubeMX6.16, but I have run into another problem: a hard fault.

Could you please send me your project so that we can speed up the investigation?

In addition, which board are you using?

BR

Lobna