diff --git a/Makefile b/Makefile index 8a925f4aa2..46f3ca1b5e 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,16 @@ #Derived from Atollic True Studio Makefile by Prof. Greg Egan 2012 -SHELL=cmd +#SHELL=bash # System configuration - UNCOMMENT AS DESIRED +#Code Sourcery current gcc 4.6.x +#Specify full path below including trailing / to your arm-gcc toolchain unless it's in PATH +TCHAIN= +CC = $(TCHAIN)arm-none-eabi-gcc +OPT = -Os +OBJCOPY = $(TCHAIN)arm-none-eabi-objcopy + #Atollic TrueStudio #CC = "C:\Program Files (x86)\Atollic\TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0\ARMTools\bin\arm-atollic-eabi-gcc" # OBJCOPY NOT PERMITTED IN FREEBY! @@ -15,22 +22,17 @@ SHELL=cmd #OBJCOPY = "C:\Program Files (x86)\yagarto\bin\arm-none-eabi-objcopy" #OPT = -Os -#Code Sourcery current gcc 4.6.1 -CC = arm-none-eabi-gcc -OPT = -Os -OBJCOPY = arm-none-eabi-objcopy - RM = rm -rf # Define output directory OBJECT_DIR = obj BIN_DIR = $(OBJECT_DIR) -LINK_SCRIPT="stm32_flash.ld" +LINK_SCRIPT=stm32_flash.ld # Assembler, Compiler and Linker flags and linker script settings LINKER_FLAGS=-lm -mthumb -mcpu=cortex-m3 -Wl,--gc-sections -T$(LINK_SCRIPT) -static -Wl,-cref "-Wl,-Map=$(BIN_DIR)/baseflight.map" -Wl,--defsym=malloc_getpagesize_P=0x1000 -ASSEMBLER_FLAGS=-c $(OPT) -mcpu=cortex-m3 -mthumb -x assembler-with-cpp -Isrc -Ilib/STM32F10x_StdPeriph_Driver/inc -Ilib/CMSIS\CM3/CoreSupport -Ilib/CMSIS/CM3/DeviceSupport/ST\STM32F10x -COMPILER_FLAGS=-c -mcpu=cortex-m3 $(OPT) -Wall -ffunction-sections -fdata-sections -mthumb -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -Isrc -Ilib/STM32F10x_StdPeriph_Driver/inc -Ilib/CMSIS\CM3/CoreSupport -Ilib/CMSIS/CM3/DeviceSupport/ST\STM32F10x +ASSEMBLER_FLAGS=-c $(OPT) -mcpu=cortex-m3 -mthumb -x assembler-with-cpp -Isrc -Ilib/STM32F10x_StdPeriph_Driver/inc -Ilib/CMSIS/CM3/CoreSupport -Ilib/CMSIS/CM3/DeviceSupport/ST/STM32F10x +COMPILER_FLAGS=-c -mcpu=cortex-m3 $(OPT) -Wall -ffunction-sections -fdata-sections -mthumb -DSTM32F10X_MD -DUSE_STDPERIPH_DRIVER -Isrc -Ilib/STM32F10x_StdPeriph_Driver/inc -Ilib/CMSIS/CM3/CoreSupport -Ilib/CMSIS/CM3/DeviceSupport/ST/STM32F10x # Define sources and objects SRC := $(wildcard */*/*/*/*/*/*/*.c) \ @@ -63,17 +65,18 @@ clean: # $(RM) $(OBJS) "$(BIN_DIR)/baseflight.elf" "$(BIN_DIR)/baseflight.map" "$(BIN_DIR)/src/*.*" "$(BIN_DIR)/lib/*.*" $(OBJECT_DIR)/main.o: main.c - @mkdir $(subst /,\,$(dir $@)) 2> NUL || echo off + @mkdir -p $(dir $@) $(CC) $(COMPILER_FLAGS) main.c -o $(OBJECT_DIR)/main.o $(OBJECT_DIR)/%.o: %.c - @mkdir $(subst /,\,$(dir $@)) 2> NUL || echo off + @mkdir -p $(dir $@) $(CC) $(COMPILER_FLAGS) $< -o $@ $(OBJECT_DIR)/%.o: %.s - @mkdir $(subst /,\,$(dir $@)) 2> NUL || echo off + @mkdir -p $(dir $@) $(CC) $(ASSEMBLER_FLAGS) $< -o $@ $(OBJECT_DIR)/%.o: %.S - @mkdir $(subst /,\,$(dir $@)) 2> NUL || echo off + @mkdir -p $(dir $@) $(CC) $(ASSEMBLER_FLAGS) $< -o $@ + diff --git a/baseflight.uvopt b/baseflight.uvopt index fdcefc9ec1..d0f789eddf 100755 --- a/baseflight.uvopt +++ b/baseflight.uvopt @@ -495,128 +495,30 @@ 0 1 - 1 + 0 1 0 0 0 0 - 1 - 16 + 0 + 0 0 - .\main.c - main.c + .\src\cli.c + cli.c 1 - 2 - 5 - 0 - 0 - 26 - 0 - 14 - 38 - 0 - .\board.h - board.h - - - 1 - 3 - 1 - 0 - 0 - 52 - 0 - 85 - 113 - 0 - .\imu.c - imu.c - - - 1 - 4 + 0 1 0 0 0 0 - 660 - 679 + 0 + 0 0 - .\mw.c - mw.c - - - 1 - 5 - 5 - 0 - 0 - 48 - 0 - 72 - 72 - 0 - .\mw.h - mw.h - - - 1 - 6 - 1 - 0 - 0 - 1 - 0 - 121 - 159 - 0 - .\sensors.c - sensors.c - - - 1 - 7 - 1 - 0 - 0 - 0 - 0 - 268 - 268 - 0 - .\mixer.c - mixer.c - - - 1 - 8 - 1 - 0 - 0 - 0 - 0 - 12 - 25 - 0 - .\serial.c - serial.c - - - 1 - 9 - 1 - 0 - 0 - 15 - 0 - 109 - 122 - 0 - .\config.c + .\src\config.c config.c @@ -625,13 +527,111 @@ 1 0 0 - 47 + 0 0 - 58 - 90 + 0 + 0 0 - .\cli.c - cli.c + .\src\imu.c + imu.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\main.c + main.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\mixer.c + mixer.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\mw.c + mw.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\sensors.c + sensors.c + + + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\serial.c + serial.c + + + 1 + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\board.h + board.h + + + 1 + 0 + 5 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\mw.h + mw.h @@ -642,49 +642,21 @@ 0 2 - 10 + 0 1 0 0 0 0 - 122 - 131 - 0 - .\drv_i2c.c - drv_i2c.c - - - 2 - 11 - 1 - 0 - 0 - 8 - 0 0 0 0 - .\drv_pwm.c - drv_pwm.c - - - 2 - 12 - 1 - 0 - 0 - 6 - 0 - 0 - 0 - 0 - .\drv_adc.c + .\src\drv_adc.c drv_adc.c 2 - 13 + 0 1 0 0 @@ -693,84 +665,112 @@ 0 0 0 - .\drv_bmp085.c - drv_bmp085.c - - - 2 - 14 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - .\drv_adxl345.c + .\src\drv_adxl345.c drv_adxl345.c 2 - 15 - 1 - 0 - 0 - 39 - 0 - 0 - 0 - 0 - .\drv_mpu3050.c - drv_mpu3050.c - - - 2 - 16 + 0 1 0 0 0 0 - 110 - 144 + 0 + 0 0 - .\drv_uart.c - drv_uart.c + .\src\drv_bmp085.c + drv_bmp085.c 2 - 17 + 0 1 0 0 - 16 - 0 - 142 - 159 - 0 - .\drv_system.c - drv_system.c - - - 2 - 18 - 1 - 0 - 0 - 22 + 0 0 0 0 0 - .\drv_hmc5883l.c + .\src\drv_hmc5883l.c drv_hmc5883l.c + + 2 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\drv_i2c.c + drv_i2c.c + + + 2 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\drv_mpu3050.c + drv_mpu3050.c + + + 2 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\drv_pwm.c + drv_pwm.c + + + 2 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\drv_system.c + drv_system.c + + + 2 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + .\src\drv_uart.c + drv_uart.c + System - 0 + 1 0 0 @@ -943,16 +943,16 @@ 3 - 31 + 0 2 0 0 0 0 - 133 - 150 + 0 + 0 0 - .\startup_stm32f10x_md.s + .\src\baseflight_startups\startup_stm32f10x_md.s startup_stm32f10x_md.s diff --git a/baseflight.uvproj b/baseflight.uvproj index a550dc3071..c895db4267 100755 --- a/baseflight.uvproj +++ b/baseflight.uvproj @@ -387,104 +387,104 @@ App - main.c + cli.c 1 - .\main.c - - - board.h - 5 - .\board.h - - - imu.c - 1 - .\imu.c - - - mw.c - 1 - .\mw.c - - - mw.h - 5 - .\mw.h - - - sensors.c - 1 - .\sensors.c - - - mixer.c - 1 - .\mixer.c - - - serial.c - 1 - .\serial.c + .\src\cli.c config.c 1 - .\config.c + .\src\config.c - cli.c + imu.c 1 - .\cli.c + .\src\imu.c + + + main.c + 1 + .\src\main.c + + + mixer.c + 1 + .\src\mixer.c + + + mw.c + 1 + .\src\mw.c + + + sensors.c + 1 + .\src\sensors.c + + + serial.c + 1 + .\src\serial.c + + + board.h + 5 + .\src\board.h + + + mw.h + 5 + .\src\mw.h Drivers - - drv_i2c.c - 1 - .\drv_i2c.c - - - drv_pwm.c - 1 - .\drv_pwm.c - drv_adc.c 1 - .\drv_adc.c - - - drv_bmp085.c - 1 - .\drv_bmp085.c + .\src\drv_adc.c drv_adxl345.c 1 - .\drv_adxl345.c + .\src\drv_adxl345.c - drv_mpu3050.c + drv_bmp085.c 1 - .\drv_mpu3050.c - - - drv_uart.c - 1 - .\drv_uart.c - - - drv_system.c - 1 - .\drv_system.c + .\src\drv_bmp085.c drv_hmc5883l.c 1 - .\drv_hmc5883l.c + .\src\drv_hmc5883l.c + + + drv_i2c.c + 1 + .\src\drv_i2c.c + + + drv_mpu3050.c + 1 + .\src\drv_mpu3050.c + + + drv_pwm.c + 1 + .\src\drv_pwm.c + + + drv_system.c + 1 + .\src\drv_system.c + + + drv_uart.c + 1 + .\src\drv_uart.c @@ -554,7 +554,7 @@ startup_stm32f10x_md.s 2 - .\startup_stm32f10x_md.s + .\src\baseflight_startups\startup_stm32f10x_md.s @@ -941,104 +941,104 @@ App - main.c + cli.c 1 - .\main.c - - - board.h - 5 - .\board.h - - - imu.c - 1 - .\imu.c - - - mw.c - 1 - .\mw.c - - - mw.h - 5 - .\mw.h - - - sensors.c - 1 - .\sensors.c - - - mixer.c - 1 - .\mixer.c - - - serial.c - 1 - .\serial.c + .\src\cli.c config.c 1 - .\config.c + .\src\config.c - cli.c + imu.c 1 - .\cli.c + .\src\imu.c + + + main.c + 1 + .\src\main.c + + + mixer.c + 1 + .\src\mixer.c + + + mw.c + 1 + .\src\mw.c + + + sensors.c + 1 + .\src\sensors.c + + + serial.c + 1 + .\src\serial.c + + + board.h + 5 + .\src\board.h + + + mw.h + 5 + .\src\mw.h Drivers - - drv_i2c.c - 1 - .\drv_i2c.c - - - drv_pwm.c - 1 - .\drv_pwm.c - drv_adc.c 1 - .\drv_adc.c - - - drv_bmp085.c - 1 - .\drv_bmp085.c + .\src\drv_adc.c drv_adxl345.c 1 - .\drv_adxl345.c + .\src\drv_adxl345.c - drv_mpu3050.c + drv_bmp085.c 1 - .\drv_mpu3050.c - - - drv_uart.c - 1 - .\drv_uart.c - - - drv_system.c - 1 - .\drv_system.c + .\src\drv_bmp085.c drv_hmc5883l.c 1 - .\drv_hmc5883l.c + .\src\drv_hmc5883l.c + + + drv_i2c.c + 1 + .\src\drv_i2c.c + + + drv_mpu3050.c + 1 + .\src\drv_mpu3050.c + + + drv_pwm.c + 1 + .\src\drv_pwm.c + + + drv_system.c + 1 + .\src\drv_system.c + + + drv_uart.c + 1 + .\src\drv_uart.c @@ -1108,7 +1108,7 @@ startup_stm32f10x_md.s 2 - .\startup_stm32f10x_md.s + .\src\baseflight_startups\startup_stm32f10x_md.s