Jump to content

µGFX / ARM mbed.org Port


mzcs

Recommended Posts

Hi There :)

I'm a Student Working On My Very First µC-Based Project (an ARM Cortex-M3 Based by STMicroelectronics) & I've Opted To Flatten The Initial Learning Curve By Using The Growing-Propular ARM mbed.org Development Platform...

But Altough I've Googled Quite a Bit, I Couldn't Find a Definite Answer Regarding The Existance/Lacking of a 'µGFX / ARM mbed.org' Port, Or Any Workable Setup of These.

Is There Such a Port ?

or At Least Is There a Way of Constructing Such a Workable Setup ? (Preferrably - Via The Least Amount of Manual & Error-Prone Work... Also To Aid In Future Upgrade of The µGFX Part In The Project)

Thank You :)

Moran Z.

ISRAEL

Link to comment
Share on other sites

Hello Moran and welcome to the Community!

There is currently no uGFX port for mbed.org at all. However, with some basic C knowledge it should be possible to implement this by yourself. There's a module called GOS in the uGFX system. This module handles the OS abstraction and that is what you need to implement. You should start by adding the two files /src/gos/mbed.c and /src/gos/mbed.h. There are by now many OSes that are already supported and therefore you should have plenty of implementation examples that should give you an idea. The two most important ports that might serve as a good template to you are the ChibiOS/RT and the FreeRTOS port. When it comes to RTOSes, most routines can be implemented using simple #define wrappers anyway.

Sadly the wiki article about creating a new port is far from complete: http://wiki.ugfx.org/index.php?title=GOS However, the forum is always here to help you out whenever you face any issue.

We're looking forward for your new port ;-)

~ Tectu

Link to comment
Share on other sites

Thanks for The Warm Welcome :)

As Per The Discussed µGFX Port, Although It Might Take Me Quite Some Time - Being The Embedded/RT Rookie That I'm, I Might Give It a Try.

While An Alternative Route Might Be Using FreeRTOS as a "Thread Lib." & a µGFX "Interface" for mbed.org, But The New mbed v3.0, Once Released (Alpha 1 is Planned for 14/12/2014), Will Most Probably Render FreeRTOS Completely Obsolete for mbed.org Users...

Also, I Was Wondering About The µGFX for IDE File/Folder Setup : Is There Any Automated Prep. Tool for a Such a Setup... ? (Such a Tool Might Proabably Aid In Future Upgrade(s) of The µGFX Part In The Project, Too).

Link to comment
Share on other sites

As Per The Discussed µGFX Port, Although It Might Take Me Quite Some Time - Being The Embedded/RT Rookie That I'm, I Might Give It a Try.

We appreciate every new port and we are more than willing to help whenever you have any question.

Also, I Was Wondering About The µGFX for IDE File/Folder Setup : Is There Any Automated Prep. Tool for a Such a Setup... ? (Such a Tool Might Proabably Aid In Future Upgrade(s) of The µGFX Part In The Project, Too).

I'm sorry but I don't really understand your question. uGFX does not have to do anything with IDEs. It can be used with any IDE or even with the built-in Make system. As every IDE does handle the build and file tree differently, there's nothing we can do but just give a step-by-step guide that can be found in the wiki.

~ Tectu

Link to comment
Share on other sites

Alright, I've Began Adapting µGFX for mbed.org... (The Initial Config. File & Modified Files Are Attached)

At First, I'm Relaying On The Existing µGFX-FreeRTOS Port. Once I Get A Good-Working Setup, I'll Try Going For a "Real" Port - Using mbed.org' CMSIS RTOS (a.k.a. "mbed RTX").

But I Couldn't Escape The Following Linker Error (Also : Here) - Without Disabling Font Loading Altogether :

Error: Symbol mf_bwfont_DejaVuSans12 multiply defined (by mf_font.c.NUCLEO_F103RB.o and DejaVuSans12.c.NUCLEO_F103RB.o).

---

Any Ideas ?

* mbed.org' System Doesn't Have an Option To Exclude a File From Being Built (Unlike Keil' MDK - Which Built The Project Successfully After Doing Exactly That).

uGFX-20141113_0245-6bc091035a08-Moran.zip

Edited by Guest
Link to comment
Share on other sites

Error: Symbol mf_bwfont_DejaVuSans12 multiply defined (by mf_font.c.NUCLEO_F103RB.o and DejaVuSans12.c.NUCLEO_F103RB.o)

You shouldn't include the font source files (*.c files) into your build tree manually as they are already included by the top-level font file. Removing all the .c files should fix this linking error.

~ Tectu

Link to comment
Share on other sites

  • 2 weeks later...

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...