Jump to content

Using gfxThreadCreate in FreeRTOS System


kengineer

Recommended Posts

I just wanted to confirm my thoughts here. I am currently using uGFX 2.6 on a FreeRTOS system successfully. I was trying to make my application more portable and so wanted to use  the gfxThreadCreate() function in place of xTaskCreate(). 

Since FreeRTOS init is not currently supported in uGFX, and according to the warning in uGFX "GOS: Operating System initialization has been turned off. Make sure you call vTaskStartScheduler() before gfxInit() in your application" and considering vTaskStartScheduler() does not normally return, I will need to create at least one task using xTaskCreate() (where gfxInit() will be called) and then I can create the others with gfxThreadCreate().

 

To clarify the statement, I must create my initial task that it initing uGFX the normal FreeRTOS way and then all other tasks can be created using the gfxThreadCreate() function. Please confirm if this statement is correct, thanks.

Link to comment
Share on other sites

Yes that is correct. In fact gfxThreadCreate is already being used internally by a gtimer thread so it must be working with the init you are currently using.

When writing the FreeRTOS port we just had not had enough experience in FreeRTOS to be sure we were writing an adaquate init routine for all cases so we left it to the user. The warning message is also just what we gleaned from the docs so it may not be 100% accurate.

As you are obviously much more familiar with FreeRTOS than us perhaps you would like to write the proper init routine so we can add it to ugfx? You can see what is required by looking at the ChibiOS code for example.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...