Carlos Posted March 8, 2016 Report Posted March 8, 2016 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.
Joel Bodenmann Posted March 8, 2016 Report Posted March 8, 2016 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
Carlos Posted March 8, 2016 Author Report Posted March 8, 2016 (edited) 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 March 8, 2016 by Carlos
Joel Bodenmann Posted March 8, 2016 Report Posted March 8, 2016 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.
Carlos Posted March 8, 2016 Author Report Posted March 8, 2016 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
Joel Bodenmann Posted March 8, 2016 Report Posted March 8, 2016 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.
Carlos Posted March 8, 2016 Author Report Posted March 8, 2016 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
Joel Bodenmann Posted March 8, 2016 Report Posted March 8, 2016 You can always learn how to write Makefiles Compared to writing actual firmware it's very easy. Also, there are thousands of existing Makefile based FreeRTOS projects on the web that you can easily find using Google.
Carlos Posted March 9, 2016 Author Report Posted March 9, 2016 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
Joel Bodenmann Posted March 9, 2016 Report Posted March 9, 2016 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.
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