Ajout FishPeper

This commit is contained in:
Serge NOEL
2026-04-21 12:19:15 +02:00
parent 6744da3f88
commit 0c361a2440
2160 changed files with 589301 additions and 1 deletions

View File

@@ -0,0 +1,168 @@
# object files
STARTUP_SRCS := startup_stm32f10x.c \
system_stm32f10x.c
DRIVER_SRCS := stm32f10x_rcc.c \
stm32f10x_gpio.c \
stm32f10x_usart.c \
misc.c \
stm32f10x_iwdg.c \
stm32f10x_spi.c \
stm32f10x_dma.c \
stm32f10x_adc.c \
stm32f10x_i2c.c \
stm32f10x_tim.c
HAL_SRCS := hal_led.c \
hal_uart.c \
hal_timeout.c \
hal_wdt.c \
hal_delay.c \
hal_clocksource.c \
hal_spi.c \
hal_cc25xx.c \
hal_io.c \
hal_adc.c \
hal_storage.c \
hal_sbus.c \
hal_ppm.c \
hal_soft_serial.c \
hal_debug.c
# Code Paths
DEVICE_DIR := $(ARCH_DIR)/device
CORE_DIR := $(ARCH_DIR)/core
LINK_DIR := $(ARCH_DIR)/linker
PERIPH_DIR := $(ARCH_DIR)/peripheral_lib
ARCH_SRCS := $(addprefix $(ARCH_DIR)/, $(HAL_SRCS))
PERIPH_SRCS := $(addprefix $(PERIPH_DIR)/src/, $(DRIVER_SRCS)) \
$(addprefix $(DEVICE_DIR)/, $(STARTUP_SRCS))
BOARD_SRCS := $(ARCH_SRCS) \
$(GENERIC_SRCS)
ALL_SRCS := $(BOARD_SRCS) \
$(PERIPH_SRCS)
#crystal frequency
CRYSTAL_FREQ = 12000000
# fetch this dir during include
SELF_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
#faster build
MAKEFLAGS +="-j6 "
#opt
CFLAGS += -O1 -g
# Tool path, only override if not set
TOOLROOT ?=
ARM-PREFIX := arm-none-eabi-
ifneq ($(TOOLROOT),)
ARM-PREFIX := $(TOOLROOT)/$(ARM-PREFIX)
endif
# Tools
CC := $(ARM-PREFIX)gcc
LD := $(ARM-PREFIX)gcc
AR := $(ARM-PREFIX)ar
AS := $(ARM-PREFIX)as
OBJ := $(ARM-PREFIX)objcopy
SIZE := $(ARM-PREFIX)size
INCLUDE_DIRS := $(INCLUDE_DIRS) \
$(TARGET_DIR) \
$(CORE_DIR) \
$(DEVICE_DIR) \
$(PERIPH_DIR)/inc \
$(ARCH_DIR)
ARCH_HEADERS := $(ARCH_SRCS:.c=.h)
# Search path for standard files
#vpath %.c ./src
#vpath %.c $(ARCH_DIR)
# Search path for perpheral library
#vpath %.c $(CORE)
#vpath %.c $(PERIPH)/src
#vpath %.c $(DEVICE)
# Processor specific
PTYPE = STM32F10X_MD
LDSCRIPT = $(LINK_DIR)/stm32f103c8.ld
# Compilation Flags
FULLASSERT = -DUSE_FULL_ASSERT
LDFLAGS += -T$(LDSCRIPT) \
-mthumb \
-mcpu=cortex-m3
CFLAGS += -mcpu=cortex-m3 \
-mthumb \
-DHSE_VALUE=$(CRYSTAL_FREQ) \
$(addprefix -I,$(INCLUDE_DIRS)) \
-D$(PTYPE) \
-DUSE_STDPERIPH_DRIVER \
$(FULLASSERT) \
-DBUILD_TARGET=$(TARGET_LC)
OPENOCD_PIDFILE = /tmp/openocd_opensky.pid
TARGET_OBJS = $(addsuffix .o,$(addprefix $(OBJECT_DIR)/$(TARGET)/,$(basename $(ALL_SRCS))))
TARGET_DEPS = $(addsuffix .d,$(addprefix $(OBJECT_DIR)/$(TARGET)/,$(basename $(ALL_SRCS))))
TARGET_ELF = $(OBJECT_DIR)/$(RESULT).elf
TARGET_BIN = $(OBJECT_DIR)/$(RESULT).bin
TARGET_HEX = $(OBJECT_DIR)/$(RESULT).hex
# Build executable
board: $(TARGET_HEX)
$(TARGET_ELF): $(TARGET_OBJS)
$(V1) exit
$(V1) echo Linking: $(TARGET)
$(V1) $(LD) -o $@ $^ $(LDFLAGS)
$(V0) $(SIZE) $(TARGET_ELF)
$(TARGET_BIN): $(TARGET_ELF)
$(V1) $(OBJ) -O binary $< $@
$(TARGET_HEX): $(TARGET_ELF)
$(V1) $(OBJ) -O ihex $< $@
$(OBJECT_DIR)/$(TARGET)/%.o: %.c
$(V1) mkdir -p $(dir $@)
$(V1) echo "%% $(notdir $<)" "$(STDOUT)" && \
$(CC) -c -o $@ $(CFLAGS) $<
$(OBJECT_DIR)/$(TARGET)/%.o: %.s
$(V1) mkdir -p $(dir $@)
$(V1) echo "%% $(notdir $<)" "$(STDOUT)"
$(V1) $(CC) -c $(CFLAGS) $(DEPFLAGS) $< -o $@
clean:
$(V1) echo Cleaning: $(TARGET)
$(V1) rm -f $(OBJECT_DIR)/$(TARGET)/*.o $(OBJECT_DIR)/$(TARGET)/*.d $(OBJECT_DIR)/*.elf $(OBJECT_DIR)/*.bin
debug: $(TARGET_ELF)
openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg & echo $$! > $(OPENOCD_PIDFILE)
sleep 1
arm-none-eabi-gdb --eval-command="target remote localhost:3333" $(TARGET_ELF)
if [ -a $(OPENOCD_PIDFILE) ]; then kill `cat $(OPENOCD_PIDFILE)`; fi;
unlock:
openocd -f /usr/share/openocd/scripts/interface/stlink-v2.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg -c "init" -c "reset halt" -c "stm32f1x unlock 0" -c "reset run" -c "exit"
flash : $(TARGET_BIN)
if [ -a $(OPENOCD_PIDFILE) ]; then kill `cat $(OPENOCD_PIDFILE)`; fi;
st-flash write $(TARGET_BIN) 0x8000000
.PHONY: board clean flash debug