markolsson Posted October 21, 2016 Report Share Posted October 21, 2016 I'm looking at porting uGFX to Frosted (https://github.com/insane-adding-machines/frosted) and could do with some help on how to get started. Frosted has framebuffer support, but currently doesn't have support for pthreads. Is there a current port that this is similar to? Link to comment Share on other sites More sharing options...
inmarket Posted October 21, 2016 Report Share Posted October 21, 2016 Being a posix based operating system i am assuming it will support posix threads. If it does you should be able to write a gos layer that uses that threading. If not, you could look at using the native stm32f7 threading that the raw32 gos port uses. Either way, what you want to be writing is a gos port for frosted. Unfortunately we have too much on our plates to be able to do it for you (except perhaps on a commercial basis) however we would be happy to help via the forum with any technical questions you have. Link to comment Share on other sites More sharing options...
Joel Bodenmann Posted October 22, 2016 Report Share Posted October 22, 2016 As @inmarket said you want to write a GOS port for that operating system. GOS is the module in the µGFX library that provides a generic abstraction layer. It's basically the layer between the actual µGFX application and the underlying system (which can be anything: BareMetal (no OS), an RTOS such as ChibiOS or FreeRTOS, a non-realtime operating system such as Windows or LInux or anything else - like Frosted. To write a GOS port, navigate to the /src/gos directory in the µGFX library and create the two files gos_frosted.h and gos_frosted.c. You will have to modify the generic GOS files accordingly to take the new port into account (modify gos.h, gos.mk, gos_options.h and gos_rules.h accordingly). You will have to introduce a new #define named GFX_USE_OS_FROSTED. If you want to do everything correctly, don't forget to add that new configuration define to the example configuration file gfxconfig.example.h in the root directory of the µGFX library. From there it's just implementing the abstraction layer in the two files that you created. The file gos.h contains the entire abstraction layer interface with extensive documentation. You can have a look at the numerous existing ports (all the gos_xxx.[ch] files in that directory) to learn how to write your port. I hope that helps a bit. As mentioned: Don't hesitate to ask. We are happy to help wherever we can. Link to comment Share on other sites More sharing options...
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