# # qmake configuration for stm32f4 # # isEmpty(_stm32f4_conf){ _stm32f4_conf="oneshot" QMAKE_CFLAGS+= -g -mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c99 include(../../common/arm-none-eabi.conf) DEFINES += __OPTIMIZED_MATH DEFINES += \"assert_param(expr)=((void)0)\" INCLUDEPATH += $$PWD DEFINES += __FPU_PRESENT=1 DEFINES += ARM_MATH_CM4 DEFINES += BSP="\"\\\"$$BSP"\\\"\" contains(CPU, stm32f42x){ LDSCRIPT=stm32f42.ld } contains(CPU, stm32f4xxxG){ LDSCRIPT=stm32f4.ld } contains( TEMPLATE, app ) { unix:QMAKE_POST_LINK += arm-none-eabi-objcopy -O ihex "$(TARGET)" $$DESTDIR/"$(QMAKE_TARGET).hex" $$escape_expand(\\n\\t) unix:QMAKE_POST_LINK += arm-none-eabi-objcopy -O binary "$(TARGET)" $$DESTDIR/"$(QMAKE_TARGET).bin" $$escape_expand(\\n\\t) win32:QMAKE_POST_LINK += arm-none-eabi-objcopy -O ihex "$(DESTDIR_TARGET)" $$DESTDIR/"$(QMAKE_TARGET).hex" $$escape_expand(\\n\\t) win32:QMAKE_POST_LINK += arm-none-eabi-objcopy -O binary "$(DESTDIR_TARGET)" $$DESTDIR/"$(QMAKE_TARGET).bin" $$escape_expand(\\n\\t) contains( CONFIG, dfu ){ unix:QMAKE_POST_LINK += python $$[QT_INSTALL_BINS]/dfu.py -b 0x08000000:$$DESTDIR/"$(QMAKE_TARGET).bin" $$DESTDIR/"$(QMAKE_TARGET).dfu" $$escape_expand(\\n\\t) } LIBS += -L$$[QT_INSTALL_PREFIX]/bsp/lib/$$BSP -lbsp LIBS += -L$$[QT_INSTALL_LIBS]/$$UCMODEL LIBS += -lcpu LIBS += -lcore -lm -lc QMAKE_LFLAGS += -g -mlittle-endian -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -std=c99 -T $$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/$$LDSCRIPT SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/syscalls.c SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/fs.c SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/crt0.s SOURCES +=$$[QT_INSTALL_PREFIX]/mkspecs/features/stm32f4/cpuinit.c stflash.target = stflash stflash.commands = cd $$DESTDIR && st-flash write $(QMAKE_TARGET).bin 0x08000000 stflash.depends = $$DESTDIR/$(QMAKE_TARGET) qstlink2.target = qstlink2 qstlink2.commands = cd $$DESTDIR && qstlink2 --cli --write --verify --reset ./$(QMAKE_TARGET).bin qstlink2.depends = $$DESTDIR/$(QMAKE_TARGET) dfu_file.target = $$DESTDIR/$(QMAKE_TARGET).dfu dfu_file.commands = python $$[QT_INSTALL_BINS]/dfu.py -b 0x08000000:$$DESTDIR/$(QMAKE_TARGET).bin $$DESTDIR/$(QMAKE_TARGET).dfu dfu_file.depends = $$DESTDIR/$(QMAKE_TARGET) dfu.target = dfu dfu.depends = $$DESTDIR/$(QMAKE_TARGET).dfu dfu.commands = cd $$DESTDIR && dfu-util d 0483:df11 -c 1 -i 0 -a 0 -s 0x08000000 -D $(QMAKE_TARGET).bin 0x08000000 gdb-server.target = gdb-server gdb-server.commands = st-util -p 3333 & gdb-server.depends = stflash nemiver.target = nemiver nemiver.commands = cd $$DESTDIR && nemiver --remote=localhost:3333 --gdb-binary=`which arm-none-eabi-gdb` $(QMAKE_TARGET) nemiver.depends = gdb-server QMAKE_EXTRA_TARGETS += dfu_file stflash dfu nemiver gdb-server qstlink2 } }