Developer94 Posted October 16, 2017 Report Posted October 16, 2017 Hello everyone, I tried to set up a new project with ugfx on ChibiStudio. I used chibiOS 3 instead of chibiOS 2 and followed the tutorial from the ugfx documentation. But I ran into a few problems. I set up everything like the documentation says. My Project: I use a STM32F407VG microcontroller and the Embest Base Board with an LCD. Here is my makefile: # Possible Targets: all clean Debug cleanDebug Release cleanRelease ############################################################################################## # Settings # # General settings # See $(GFXLIB)/tools/gmake_scripts/readme.txt for the list of variables OPT_OS = chibios OPT_THUMB = yes OPT_LINK_OPTIMIZE = no OPT_CPU = stm32m4 # uGFX settings # See $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk for the list of variables GFXLIB = ../../ugfx GFXBOARD = Embest-STM32-DMSTF4BB GFXDEMO = modules/gdisp/basics # ChibiOS settings ifeq ($(OPT_OS),chibios) # See $(GFXLIB)/tools/gmake_scripts/os_chibios_x.mk for the list of variables CHIBIOS = ../../chibios161 CHIBIOS_VERSION = 3 CHIBIOS_CPUCLASS = ARMCMx CHIBIOS_PLATFORM = STM32 CHIBIOS_DEVICE_FAMILY = STM32F4xx CHIBIOS_STARTUP = startup_stm32f4xx CHIBIOS_PORT = v7m CHIBIOS_LDSCRIPT = STM32F429xI.ld endif ############################################################################################## # Set these for your project # ARCH = arm-none-eabi- SRCFLAGS = -ggdb -O0 CFLAGS = CXXFLAGS = -fno-rtti ASFLAGS = LDFLAGS = SRC = board.c OBJS = DEFS = LIBS = INCPATH = LIBPATH = LDSCRIPT = ############################################################################################## # These should be at the end # include $(GFXLIB)/tools/gmake_scripts/library_ugfx.mk include $(GFXLIB)/tools/gmake_scripts/os_$(OPT_OS).mk include $(GFXLIB)/tools/gmake_scripts/compiler_gcc.mk # *** EOF *** But when I compile it i got following errors: 08:01:41 **** Incremental Build of configuration Default for project RAG **** make -j4 all . C Compiler Options.... Compiling ../../ugfx/src/gfx.c Compiling board.c arm-none-eabi-gcc -c -ggdb -O0 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -MMD -MP -MF .build/dep/fakethumbfile.o.d -I. -I../../ugfx -I../../ugfx/3rdparty/tinygl-0.4-ugfx/include -I../../ugfx/boards/base/Embest-STM32-DMSTF4BB -I../../ugfx/drivers/gdisp/SSD2119 -I../../ugfx/demos/modules/gdisp/basics -I../../chibios161/os/common/ports/ARMCMx/compilers/GCC -I../../chibios161/os/common/ports/ARMCMx/devices/STM32F4xx -I../../chibios161/os/ext/CMSIS/include -I../../chibios161/os/ext/CMSIS/ST/STM32F4xx -I../../chibios161/os/rt/include -I../../chibios161/os/rt/ports/ARMCMx -I../../chibios161/os/rt/ports/ARMCMx/compilers/GCC -I../../chibios161/os/hal/osal/rt -I../../chibios161/os/hal/include -I../../chibios161/os/hal/ports/common/ARMCMx -I../../chibios161/os/hal/ports/STM32/STM32F4xx -I../../chibios161/os/hal/ports/STM32/LLD/ADCv2 -I../../chibios161/os/hal/ports/STM32/LLD/CANv1 -I../../chibios161/os/hal/ports/STM32/LLD/DACv1 -I../../chibios161/os/hal/ports/STM32/LLD/DMAv2 -I../../chibios161/os/hal/ports/STM32/LLD/EXTIv1 -I../../chibios161/os/hal/ports/STM32/LLD/GPIOv2 -I../../chibios161/os/hal/ports/STM32/LLD/I2Cv1 -I../../chibios161/os/hal/ports/STM32/LLD/MACv1 -I../../chibios161/os/hal/ports/STM32/LLD/OTGv1 -I../../chibios161/os/hal/ports/STM32/LLD/RTCv2 -I../../chibios161/os/hal/ports/STM32/LLD/SDIOv1 -I../../chibios161/os/hal/ports/STM32/LLD/SPIv1 -I../../chibios161/os/hal/ports/STM32/LLD/TIMv1 -I../../chibios161/os/hal/ports/STM32/LLD/USARTv1 -I../../chibios161/os/hal/ports/STM32/LLD/xWDGv1 -DGFX_USE_CHIBIOS=TRUE -DGFX_USE_OS_CHIBIOS=TRUE -DCORTEX_USE_FPU=TRUE -DUSE_FPU=hard -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB fakethumbfile.c -o .build/obj/fakethumbfile.o . Compiling ../../ugfx/src/gos/gos_chibios.c Assembler Options..... arm-none-eabi-gcc -x assembler-with-cpp -c -ggdb -O0 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -MMD -MP -MF .build/dep/fakethumbfile.o.d -I. -I../../ugfx -I../../ugfx/3rdparty/tinygl-0.4-ugfx/include -I../../ugfx/boards/base/Embest-STM32-DMSTF4BB -I../../ugfx/drivers/gdisp/SSD2119 -I../../ugfx/demos/modules/gdisp/basics -I../../chibios161/os/common/ports/ARMCMx/compilers/GCC -I../../chibios161/os/common/ports/ARMCMx/devices/STM32F4xx -I../../chibios161/os/ext/CMSIS/include -I../../chibios161/os/ext/CMSIS/ST/STM32F4xx -I../../chibios161/os/rt/include -I../../chibios161/os/rt/ports/ARMCMx -I../../chibios161/os/rt/ports/ARMCMx/compilers/GCC -I../../chibios161/os/hal/osal/rt -I../../chibios161/os/hal/include -I../../chibios161/os/hal/ports/common/ARMCMx -I../../chibios161/os/hal/ports/STM32/STM32F4xx -I../../chibios161/os/hal/ports/STM32/LLD/ADCv2 -I../../chibios161/os/hal/ports/STM32/LLD/CANv1 -I../../chibios161/os/hal/ports/STM32/LLD/DACv1 -I../../chibios161/os/hal/ports/STM32/LLD/DMAv2 -I../../chibios161/os/hal/ports/STM32/LLD/EXTIv1 -I../../chibios161/os/hal/ports/STM32/LLD/GPIOv2 -I../../chibios161/os/hal/ports/STM32/LLD/I2Cv1 -I../../chibios161/os/hal/ports/STM32/LLD/MACv1 -I../../chibios161/os/hal/ports/STM32/LLD/OTGv1 -I../../chibios161/os/hal/ports/STM32/LLD/RTCv2 -I../../chibios161/os/hal/ports/STM32/LLD/SDIOv1 -I../../chibios161/os/hal/ports/STM32/LLD/SPIv1 -I../../chibios161/os/hal/ports/STM32/LLD/TIMv1 -I../../chibios161/os/hal/ports/STM32/LLD/USARTv1 -I../../chibios161/os/hal/ports/STM32/LLD/xWDGv1 -DGFX_USE_CHIBIOS=TRUE -DGFX_USE_OS_CHIBIOS=TRUE -DCORTEX_USE_FPU=TRUE -DUSE_FPU=hard -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB fakethumbfile.s -o .build/obj/fakethumbfile.o . Linker Options........ arm-none-eabi-gcc -Wl,--defsym=__process_stack_size__=0x400 -Wl,--defsym=__main_stack_size__=0x400 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -nostartfiles -mthumb -T../../chibios161/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld -L../../chibios161/os/common/ports/ARMCMx/compilers/GCC -lm .build/obj/fakethumbfile.o -o .build/RAG.elf . Compiling ../../ugfx/src/gos/gos_freertos.c In file included from ../../chibios161/os/hal/include/spi.h:78:0, from ../../chibios161/os/hal/include/hal.h:61, from ../../ugfx/src/../src/gos/gos_chibios.h:19, from ../../ugfx/src/../src/gos/gos.h:462, from ../../ugfx/src/../gfx.h:206, from ../../ugfx/src/gfx.c:16: ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:227:2: error: #error "SPI5 not present in the selected device" #error "SPI5 not present in the selected device" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:376:2: error: #error "invalid DMA stream associated to SPI5 RX" #error "invalid DMA stream associated to SPI5 RX" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:381:2: error: #error "invalid DMA stream associated to SPI5 TX" #error "invalid DMA stream associated to SPI5 TX" ^~~~~ make: *** [.build/obj/GFXLIB/src/gfx.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from ../../chibios161/os/hal/include/spi.h:78:0, from ../../chibios161/os/hal/include/hal.h:61, from c:\chibistudio\ugfx\src/gos/gos_chibios.h:19, from c:\chibistudio\ugfx\src/gos/gos.h:462, from c:\chibistudio\ugfx\gfx.h:206, from ../../ugfx/src/gos/gos_freertos.c:8: ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:227:2: error: #error "SPI5 not present in the selected device" #error "SPI5 not present in the selected device" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:376:2: error: #error "invalid DMA stream associated to SPI5 RX" #error "invalid DMA stream associated to SPI5 RX" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:381:2: error: #error "invalid DMA stream associated to SPI5 TX" #error "invalid DMA stream associated to SPI5 TX" ^~~~~ In file included from ../../chibios161/os/hal/include/spi.h:78:0, from ../../chibios161/os/hal/include/hal.h:61, from c:\chibistudio\ugfx\src/gos/gos_chibios.h:19, from c:\chibistudio\ugfx\src/gos/gos.h:462, from c:\chibistudio\ugfx\gfx.h:206, from ../../ugfx/src/gos/gos_chibios.c:8: ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:227:2: error: #error "SPI5 not present in the selected device" #error "SPI5 not present in the selected device" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:376:2: error: #error "invalid DMA stream associated to SPI5 RX" #error "invalid DMA stream associated to SPI5 RX" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:381:2: error: #error "invalid DMA stream associated to SPI5 TX" #error "invalid DMA stream associated to SPI5 TX" ^~~~~ In file included from ../../chibios161/os/hal/include/spi.h:78:0, from ../../chibios161/os/hal/include/hal.h:61, from board.c:17: ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:227:2: error: #error "SPI5 not present in the selected device" #error "SPI5 not present in the selected device" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:376:2: error: #error "invalid DMA stream associated to SPI5 RX" #error "invalid DMA stream associated to SPI5 RX" ^~~~~ ../../chibios161/os/hal/ports/STM32/LLD/SPIv1/spi_lld.h:381:2: error: #error "invalid DMA stream associated to SPI5 TX" #error "invalid DMA stream associated to SPI5 TX" Can anyone help me with this? Thanks in advance.
Joel Bodenmann Posted October 16, 2017 Report Posted October 16, 2017 Hello and welcome to the µGFX community! From the µGFX perspective you have done everything right so far. It appears that the only compilation errors you're getting are from ChibiOS. The errors you're getting indicate that you didn't enable some of the peripheral drivers and peripherals themselves. Make sure that you enable everything you need in the ChibiOS's configuration file halconf.h and mcuconf.h. There should be examples for these files in the corresponding board file directory /boards/base/Embest-STM32-DMSTF4BB/example_chibios_3.x/. I hope that helps. Don't hesitate to ask if you have any other questions. We're happy to help wherever we can!
Developer94 Posted October 17, 2017 Author Report Posted October 17, 2017 Thanks for your answer, I took a look at the mcuconf.h file there I deactivate "HAL_USE_SPI" and "STM32_SPI_USE_SPI5" you can see the part below /* * SPI driver system settings. */ #define HAL_USE_SPI FALSE #define STM32_SPI_USE_SPI1 FALSE #define STM32_SPI_USE_SPI2 FALSE #define STM32_SPI_USE_SPI3 FALSE #define STM32_SPI_USE_SPI4 FALSE #define STM32_SPI_USE_SPI5 FALSE #define STM32_SPI_USE_SPI6 FALSE #define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) #define STM32_SPI_SPI1_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) #define STM32_SPI_SPI2_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 3) #define STM32_SPI_SPI2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 4) #define STM32_SPI_SPI3_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) #define STM32_SPI_SPI3_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 7) #define STM32_SPI_SPI4_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) #define STM32_SPI_SPI4_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 1) #define STM32_SPI_SPI5_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 3) #define STM32_SPI_SPI5_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 4) #define STM32_SPI_SPI6_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 6) #define STM32_SPI_SPI6_TX_DMA_STREAM STM32_DMA_STREAM_ID(2, 5) #define STM32_SPI_SPI1_DMA_PRIORITY 1 #define STM32_SPI_SPI2_DMA_PRIORITY 1 #define STM32_SPI_SPI3_DMA_PRIORITY 1 #define STM32_SPI_SPI4_DMA_PRIORITY 1 #define STM32_SPI_SPI5_DMA_PRIORITY 1 #define STM32_SPI_SPI6_DMA_PRIORITY 1 #define STM32_SPI_SPI1_IRQ_PRIORITY 10 #define STM32_SPI_SPI2_IRQ_PRIORITY 10 #define STM32_SPI_SPI3_IRQ_PRIORITY 10 #define STM32_SPI_SPI4_IRQ_PRIORITY 10 #define STM32_SPI_SPI5_IRQ_PRIORITY 10 #define STM32_SPI_SPI6_IRQ_PRIORITY 10 #define STM32_SPI_DMA_ERROR_HOOK(spip) osalSysHalt("DMA failure") Now the Error doesn't appears anymore. But I have got a question regarding that. I thought that I need the SPI, but the error tells me that I don't. After setting both on False I got a new Error: ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:91:13: error: 'PWMD4' undeclared (first use in this function) I think that this has something to do with the backlight, but I don't know how to fix that? Thanks for your help.
Developer94 Posted October 17, 2017 Author Report Posted October 17, 2017 Oh I forgot the last Console Output. Here it is: 21:57:47 **** Incremental Build of configuration Default for project LCD **** make -j4 all . C Compiler Options.... Compiling ../../ugfx/src/gos/gos_chibios.c arm-none-eabi-gcc -c -ggdb -O0 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -MMD -MP -MF .build/dep/fakethumbfile.o.d -I. -I../../ugfx -I../../ugfx/3rdparty/tinygl-0.4-ugfx/include -I../../ugfx/boards/base/Embest-STM32-DMSTF4BB -I../../ugfx/drivers/gdisp/SSD2119 -I../../ugfx/demos/modules/gdisp/basics -I../../chibios161/os/common/ports/ARMCMx/compilers/GCC -I../../chibios161/os/common/ports/ARMCMx/devices/STM32F4xx -I../../chibios161/os/ext/CMSIS/include -I../../chibios161/os/ext/CMSIS/ST/STM32F4xx -I../../chibios161/os/rt/include -I../../chibios161/os/rt/ports/ARMCMx -I../../chibios161/os/rt/ports/ARMCMx/compilers/GCC -I../../chibios161/os/hal/osal/rt -I../../chibios161/os/hal/include -I../../chibios161/os/hal/ports/common/ARMCMx -I../../chibios161/os/hal/ports/STM32/STM32F4xx -I../../chibios161/os/hal/ports/STM32/LLD/ADCv2 -I../../chibios161/os/hal/ports/STM32/LLD/CANv1 -I../../chibios161/os/hal/ports/STM32/LLD/DACv1 -I../../chibios161/os/hal/ports/STM32/LLD/DMAv2 -I../../chibios161/os/hal/ports/STM32/LLD/EXTIv1 -I../../chibios161/os/hal/ports/STM32/LLD/GPIOv2 -I../../chibios161/os/hal/ports/STM32/LLD/I2Cv1 -I../../chibios161/os/hal/ports/STM32/LLD/MACv1 -I../../chibios161/os/hal/ports/STM32/LLD/OTGv1 -I../../chibios161/os/hal/ports/STM32/LLD/RTCv2 -I../../chibios161/os/hal/ports/STM32/LLD/SDIOv1 -I../../chibios161/os/hal/ports/STM32/LLD/SPIv1 -I../../chibios161/os/hal/ports/STM32/LLD/TIMv1 -I../../chibios161/os/hal/ports/STM32/LLD/USARTv1 -I../../chibios161/os/hal/ports/STM32/LLD/xWDGv1 -DGFX_USE_CHIBIOS=TRUE -DGFX_USE_OS_CHIBIOS=TRUE -DCORTEX_USE_FPU=TRUE -DUSE_FPU=hard -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB fakethumbfile.c -o .build/obj/fakethumbfile.o Compiling ../../ugfx/src/gfx.c Compiling board.c . Assembler Options..... arm-none-eabi-gcc -x assembler-with-cpp -c -ggdb -O0 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -MMD -MP -MF .build/dep/fakethumbfile.o.d -I. -I../../ugfx -I../../ugfx/3rdparty/tinygl-0.4-ugfx/include -I../../ugfx/boards/base/Embest-STM32-DMSTF4BB -I../../ugfx/drivers/gdisp/SSD2119 -I../../ugfx/demos/modules/gdisp/basics -I../../chibios161/os/common/ports/ARMCMx/compilers/GCC -I../../chibios161/os/common/ports/ARMCMx/devices/STM32F4xx -I../../chibios161/os/ext/CMSIS/include -I../../chibios161/os/ext/CMSIS/ST/STM32F4xx -I../../chibios161/os/rt/include -I../../chibios161/os/rt/ports/ARMCMx -I../../chibios161/os/rt/ports/ARMCMx/compilers/GCC -I../../chibios161/os/hal/osal/rt -I../../chibios161/os/hal/include -I../../chibios161/os/hal/ports/common/ARMCMx -I../../chibios161/os/hal/ports/STM32/STM32F4xx -I../../chibios161/os/hal/ports/STM32/LLD/ADCv2 -I../../chibios161/os/hal/ports/STM32/LLD/CANv1 -I../../chibios161/os/hal/ports/STM32/LLD/DACv1 -I../../chibios161/os/hal/ports/STM32/LLD/DMAv2 -I../../chibios161/os/hal/ports/STM32/LLD/EXTIv1 -I../../chibios161/os/hal/ports/STM32/LLD/GPIOv2 -I../../chibios161/os/hal/ports/STM32/LLD/I2Cv1 -I../../chibios161/os/hal/ports/STM32/LLD/MACv1 -I../../chibios161/os/hal/ports/STM32/LLD/OTGv1 -I../../chibios161/os/hal/ports/STM32/LLD/RTCv2 -I../../chibios161/os/hal/ports/STM32/LLD/SDIOv1 -I../../chibios161/os/hal/ports/STM32/LLD/SPIv1 -I../../chibios161/os/hal/ports/STM32/LLD/TIMv1 -I../../chibios161/os/hal/ports/STM32/LLD/USARTv1 -I../../chibios161/os/hal/ports/STM32/LLD/xWDGv1 -DGFX_USE_CHIBIOS=TRUE -DGFX_USE_OS_CHIBIOS=TRUE -DCORTEX_USE_FPU=TRUE -DUSE_FPU=hard -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB fakethumbfile.s -o .build/obj/fakethumbfile.o . Linker Options........ arm-none-eabi-gcc -Wl,--defsym=__process_stack_size__=0x400 -Wl,--defsym=__main_stack_size__=0x400 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -nostartfiles -mthumb -T../../chibios161/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld -L../../chibios161/os/common/ports/ARMCMx/compilers/GCC -lm .build/obj/fakethumbfile.o -o .build/LCD.elf . Compiling ../../ugfx/src/gos/gos_freertos.c Compiling ../../ugfx/src/gos/gos_win32.c Compiling ../../ugfx/src/gos/gos_osx.c Compiling ../../ugfx/src/gos/gos_linux.c Compiling ../../ugfx/src/gos/gos_raw32.c Compiling ../../ugfx/src/gos/gos_ecos.c Compiling ../../ugfx/src/gos/gos_rawrtos.c Compiling ../../ugfx/src/gos/gos_arduino.c Compiling ../../ugfx/src/gos/gos_cmsis.c Compiling ../../ugfx/src/gos/gos_nios.c Compiling ../../ugfx/src/gos/gos_zephyr.c Compiling ../../ugfx/src/gos/gos_x_threads.c Compiling ../../ugfx/src/gos/gos_x_heap.c Compiling ../../ugfx/src/gdriver/gdriver.c Compiling ../../ugfx/src/gqueue/gqueue.c Compiling ../../ugfx/src/gdisp/gdisp.c Compiling ../../ugfx/src/gdisp/gdisp_fonts.c Compiling ../../ugfx/src/gdisp/gdisp_image.c Compiling ../../ugfx/src/gdisp/gdisp_pixmap.c Compiling ../../ugfx/src/gdisp/gdisp_image_native.c Compiling ../../ugfx/src/gdisp/gdisp_image_gif.c Compiling ../../ugfx/src/gdisp/gdisp_image_bmp.c Compiling ../../ugfx/src/gdisp/gdisp_image_jpg.c Compiling ../../ugfx/src/gdisp/mcufont/mf_encoding.c Compiling ../../ugfx/src/gdisp/gdisp_image_png.c Compiling ../../ugfx/src/gdisp/mcufont/mf_justify.c Compiling ../../ugfx/src/gdisp/mcufont/mf_kerning.c Compiling ../../ugfx/src/gdisp/mcufont/mf_font.c Compiling ../../ugfx/src/gdisp/mcufont/mf_rlefont.c Compiling ../../ugfx/src/gdisp/mcufont/mf_bwfont.c Compiling ../../ugfx/src/gdisp/mcufont/mf_wordwrap.c Compiling ../../ugfx/src/gdisp/mcufont/mf_scaledfont.c Compiling ../../ugfx/src/gevent/gevent.c Compiling ../../ugfx/src/gtimer/gtimer.c Compiling ../../ugfx/src/gwin/gwin.c Compiling ../../ugfx/src/gwin/gwin_widget.c Compiling ../../ugfx/src/gwin/gwin_wm.c Compiling ../../ugfx/src/gwin/gwin_console.c Compiling ../../ugfx/src/gwin/gwin_graph.c Compiling ../../ugfx/src/gwin/gwin_button.c Compiling ../../ugfx/src/gwin/gwin_slider.c Compiling ../../ugfx/src/gwin/gwin_checkbox.c Compiling ../../ugfx/src/gwin/gwin_image.c Compiling ../../ugfx/src/gwin/gwin_radio.c Compiling ../../ugfx/src/gwin/gwin_label.c Compiling ../../ugfx/src/gwin/gwin_list.c Compiling ../../ugfx/src/gwin/gwin_progressbar.c Compiling ../../ugfx/src/gwin/gwin_container.c Compiling ../../ugfx/src/gwin/gwin_frame.c Compiling ../../ugfx/src/gwin/gwin_tabset.c Compiling ../../ugfx/src/gwin/gwin_gl3d.c Compiling ../../ugfx/src/gwin/gwin_keyboard.c Compiling ../../ugfx/src/gwin/gwin_keyboard_layout.c Compiling ../../ugfx/src/ginput/ginput.c Compiling ../../ugfx/src/gwin/gwin_textedit.c Compiling ../../ugfx/src/ginput/ginput_keyboard.c Compiling ../../ugfx/src/ginput/ginput_mouse.c Compiling ../../ugfx/src/ginput/ginput_toggle.c Compiling ../../ugfx/src/ginput/ginput_keyboard_microcode.c Compiling ../../ugfx/src/ginput/ginput_dial.c Compiling ../../ugfx/src/gadc/gadc.c Compiling ../../ugfx/src/gaudio/gaudio.c Compiling ../../ugfx/src/gmisc/gmisc.c Compiling ../../ugfx/src/gmisc/gmisc_arrayops.c Compiling ../../ugfx/src/gmisc/gmisc_matrix2d.c Compiling ../../ugfx/src/gmisc/gmisc_trig.c Compiling ../../ugfx/src/gfile/gfile.c Compiling ../../ugfx/src/gmisc/gmisc_hittest.c Compiling ../../ugfx/src/gfile/gfile_fs_ram.c Compiling ../../ugfx/src/gfile/gfile_fs_native.c Compiling ../../ugfx/src/gfile/gfile_fs_rom.c Compiling ../../ugfx/src/gfile/gfile_fs_fatfs.c Compiling ../../ugfx/src/gfile/gfile_fs_petitfs.c Compiling ../../ugfx/src/gfile/gfile_fs_mem.c Compiling ../../ugfx/src/gfile/gfile_fs_strings.c Compiling ../../ugfx/src/gfile/gfile_fs_chibios.c Compiling ../../ugfx/src/gfile/gfile_scang.c Compiling ../../ugfx/src/gfile/gfile_printg.c Compiling ../../ugfx/src/gfile/gfile_stdio.c Compiling ../../ugfx/src/gfile/gfile_fatfs_wrapper.c Compiling ../../ugfx/src/gfile/gfile_petitfs_wrapper.c Compiling ../../ugfx/src/gfile/gfile_fatfs_diskio_chibios.c Compiling ../../ugfx/src/gfile/gfile_petitfs_diskio_chibios.c Compiling ../../ugfx/src/gtrans/gtrans.c Compiling ../../ugfx/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c Compiling ../../ugfx/drivers/ginput/touch/STMPE811/gmouse_lld_STMPE811.c Compiling ../../ugfx/demos/modules/gdisp/basics/main.c Compiling ../../chibios161/os/common/ports/ARMCMx/compilers/GCC/crt1.c In file included from ../../ugfx/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c:16:0: ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:31:14: error: unknown type name 'PWMConfig' static const PWMConfig pwmcfg = { ^~~~~~~~~ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:33:2: warning: excess elements in scalar initializer 100, /* PWM period is 100 cycles. */ ^~~ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:33:2: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:34:2: warning: excess elements in scalar initializer 0, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:34:2: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:35:2: warning: braces around scalar initializer { ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:35:2: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:36:3: warning: braces around scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:36:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:36:4: error: 'PWM_OUTPUT_ACTIVE_HIGH' undeclared here (not in a function) {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^~~~~~~~~~~~~~~~~~~~~~ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:36:28: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:36:28: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:37:3: warning: braces around scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:37:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:37:28: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:37:28: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:37:3: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:37:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:38:3: warning: braces around scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:38:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:38:28: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:38:28: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:38:3: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0}, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:38:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:39:3: warning: braces around scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0} ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:39:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:39:28: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0} ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:39:28: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:39:3: warning: excess elements in scalar initializer {PWM_OUTPUT_ACTIVE_HIGH, 0} ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:39:3: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:35:2: warning: excess elements in scalar initializer { ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:35:2: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:41:2: warning: excess elements in scalar initializer 0, ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:41:2: note: (near initialization for 'pwmcfg') ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:42:2: warning: excess elements in scalar initializer 0 ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:42:2: note: (near initialization for 'pwmcfg') In file included from ../../ugfx/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c:16:0: ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h: In function 'init_board': ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:78:1: warning: multi-line comment [-Wcomment] // FSMC_Bank1->BTCR[0 + 1] = (FSMC_BTR1_ADDSET_2 | FSMC_BTR1_ADDSET_1) \ ^ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:91:3: warning: implicit declaration of function 'pwmStart' [-Wimplicit-function-declaration] pwmStart(&PWMD4, &pwmcfg); ^~~~~~~~ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:91:13: error: 'PWMD4' undeclared (first use in this function) pwmStart(&PWMD4, &pwmcfg); ^~~~~ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:91:13: note: each undeclared identifier is reported only once for each function it appears in ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:93:3: warning: implicit declaration of function 'pwmEnableChannel' [-Wimplicit-function-declaration] pwmEnableChannel(&PWMD4, 1, 100); ^~~~~~~~~~~~~~~~ ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h: In function 'set_backlight': ../../ugfx/boards/base/Embest-STM32-DMSTF4BB/board_SSD2119.h:113:20: error: 'PWMD4' undeclared (first use in this function) pwmEnableChannel(&PWMD4, 1, percent); ^~~~~ make: *** [.build/obj/GFXLIB/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.o] Error 1 make: *** Waiting for unfinished jobs.... 21:58:05 Build Finished (took 18s.421ms)
inmarket Posted October 17, 2017 Report Posted October 17, 2017 Same thing again. Your chibios halconf.h needs to be set to enable the required device.
Developer94 Posted October 18, 2017 Author Report Posted October 18, 2017 Do I understand that right, I have to set the pwm in halconf.h one TRUE so that it looks like: /** * @brief Enables the PWM subsystem. */ #if !defined(HAL_USE_PWM) || defined(__DOXYGEN__) #define HAL_USE_PWM TRUE #endif Is that right? But when I do that I got an new error regarding the TIM: #error "PWM driver activated but no TIM peripheral assigned" The Complete Console output is: . C Compiler Options.... Compiling board.c Compiling ../../ugfx/src/gfx.c arm-none-eabi-gcc -c -ggdb -O0 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -MMD -MP -MF .build/dep/fakethumbfile.o.d -I. -I../../ugfx -I../../ugfx/3rdparty/tinygl-0.4-ugfx/include -I../../ugfx/boards/base/Embest-STM32-DMSTF4BB -I../../ugfx/drivers/gdisp/SSD2119 -I../../ugfx/demos/modules/gdisp/basics -I../../chibios161/os/common/ports/ARMCMx/compilers/GCC -I../../chibios161/os/common/ports/ARMCMx/devices/STM32F4xx -I../../chibios161/os/ext/CMSIS/include -I../../chibios161/os/ext/CMSIS/ST/STM32F4xx -I../../chibios161/os/rt/include -I../../chibios161/os/rt/ports/ARMCMx -I../../chibios161/os/rt/ports/ARMCMx/compilers/GCC -I../../chibios161/os/hal/osal/rt -I../../chibios161/os/hal/include -I../../chibios161/os/hal/ports/common/ARMCMx -I../../chibios161/os/hal/ports/STM32/STM32F4xx -I../../chibios161/os/hal/ports/STM32/LLD/ADCv2 -I../../chibios161/os/hal/ports/STM32/LLD/CANv1 -I../../chibios161/os/hal/ports/STM32/LLD/DACv1 -I../../chibios161/os/hal/ports/STM32/LLD/DMAv2 -I../../chibios161/os/hal/ports/STM32/LLD/EXTIv1 -I../../chibios161/os/hal/ports/STM32/LLD/GPIOv2 -I../../chibios161/os/hal/ports/STM32/LLD/I2Cv1 -I../../chibios161/os/hal/ports/STM32/LLD/MACv1 -I../../chibios161/os/hal/ports/STM32/LLD/OTGv1 -I../../chibios161/os/hal/ports/STM32/LLD/RTCv2 -I../../chibios161/os/hal/ports/STM32/LLD/SDIOv1 -I../../chibios161/os/hal/ports/STM32/LLD/SPIv1 -I../../chibios161/os/hal/ports/STM32/LLD/TIMv1 -I../../chibios161/os/hal/ports/STM32/LLD/USARTv1 -I../../chibios161/os/hal/ports/STM32/LLD/xWDGv1 -DGFX_USE_CHIBIOS=TRUE -DGFX_USE_OS_CHIBIOS=TRUE -DCORTEX_USE_FPU=TRUE -DUSE_FPU=hard -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB fakethumbfile.c -o .build/obj/fakethumbfile.o . Compiling ../../ugfx/src/gos/gos_chibios.c Assembler Options..... arm-none-eabi-gcc -x assembler-with-cpp -c -ggdb -O0 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -fomit-frame-pointer -Wall -Wextra -Wstrict-prototypes -fverbose-asm -MMD -MP -MF .build/dep/fakethumbfile.o.d -I. -I../../ugfx -I../../ugfx/3rdparty/tinygl-0.4-ugfx/include -I../../ugfx/boards/base/Embest-STM32-DMSTF4BB -I../../ugfx/drivers/gdisp/SSD2119 -I../../ugfx/demos/modules/gdisp/basics -I../../chibios161/os/common/ports/ARMCMx/compilers/GCC -I../../chibios161/os/common/ports/ARMCMx/devices/STM32F4xx -I../../chibios161/os/ext/CMSIS/include -I../../chibios161/os/ext/CMSIS/ST/STM32F4xx -I../../chibios161/os/rt/include -I../../chibios161/os/rt/ports/ARMCMx -I../../chibios161/os/rt/ports/ARMCMx/compilers/GCC -I../../chibios161/os/hal/osal/rt -I../../chibios161/os/hal/include -I../../chibios161/os/hal/ports/common/ARMCMx -I../../chibios161/os/hal/ports/STM32/STM32F4xx -I../../chibios161/os/hal/ports/STM32/LLD/ADCv2 -I../../chibios161/os/hal/ports/STM32/LLD/CANv1 -I../../chibios161/os/hal/ports/STM32/LLD/DACv1 -I../../chibios161/os/hal/ports/STM32/LLD/DMAv2 -I../../chibios161/os/hal/ports/STM32/LLD/EXTIv1 -I../../chibios161/os/hal/ports/STM32/LLD/GPIOv2 -I../../chibios161/os/hal/ports/STM32/LLD/I2Cv1 -I../../chibios161/os/hal/ports/STM32/LLD/MACv1 -I../../chibios161/os/hal/ports/STM32/LLD/OTGv1 -I../../chibios161/os/hal/ports/STM32/LLD/RTCv2 -I../../chibios161/os/hal/ports/STM32/LLD/SDIOv1 -I../../chibios161/os/hal/ports/STM32/LLD/SPIv1 -I../../chibios161/os/hal/ports/STM32/LLD/TIMv1 -I../../chibios161/os/hal/ports/STM32/LLD/USARTv1 -I../../chibios161/os/hal/ports/STM32/LLD/xWDGv1 -DGFX_USE_CHIBIOS=TRUE -DGFX_USE_OS_CHIBIOS=TRUE -DCORTEX_USE_FPU=TRUE -DUSE_FPU=hard -DTHUMB_PRESENT -DTHUMB_NO_INTERWORKING -mthumb -DTHUMB fakethumbfile.s -o .build/obj/fakethumbfile.o . Linker Options........ arm-none-eabi-gcc -Wl,--defsym=__process_stack_size__=0x400 -Wl,--defsym=__main_stack_size__=0x400 -mcpu=cortex-m4 -falign-functions=16 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant -nostartfiles -mthumb -T../../chibios161/os/common/ports/ARMCMx/compilers/GCC/ld/STM32F429xI.ld -L../../chibios161/os/common/ports/ARMCMx/compilers/GCC -lm .build/obj/fakethumbfile.o -o .build/LCD.elf . Compiling ../../ugfx/src/gos/gos_freertos.c In file included from ../../chibios161/os/hal/include/pwm.h:92:0, from ../../chibios161/os/hal/include/hal.h:57, from c:\chibistudio\ugfx\src/gos/gos_chibios.h:19, from c:\chibistudio\ugfx\src/gos/gos.h:462, from c:\chibistudio\ugfx\gfx.h:206, from ../../ugfx/src/gos/gos_freertos.c:8: ../../chibios161/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h:244:2: error: #error "PWM driver activated but no TIM peripheral assigned" #error "PWM driver activated but no TIM peripheral assigned" ^~~~~ In file included from ../../chibios161/os/hal/include/pwm.h:92:0, from ../../chibios161/os/hal/include/hal.h:57, from ../../ugfx/src/../src/gos/gos_chibios.h:19, from ../../ugfx/src/../src/gos/gos.h:462, from ../../ugfx/src/../gfx.h:206, from ../../ugfx/src/gfx.c:16: ../../chibios161/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h:244:2: error: #error "PWM driver activated but no TIM peripheral assigned" #error "PWM driver activated but no TIM peripheral assigned" ^~~~~ make: *** [.build/obj/GFXLIB/src/gfx.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [.build/obj/GFXLIB/src/gos/gos_freertos.o] Error 1 In file included from ../../chibios161/os/hal/include/pwm.h:92:0, from ../../chibios161/os/hal/include/hal.h:57, from board.c:17: ../../chibios161/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h:244:2: error: #error "PWM driver activated but no TIM peripheral assigned" #error "PWM driver activated but no TIM peripheral assigned" ^~~~~ In file included from ../../chibios161/os/hal/include/pwm.h:92:0, from ../../chibios161/os/hal/include/hal.h:57, from c:\chibistudio\ugfx\src/gos/gos_chibios.h:19, from c:\chibistudio\ugfx\src/gos/gos.h:462, from c:\chibistudio\ugfx\gfx.h:206, from ../../ugfx/src/gos/gos_chibios.c:8: ../../chibios161/os/hal/ports/STM32/LLD/TIMv1/pwm_lld.h:244:2: error: #error "PWM driver activated but no TIM peripheral assigned" #error "PWM driver activated but no TIM peripheral assigned" ^~~~~ make: *** [.build/obj/board.o] Error 1 make: *** [.build/obj/GFXLIB/src/gos/gos_chibios.o] Error 1 I looked at the mcuconf.h file. Every "TIM" is set on FALSE. Do I have to set one one "TRUE" and which one?
Developer94 Posted October 18, 2017 Author Report Posted October 18, 2017 Ok, I got it running: /* * PWM driver system settings. */ #define STM32_PWM_USE_ADVANCED FALSE #define STM32_PWM_USE_TIM1 FALSE #define STM32_PWM_USE_TIM2 FALSE #define STM32_PWM_USE_TIM3 FALSE #define STM32_PWM_USE_TIM4 TRUE #define STM32_PWM_USE_TIM5 FALSE #define STM32_PWM_USE_TIM8 FALSE #define STM32_PWM_USE_TIM9 FALSE #define STM32_PWM_TIM1_IRQ_PRIORITY 7 #define STM32_PWM_TIM2_IRQ_PRIORITY 7 #define STM32_PWM_TIM3_IRQ_PRIORITY 7 #define STM32_PWM_TIM4_IRQ_PRIORITY 7 #define STM32_PWM_TIM5_IRQ_PRIORITY 7 #define STM32_PWM_TIM8_IRQ_PRIORITY 7 #define STM32_PWM_TIM9_IRQ_PRIORITY 7 I set STM32_PWM_USE_TIM4 on TRUE. Now It works. Thanks for the help.
Developer94 Posted October 18, 2017 Author Report Posted October 18, 2017 Supplement: I got the demo /gdisp/basic to run. After that I tried another demo "/gwin/slider" there I got an error regarding the "PAL" error: 'PAL_STM32_PUDR_FLOATING' undeclared (first use in this function) After a short research I found out that PAL_STM32_PUDR_FLOATING isn't declared in ChibiOS 3.x anymore? Is there something I can do to fix this?
steved Posted October 18, 2017 Report Posted October 18, 2017 2 hours ago, Developer94 said: After a short research I found out that PAL_STM32_PUDR_FLOATING isn't declared in ChibiOS 3.x anymore? Is there something I can do to fix this? More likely, you are using code intended for ChibiOS 17.1.x - this is the latest, and is generally recommended over ChibiOS 3.x (IIRC, 3.x is now unsupported).
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