cancel
Showing results for 
Search instead for 
Did you mean: 

Hello, I try to understand how the stm32f469i discovery main loop works with Touchgfx . I've generated a project with Touchgfx and modify it with stm32cubeIde. When I enter in the project there is a task call TouchGFX_Task generated by touchgfx.

ECoud.1
Associate III

I use FreeRtos. I know that the main loop is starting when the function TouchgfxProcess. But I don't know where this function is called. I think it's when the oskernelStart is called but I didn't find where. Could you give me some explanations ?

Thanks

6 REPLIES 6
MM..1
Chief II

Try locate

void StartDefaultTask(void const * argument)
{
  /* USER CODE BEGIN 5 */
	MX_TouchGFX_Process();
  /* Infinite loop */
  for(;;)
  {
    osDelay(1);
  }
  /* USER CODE END 5 */
}

ECoud.1
Associate III

The only task I found is this one :

I don't where the task Touchgfx_Process is running.

0693W00000BaElMQAV.png

MM..1
Chief II

You dont write where is this code, but seems as weak predefined task in some header. Weak function in C++ can be overided .

I use cubemx generated codes and here is TouchGFX as default task added to RTOS in main code. And start MX_TouchGFX_Process(); i add manualy, then you need same step add or overide your weak task with

void TouchGFX_Task(void const * argument)
{
  /* USER CODE BEGIN 5 */
	MX_TouchGFX_Process();
  /* Infinite loop */
  for(;;)
  {
    osDelay(1);
  }
  /* USER CODE END 5 */
}

ECoud.1
Associate III

I dont have problems with my code. I just don't know where the function process is starting. I've generated my code with Touchgfx.

MM..1
Chief II

Then when you ask only your file is c:\TouchGFXProjects\MyApplication\TouchGFX\App\app_touchgfx.c 

here is main task overide and run.

ECoud.1
Associate III

Ok thank you for your help 😁