Jump to content

uGFX Notepad on STM32F429I Discovery FreeRTOS - Not Work


Carlos

Recommended Posts

 

hi guys,

(first, sorry my english)

I'm trying to implement on board stm32f429 the FreeRTOS with uGFX library, and I am following the following tutorial: http://winfred-lu.blogspot.pt/2014/05/ugfx-notepad-on-stm32f429i-discovery.html

the "make" and "make lcd" its all ok;

But when i try "make ugfx-basic" appears this error:

Quote

CC gdisp_lld_ILI9341.c
gdisp_lld_ILI9341.c:28:30: fatal error: src/gdisp/driver.h: No such file or directory
 #include "src/gdisp/driver.h"
                              ^
compilation terminated.
make: *** [gdisp_lld_ILI9341.o] Error 1

and that the file does not exist , so I searched and changed:

Quote

#include "src/gdisp/driver.h"

by:

Quote

#include "src/gdisp/gdisp_driver.h"

I did well?

Now no longer appear the error, but now appear another:
 

Quote

 

.....

CC ../ugfx/src/gdisp/mcufont/mf_rlefont.c
CC ../ugfx/src/gevent/gevent.c
make: *** No rule to make target `../ugfx/src/gos/freertos.o', needed by `ugfx-basic'.  Stop.

 

 

so I went to look, and the file does not exist , I do?

 

 

I have looked quite on the Internet but can not find anyone else with the same problem as me.

Link to comment
Share on other sites

Hello Carlos and welcome to the community!

I am trying to download the project / Makefile from the link that you mentioned. But I can only find links to FreeRTOS, ST and uGFX itself. Can you tell us where we can find the actual project so we can have a look at it?

Anyway: The project was created with an old version of uGFX. We changed many things internally ever since. However, this is usually no issue for as long as people simply include the uGFX Makefile. This way we can make internal changes (change file names and add new files) without them having to alter their build system.
We suspect that the project you are referring too added all the uGFX sources manually instead of including our Makefile.

If you have a working FreeRTOS project that uses the make build system you can simply add uGFX by adding our makefile: http://wiki.ugfx.org/index.php/Getting_Started#Makefiles

Link to comment
Share on other sites

 

Hello Joel, thanks for the reply.

I realized that this project uses an old version of uGFX , but was the only tutorial I found with FreeRTOS and uGFX , I preferred to use the latest version of uGFX but I have no knowledge to know how to make a new makefile.

I have an axample of FreeRTOS (LED blink) operating in eclipse, but i think he has a make. I will try to add your makefile.

I'm already trying to use uGFX a week ago , and still can not , I'm despairing :(

 

The project is in number 2 (Clone and build the project.): 

git clone https://github.com/winfred-lu/stm32f429-freertos800

Many thanks for your help,
Carlos Bastos
Edited by Carlos
Link to comment
Share on other sites

Hello Carlos,

We took a look at the project and the Makefile is indeed not written to use the Makefile that comes with uGFX. That is very bad practice as this leads to several issues one of which is that you won't be able to just update to a newer uGFX version. We strongly advice you not to use that project as a starting point.

We can create an example project for you as part of a commercial support package. Please do not hesitate to contact us directly (by sending a direct message).
Otherwise we are happy to answer any of your questions here on the forum.

Link to comment
Share on other sites

Hello again Joel, thanks for the answer.

Then I'll forget the other project with old uGFX.

I have now an project with makefile. I'm not working with Ecplise IDE, i work in sublime text3, this is editor not IDE.

Then i make "make" in terminal to compile program and "sudo make deploy" to upload program to board.

I was reading the article sent to explain how to add the Makefile uGFX (thank you) , but I can not see where I add GFXLIB, GFXSRC and GFXINC.

Can you help with makefile? Attached is my Makefile.

Many thanks for your help,
Carlos Bastos
Link to comment
Share on other sites

That makefile is not great either. This makefile simply scans your directory recursively and automatically adds all *.c files to a list and then compiles all files in that list. That is bad practice and can lead to issues. To give you an example: There are many *.c files in the uGFX library that you don't want to compile/link. Take all the demos for example. This will simply not work. The same applies to drivers and board files.

A proper makefile has a list (a variable) of all sources that need to be compiled where you add your own files and then simply add $(GFXSRC) to that variable.

Link to comment
Share on other sites

Hello Joel, thanks for the answer.

Ok , so I have a problem , I can not do Makefile :(

It was interesting that you guys in the future develop something of the genre, an project uGFX with FreeRTOS.

Many thanks for your help, Carlos Bastos

Link to comment
Share on other sites

 

Hello Joel.

Thanks For Help and Tips For. I am changing the previous Makefile and include in gfxconf.h:
 

Quote

 

#define GFX_USE_OS_FREERTOS                                TRUE

#define GFX_OS_NO_INIT                                    TRUE

 

and managed to build the project with FreeRTOS uFGX.

But now also to includes in gfxconf.h:

Quote

#define GFX_USE_GDISP                                    TRUE

and add in Makefile:

Quote

GFXBOARD = STM32F429i-Discovery

 

and now is giving error for failure to file in the directory:

Quote

ugfx/drivers/gdisp/STM32LTDC ../ugfx/boards/base/STM32F429i-Discovery/stm32f429i_discovery_sdram.c -o ../ugfx/boards/base/STM32F429i-Discovery/stm32f429i_discovery_sdram.o
../ugfx/boards/base/STM32F429i-Discovery/stm32f429i_discovery_sdram.c:1:16: fatal error: ch.h: No such file or directory
 #include "ch.h"

the same for #include hal.h file.

 

 

And the truth is that these two files do not exist anywhere. I was unaware of what to do.

Attached the file(stm32f429i_discovery_sdram.c) with the includes these two files do not exist.

 

Grateful,

Carlos

Link to comment
Share on other sites

The files ch.h and hal.h are part of ChibiOS and have nothing to do with uGFX. ChibiOS is an RTOS like FreeRTOS. It seems like you are trying to compile the board files that have been written for ChibiOS although you are using FreeRTOS and the ST HAL instead. Then you can't use those ChibiOS board files.

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