Jump to content

CShark

Members
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I would like to use GFX_EMULATE_MALLOC, but it does not resolve the linker error with a missing _sbrk definition. Namely, I'm using the function snprintf from stdio.
  2. I started with your file, but to track down the make errors, I reversed it bit by bit until I got the bitbucket one. Now I applied all changes forward and have a working makefile with the version you provided. So first a list of all changes and afterwards an explanation. Things to change in ugfx: /boards/base/STM32F746-Discovery/board.mk GFXINC += $(GFXLIB)/boards/base/STM32F746-Discovery GFXSRC += $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f746g_discovery_sdram.c \ $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f7_i2c.c ifeq ($(OPT_OS),raw32) GFXDEFS += STM32F746xx GFXSRC += $(STMHAL)/Src/stm32f7xx_hal.c \ $(STMHAL)/Src/stm32f7xx_hal_cortex.c \ $(STMHAL)/Src/stm32f7xx_hal_rcc.c \ $(STMHAL)/Src/stm32f7xx_hal_rcc_ex.h \ $(STMHAL)/Src/stm32f7xx_hal_gpio.c \ $(STMHAL)/Src/stm32f7xx_hal_pwr.c \ $(STMHAL)/Src/stm32f7xx_hal_pwr_ex.c STARTUP = $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f746g_raw32_startup.s GFXSRC += $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f746g_raw32_ugfx.c \ $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f746g_raw32_system.c \ $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f746g_raw32_interrupts.c GFXDEFS += GFX_OS_PRE_INIT_FUNCTION=Raw32OSInit GFX_OS_INIT_NO_WARNING=TRUE GFXINC += $(CMSIS)/Device/ST/STM32F7xx/Include \ $(CMSIS)/Include \ $(STMHAL)/Inc LDSCRIPT = $(GFXLIB)/boards/base/STM32F746-Discovery/stm32f746nghx_flash.ld endif include $(GFXLIB)/tools/gmake_scripts/cpu_stm32m7.mk include $(GFXLIB)/drivers/gdisp/STM32LTDC/driver.mk include $(GFXLIB)/drivers/ginput/touch/FT5336/driver.mk And finally, the makefile: ################################################################################ # Generic Makefile for STM32 based applications using StdPeriph/STM32Cube. # # # # Copyright (C) 2015 by Joel Bodenmann # # # # Feel free to use this makefile without any warranty on your own risk. # ################################################################################ # This is the name of the binaries that will be generated TARGET = project # Some paths OPT_OS = raw32 CMSIS = CMSIS STMHAL = STM32F7xx_HAL_Driver GFXBOARD = STM32F746-Discovery # Include uGFX stuff, don't forget about $(GFXSRC) and $(GFXINC) further below GFXLIB = ../ugfx-ca0be9403f25 include $(GFXLIB)/gfx.mk # Here we add all *.c files that we want to compile CSRCS = \ $(GFXSRC) \ $(STMHAL)/Src/stm32f7xx_hal_flash.c \ $(STMHAL)/Src/stm32f7xx_hal_flash_ex.c \ $(STMHAL)/Src/stm32f7xx_hal_dma.c \ $(STMHAL)/Src/stm32f7xx_hal_i2c.c \ $(STMHAL)/Src/stm32f7xx_hal_ltdc.c \ main.c \ _sbrk.c # Here we add all *.cpp files that we want to compile CPPSRCS = # Here we add all *.s files that we want to compile (Don't include startup file) ASSRCS = # Here we add the paths to all include directories INCS = \ $(GFXINC) \ . # here we add the paths to all custom libraries LIBDIRS = # here we add libraries LIBS = $(GFXLIBS) # StartUp file #STARTUP = startup_stm32f746xx.s # Linker script #LDSCRIPT = stm32f746nghx_flash.ld # The controller type CONTROLLER = STM32F746xx # MCU flags MCUFLAGS = -mthumb -mcpu=cortex-m7 # Should a map file be generated? (yes / no) GENERATE_MAP = no # The following variables hold binaries and settings ARCH = arm-none-eabi AS = $(ARCH)-gcc LD = $(ARCH)-gcc CC = $(ARCH)-gcc CPPC = $(ARCH)-g++ SIZE = $(ARCH)-size OBJCOPY = $(ARCH)-objcopy ASFLAGS = -ggdb -Wall CFLAGS = -ggdb -Wall -std=c99 CPPFLAGS = -ggdb -Wall LDFLAGS += -lnosys -fno-exceptions -fdata-sections ################################################################################ # Don't change anything below this line # ################################################################################ # Some directory and file magic BUILDDIR = build OBJDIR = $(BUILDDIR)/obj MAPFILE = $(BUILDDIR)/$(TARGET).map DEPDIR = $(BUILDDIR)/dep SRCFLAGS += -MMD -MP -MF $(DEPDIR)/$(@F:.o=.d) # Add the startup file ASSRCS += $(STARTUP) # Generate the object names OBJS = $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(CSRCS:%.c=%.o)))) OBJS += $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(ASSRCS:%.s=%.o)))) OBJS += $(addprefix $(OBJDIR)/,$(addsuffix .o,$(basename $(CPPSRCS:%.cpp=%.o)))) # Automate the inclusion paths DEFS += $(GFXDEFS) CFLAGS += $(INCS:%=-I%) $(MCUFLAGS) -D$(CONTROLLER) $(DEFS:%=-D%) -DUSE_STDPERIPH_DRIVER $(SRCFLAGS) CPPFLAGS += $(INCS:%=-I%) LDFLAGS += $(LIBDIRS:%=-L%) $(INCS:%=-I%) $(LIBS) $(MCUFLAGS) -T$(LDSCRIPT) # Some user settings magic ifeq ($(GENERATE_MAP), yes) LDFLAGS += -Wl,-Map=$(MAPFILE),--cref endif # This is the default target if the user does just calls 'make' all: build size # Build all the files build: builddirs $(BUILDDIR)/$(TARGET).elf $(BUILDDIR)/$(TARGET).bin $(BUILDDIR)/$(TARGET).hex # Create the required directories (if not already existing) builddirs: @mkdir -p $(BUILDDIR) @mkdir -p $(OBJDIR) @mkdir -p $(DEPDIR) # Create the *.bin $(BUILDDIR)/%.bin: $(BUILDDIR)/$(TARGET).elf @$(OBJCOPY) -O binary $< $@ # Create the *.hex $(BUILDDIR)/%.hex: $(BUILDDIR)/$(TARGET).elf @$(OBJCOPY) -O ihex $< $@ # Link everything together to a *.elf file $(BUILDDIR)/$(TARGET).elf: $(OBJS) @echo Linking $@ @$(LD) $(LDFLAGS) -o $(BUILDDIR)/$(TARGET).elf $(OBJS) # Compile assembly files $(OBJDIR)/%.o: %.s @mkdir -p $(dir $@) @echo Compiling $< @$(AS) $(ASFLAGS) -c -o $@ $< # Compile c files $(OBJDIR)/%.o: %.c @mkdir -p $(dir $@) @echo Compiling $< @$(CC) $(CFLAGS) -c -o $@ $< # Compile cpp files $(OBJDIR)/%.o: %.cpp @mkdir -p $(dir $@) @echo Compiling $< @$(CPPC) $(CPPFLAGS) -c -o $@ $< # Print size information size: $(BUILDDIR)/$(TARGET).elf @echo @echo $(SIZE) $^ @echo $(FOO) -include $(shell mkdir -p $(DEPDIR) 2>/dev/null) $(wildcard $(DEPDIR)/*) # Clean up clean: @rm -fR $(BUILDDIR) @echo Done # Clean must be a phony target so make knows this never exists as a file .PHONY: clean Changes to do to your sourcecode: Include the _sbrk.c file as given some posts above (not required to work though, just fix the source list accordingly) In main.c, remove the _init() function. That should be everything... except I forgot something which you should find out very quick Explanation of the changes: [cpu_stm32m7.mk]: I changed -mfpu=fpv4-sp-d16 to -mfpu=fpv5-sp-d16, as suggested some posts before. [board.mk] Here I included the cpu specific makefile and specified the startup assembly file as STARTUP, not GFXSRC [Makefile] First, I adjusted some missing/misspelled variables. OPT_OS was missing, HAL changed to STMHAL, GFXBOARD was missing, CSRCS and INCS had some double items, which were also defined in board.mk and STARTUP and LDSCRIPT are defined in board.mk. Further down I added the GFXDEFS to DEFS and applied all DEFS as defines to CFLAGS. I changed clean to the bitbucket version, because the command resulted in some errors and didn't do anything on my laptop. And as a last point I added the dependency guard.
  3. Regarding Eclipse: I needed the gnu arm eclipse plugin[1], arm build tools for windows [2] and cygwin. [1] provides the compiler and linker for the stm32, [2] provides a more recent gnu make and cygwin provided me with a working mkdir (package has to be installed). To get it finally up and running, I imported the makefile project into eclipse and did the following adjustments: Open the Project Properties and make sure/change: 1. C/C++ Build: Make sure "Generate makefiles automatically" is turned off 2. C/C++ Build->Environment: Make sure "PATH" contains cygwin's bin path (probably doesn't) and the paths to build tools and the compiler bin path (should already be) For a working IDE with code completion and stuff: C/C++ General->Paths and Symbols: include everything that you need, in my case I needed the path to the root of ugfx and some include dirs in the project dir. Also make sure to never use drive letters in makefiles. You'll get some weird errors with targets failing/missing and other stuff. Always use relative paths. Some demos or functions complain about a missing _sbrk. Create a file "_sbrk.c" containing the following code to fix the error: #include "gfx.h" char* _sbrk(int incr) { return (char *)gfxAlloc(incr); } Oh, and \ actually has another meaning in a makefile, don't use it in paths. \ joins multiple lines into one. Cygwins mkdir works fine with the paths and cmd arguments provided by ugfx. [1]: http://gnuarmeclipse.github.io/ [2]: http://gnuarmeclipse.github.io/windows-build-tools/
  4. While working out where the error was, I did a complete rollback to the old makefile. Good news though, I got it to compile even using eclipse. I will try to implement the cubemx makefile step by step today/tomorrow.
  5. It worked!! First, I forgot to turn off the auto generated makefile in eclipse. The second mistake was to use eclipse instead of cygwin. Now everything works fine. Thats a starting point, at least.
  6. I've tried to get ugfx with the board working to no avail. Now I am as far as getting to the linker without errors, but now there are some functions missing. It looks like the modules are not properly included... but I have no idea why or how to fix that. Any Ideas? Building target: dmxprobe Invoking: Cross ARM C++ Linker arm-none-eabi-g++ -mcpu=cortex-m7 -mthumb -O2 -g -Xlinker --gc-sections -Wl,-Map,"dmxprobe.map" -o "dmxprobe" ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_adc_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_can.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cec.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cortex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_crc_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cryp.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_cryp_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dac.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dac_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dcmi.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dcmi_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma2d.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_dma_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_eth.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_flash_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_gpio.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_hash.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_hash_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_hcd.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2c_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_i2s.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_irda.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_iwdg.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_lptim.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_ltdc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_msp_template.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_nand.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_nor.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pcd.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pcd_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_pwr_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_qspi.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rcc_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rng.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rtc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_rtc_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sai.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sai_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sd.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sdram.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_smartcard.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_smartcard_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_spdifrx.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_spi.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_sram.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_tim_ex.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_uart.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_usart.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_hal_wwdg.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_fmc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_sdmmc.o ./STM32F7xx_HAL_Driver/Src/stm32f7xx_ll_usb.o ./CMSIS/Device/ST/STM32F7xx/Source/Templates/system_stm32f7xx.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_bitreversal.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_init_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix2_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_init_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix4_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_cfft_radix8_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_init_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_dct4_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_fast_init_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_f32.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_init_q31.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q15.o ./CMSIS/DSP_Lib/Source/TransformFunctions/arm_rfft_q31.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_f32.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q15.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q31.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_copy_q7.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_f32.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q15.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q31.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_fill_q7.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q15.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q31.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_float_to_q7.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_float.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q31.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q15_to_q7.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_float.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q15.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q31_to_q7.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_float.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q15.o ./CMSIS/DSP_Lib/Source/SupportFunctions/arm_q7_to_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_max_q7.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_mean_q7.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_min_q7.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_power_q7.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_rms_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_std_q31.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_f32.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q15.o ./CMSIS/DSP_Lib/Source/StatisticsFunctions/arm_var_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_add_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_cmplx_mult_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_init_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_inverse_f64.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_fast_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_mult_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_scale_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_sub_q31.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_f32.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q15.o ./CMSIS/DSP_Lib/Source/MatrixFunctions/arm_mat_trans_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_32x64_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_fast_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df1_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_f64.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_df2T_init_f64.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_biquad_cascade_stereo_df2T_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_opt_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_fast_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_opt_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_opt_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_fast_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_opt_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_partial_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_conv_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_opt_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_fast_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_opt_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_correlate_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_fast_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_decimate_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_fast_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_init_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_interpolate_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_lattice_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_init_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_fir_sparse_q7.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_iir_lattice_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_f32.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_init_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_norm_q31.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q15.o ./CMSIS/DSP_Lib/Source/FilteringFunctions/arm_lms_q31.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_f32.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q15.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_cos_q31.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_f32.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q15.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sin_q31.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.o ./CMSIS/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q31.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_f32.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q15.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_init_q31.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_f32.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q15.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_pid_reset_q31.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_f32.o ./CMSIS/DSP_Lib/Source/ControllerFunctions/arm_sin_cos_q31.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_f32.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q15.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_conj_q31.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_f32.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q15.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_dot_prod_q31.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_f32.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q15.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_q31.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_f32.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q15.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mag_squared_q31.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_f32.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q15.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_cmplx_q31.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_f32.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q15.o ./CMSIS/DSP_Lib/Source/ComplexMathFunctions/arm_cmplx_mult_real_q31.o ./CMSIS/DSP_Lib/Source/CommonTables/arm_common_tables.o ./CMSIS/DSP_Lib/Source/CommonTables/arm_const_structs.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_abs_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_add_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_dot_prod_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_mult_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_negate_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_offset_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_scale_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_shift_q7.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_f32.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q15.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q31.o ./CMSIS/DSP_Lib/Source/BasicMathFunctions/arm_sub_q7.o ./main.o ./main.o: In function `_heartbeat': E:\Projekte\eclipse\dmxprobe\Default/../main.c:27: undefined reference to `gfxSleepMilliseconds' ./main.o: In function `_updateColor': E:\Projekte\eclipse\dmxprobe\Default/../main.c:45: undefined reference to `gwinClear' ./main.o: In function `main': E:\Projekte\eclipse\dmxprobe\Default/../main.c:153: undefined reference to `gfxInit' E:\Projekte\eclipse\dmxprobe\Default/../main.c:156: undefined reference to `gdispOpenFont' E:\Projekte\eclipse\dmxprobe\Default/../main.c:156: undefined reference to `gwinSetDefaultFont' E:\Projekte\eclipse\dmxprobe\Default/../main.c:157: undefined reference to `gwinSetDefaultStyle' E:\Projekte\eclipse\dmxprobe\Default/../main.c:158: undefined reference to `gdispGClear' ./main.o: In function `_guiCreate': E:\Projekte\eclipse\dmxprobe\Default/../main.c:56: undefined reference to `gwinWidgetClearInit' E:\Projekte\eclipse\dmxprobe\Default/../main.c:65: undefined reference to `gwinGLabelCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:73: undefined reference to `gwinGFrameCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:82: undefined reference to `gwinGButtonCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:91: undefined reference to `gwinGSliderCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:92: undefined reference to `gwinSliderSetRange' E:\Projekte\eclipse\dmxprobe\Default/../main.c:93: undefined reference to `gwinSliderSetPosition' E:\Projekte\eclipse\dmxprobe\Default/../main.c:102: undefined reference to `gwinGButtonCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:111: undefined reference to `gwinGSliderCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:112: undefined reference to `gwinSliderSetRange' E:\Projekte\eclipse\dmxprobe\Default/../main.c:113: undefined reference to `gwinSliderSetPosition' E:\Projekte\eclipse\dmxprobe\Default/../main.c:122: undefined reference to `gwinGButtonCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:131: undefined reference to `gwinGSliderCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:132: undefined reference to `gwinSliderSetRange' E:\Projekte\eclipse\dmxprobe\Default/../main.c:133: undefined reference to `gwinSliderSetPosition' E:\Projekte\eclipse\dmxprobe\Default/../main.c:140: undefined reference to `gwinGWindowCreate' ./main.o: In function `main': E:\Projekte\eclipse\dmxprobe\Default/../main.c:164: undefined reference to `geventListenerInit' E:\Projekte\eclipse\dmxprobe\Default/../main.c:165: undefined reference to `gwinAttachListener' E:\Projekte\eclipse\dmxprobe\Default/../main.c:168: undefined reference to `gfxThreadCreate' E:\Projekte\eclipse\dmxprobe\Default/../main.c:172: undefined reference to `geventEventWait' E:\Projekte\eclipse\dmxprobe\Default/../main.c:189: undefined reference to `gwinSliderSetPosition' E:\Projekte\eclipse\dmxprobe\Default/../main.c:185: undefined reference to `gwinSliderSetPosition' E:\Projekte\eclipse\dmxprobe\Default/../main.c:187: undefined reference to `gwinSliderSetPosition' E:\Projekte\eclipse\dmxprobe\Default/../main.c:187: undefined reference to `GDISP' E:\Projekte\eclipse\dmxprobe\Default/../main.c:187: undefined reference to `WhiteWidgetStyle' collect2.exe: error: ld returned 1 exit status makefile:62: recipe for target 'dmxprobe' failed make: *** [dmxprobe] Error 1
×
×
  • Create New...