kengineer Posted December 8, 2016 Report Posted December 8, 2016 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.
inmarket Posted December 8, 2016 Report Posted December 8, 2016 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.
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now