diff options
author | xengineering <me@xengineering.eu> | 2021-09-17 19:40:26 +0200 |
---|---|---|
committer | xengineering <me@xengineering.eu> | 2021-09-17 19:42:19 +0200 |
commit | 32a7f5fa5be057c5baf6f654f5f2ee95f46da143 (patch) | |
tree | 2b8c63f027ebf73e1a2987a92612e3b3e388bd9b | |
parent | c0f4fe33a0fb7ac7a01e34258f6017d658896664 (diff) | |
download | ledcontrol-32a7f5fa5be057c5baf6f654f5f2ee95f46da143.tar ledcontrol-32a7f5fa5be057c5baf6f654f5f2ee95f46da143.tar.zst ledcontrol-32a7f5fa5be057c5baf6f654f5f2ee95f46da143.zip |
Cleanup Project for Rewrite
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | .gitmodules | 3 | ||||
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | ledcontrol/Makefile | 20 | ||||
-rw-r--r-- | ledcontrol/main.c | 47 | ||||
m--------- | libopencm3 | 0 | ||||
-rw-r--r-- | rules.mk | 177 | ||||
-rwxr-xr-x | serial_flasher.sh | 5 |
8 files changed, 1 insertions, 257 deletions
diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 01acaa5..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -bin/ -*.elf -*.bin -generated.*.ld diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 6bccd68..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "libopencm3"] - path = libopencm3 - url = https://github.com/libopencm3/libopencm3 @@ -1,5 +1,5 @@ # ledcontrol -A firmware project for the STM32F103C8T6 to control WS2812 LED strips. +A firmware project for the STM32F103C8T6 to control LED strips. diff --git a/ledcontrol/Makefile b/ledcontrol/Makefile deleted file mode 100644 index 9589a3a..0000000 --- a/ledcontrol/Makefile +++ /dev/null @@ -1,20 +0,0 @@ -PROJECT = ledcontrol -BUILD_DIR = bin - -SHARED_DIR = ../lib -CFILES = main.c -# CFILES += api.c -# AFILES += api-asm.S - -# TODO - you will need to edit these two lines! -DEVICE=stm32f103c8 -# OOCD_FILE = board/stm32f4discovery.cfg - -# You shouldn't have to edit anything below here. -VPATH += $(SHARED_DIR) -INCLUDES += $(patsubst %,-I%, . $(SHARED_DIR)) -OPENCM3_DIR=../libopencm3 - -include $(OPENCM3_DIR)/mk/genlink-config.mk -include ../rules.mk -include $(OPENCM3_DIR)/mk/genlink-rules.mk diff --git a/ledcontrol/main.c b/ledcontrol/main.c deleted file mode 100644 index 9dc54e2..0000000 --- a/ledcontrol/main.c +++ /dev/null @@ -1,47 +0,0 @@ - - -#include <libopencm3/stm32/rcc.h> -#include <libopencm3/stm32/gpio.h> - -#define DELAY 1000000 - - -void clock_init(void); -void gpio_init(void); -void delay(void); - - -int main(void) -{ - clock_init(); - gpio_init(); - - while(1){ - gpio_toggle(GPIOC, GPIO13); - delay(); - } - - return 0; -} - - -void clock_init(void) -{ - rcc_periph_clock_enable(RCC_GPIOC); // for PC13 blinking -} - - -void gpio_init(void) -{ - gpio_set_mode(GPIOC, GPIO_MODE_OUTPUT_50_MHZ, GPIO_CNF_OUTPUT_PUSHPULL, GPIO13); - gpio_set(GPIOC, GPIO13); -} - - -void delay(void) -{ - for (int i = 0; i < DELAY; i++) { - __asm__("nop"); - } -} - diff --git a/libopencm3 b/libopencm3 deleted file mode 160000 -Subproject cb0661f81de5b1cae52ca99c7b5985b678176db diff --git a/rules.mk b/rules.mk deleted file mode 100644 index e417d2f..0000000 --- a/rules.mk +++ /dev/null @@ -1,177 +0,0 @@ -# This version of rules.mk expects the following to be defined before -# inclusion.. -### REQUIRED ### -# OPENCM3_DIR - duh -# PROJECT - will be the basename of the output elf, eg usb-gadget0-stm32f4disco -# CFILES - basenames only, eg main.c blah.c -# CXXFILES - same for C++ files. Must have cxx suffix! -# DEVICE - the full device name, eg stm32f405ret6 -# _or_ -# LDSCRIPT - full path, eg ../../examples/stm32/f4/stm32f4-discovery/stm32f4-discovery.ld -# OPENCM3_LIB - the basename, eg: opencm3_stm32f4 -# OPENCM3_DEFS - the target define eg: -DSTM32F4 -# ARCH_FLAGS - eg, -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -# (ie, the full set of cpu arch flags, _none_ are defined in this file) -# -### OPTIONAL ### -# INCLUDES - fully formed -I paths, if you want extra, eg -I../shared -# BUILD_DIR - defaults to bin, should set this if you are building multiarch -# OPT - full -O flag, defaults to -Os -# CSTD - defaults -std=c99 -# CXXSTD - no default. -# OOCD_INTERFACE - eg stlink-v2 -# OOCD_TARGET - eg stm32f4x -# both only used if you use the "make flash" target. -# OOCD_FILE - eg my.openocd.cfg -# This overrides interface/target above, and is used as just -f FILE -### TODO/FIXME/notes ### -# No support for stylecheck. -# No support for BMP/texane/random flash methods, no plans either -# No support for magically finding the library. -# C++ hasn't been actually tested with this..... sorry bout that. ;) -# Second expansion/secondary not set, add this if you need them. - -BUILD_DIR ?= bin -OPT ?= -Os -CSTD ?= -std=c99 - -# Be silent per default, but 'make V=1' will show all compiler calls. -# If you're insane, V=99 will print out all sorts of things. -V?=0 -ifeq ($(V),0) -Q := @ -NULL := 2>/dev/null -endif - -# Tool paths. -PREFIX ?= arm-none-eabi- -CC = $(PREFIX)gcc -CXX = $(PREFIX)g++ -LD = $(PREFIX)gcc -OBJCOPY = $(PREFIX)objcopy -OBJDUMP = $(PREFIX)objdump -OOCD ?= openocd - -OPENCM3_INC = $(OPENCM3_DIR)/include - -# Inclusion of library header files -INCLUDES += $(patsubst %,-I%, . $(OPENCM3_INC) ) - -OBJS = $(CFILES:%.c=$(BUILD_DIR)/%.o) -OBJS += $(CXXFILES:%.cxx=$(BUILD_DIR)/%.o) -OBJS += $(AFILES:%.S=$(BUILD_DIR)/%.o) -GENERATED_BINS = $(PROJECT).elf $(PROJECT).bin $(PROJECT).map $(PROJECT).list $(PROJECT).lss - -TGT_CPPFLAGS += -MD -TGT_CPPFLAGS += -Wall -Wundef $(INCLUDES) -TGT_CPPFLAGS += $(INCLUDES) $(OPENCM3_DEFS) - -TGT_CFLAGS += $(OPT) $(CSTD) -ggdb3 -TGT_CFLAGS += $(ARCH_FLAGS) -TGT_CFLAGS += -fno-common -TGT_CFLAGS += -ffunction-sections -fdata-sections -TGT_CFLAGS += -Wextra -Wshadow -Wno-unused-variable -Wimplicit-function-declaration -TGT_CFLAGS += -Wredundant-decls -Wstrict-prototypes -Wmissing-prototypes - -TGT_CXXFLAGS += $(OPT) $(CXXSTD) -ggdb3 -TGT_CXXFLAGS += $(ARCH_FLAGS) -TGT_CXXFLAGS += -fno-common -TGT_CXXFLAGS += -ffunction-sections -fdata-sections -TGT_CXXFLAGS += -Wextra -Wshadow -Wredundant-decls -Weffc++ - -TGT_ASFLAGS += $(OPT) $(ARCH_FLAGS) -ggdb3 - -TGT_LDFLAGS += -T$(LDSCRIPT) -L$(OPENCM3_DIR)/lib -nostartfiles -TGT_LDFLAGS += $(ARCH_FLAGS) -TGT_LDFLAGS += -specs=nano.specs -TGT_LDFLAGS += -Wl,--gc-sections -# OPTIONAL -#TGT_LDFLAGS += -Wl,-Map=$(PROJECT).map -ifeq ($(V),99) -TGT_LDFLAGS += -Wl,--print-gc-sections -endif - -# Linker script generator fills this in for us. -ifeq (,$(DEVICE)) -LDLIBS += -l$(OPENCM3_LIB) -endif -# nosys is only in newer gcc-arm-embedded... -#LDLIBS += -specs=nosys.specs -LDLIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group - -# Burn in legacy hell fortran modula pascal yacc idontevenwat -.SUFFIXES: -.SUFFIXES: .c .S .h .o .cxx .elf .bin .list .lss - -# Bad make, never *ever* try to get a file out of source control by yourself. -%: %,v -%: RCS/%,v -%: RCS/% -%: s.% -%: SCCS/s.% - -all: $(PROJECT).elf $(PROJECT).bin -flash: $(PROJECT).flash - -# error if not using linker script generator -ifeq (,$(DEVICE)) -$(LDSCRIPT): -ifeq (,$(wildcard $(LDSCRIPT))) - $(error Unable to find specified linker script: $(LDSCRIPT)) -endif -else -# if linker script generator was used, make sure it's cleaned. -GENERATED_BINS += $(LDSCRIPT) -endif - -# Need a special rule to have a bin dir -$(BUILD_DIR)/%.o: %.c - @printf " CC\t$<\n" - @mkdir -p $(dir $@) - $(Q)$(CC) $(TGT_CFLAGS) $(CFLAGS) $(TGT_CPPFLAGS) $(CPPFLAGS) -o $@ -c $< - -$(BUILD_DIR)/%.o: %.cxx - @printf " CXX\t$<\n" - @mkdir -p $(dir $@) - $(Q)$(CXX) $(TGT_CXXFLAGS) $(CXXFLAGS) $(TGT_CPPFLAGS) $(CPPFLAGS) -o $@ -c $< - -$(BUILD_DIR)/%.o: %.S - @printf " AS\t$<\n" - @mkdir -p $(dir $@) - $(Q)$(CC) $(TGT_ASFLAGS) $(ASFLAGS) $(TGT_CPPFLAGS) $(CPPFLAGS) -o $@ -c $< - -$(PROJECT).elf: $(OBJS) $(LDSCRIPT) $(LIBDEPS) - @printf " LD\t$@\n" - $(Q)$(LD) $(TGT_LDFLAGS) $(LDFLAGS) $(OBJS) $(LDLIBS) -o $@ - -%.bin: %.elf - @printf " OBJCOPY\t$@\n" - $(Q)$(OBJCOPY) -O binary $< $@ - -%.lss: %.elf - $(OBJDUMP) -h -S $< > $@ - -%.list: %.elf - $(OBJDUMP) -S $< > $@ - -%.flash: %.elf - @printf " FLASH\t$<\n" -ifeq (,$(OOCD_FILE)) - $(Q)(echo "halt; program $(realpath $(*).elf) verify reset" | nc -4 localhost 4444 2>/dev/null) || \ - $(OOCD) -f interface/$(OOCD_INTERFACE).cfg \ - -f target/$(OOCD_TARGET).cfg \ - -c "program $(realpath $(*).elf) verify reset exit" \ - $(NULL) -else - $(Q)(echo "halt; program $(realpath $(*).elf) verify reset" | nc -4 localhost 4444 2>/dev/null) || \ - $(OOCD) -f $(OOCD_FILE) \ - -c "program $(realpath $(*).elf) verify reset exit" \ - $(NULL) -endif - -clean: - rm -rf $(BUILD_DIR) $(GENERATED_BINS) - -.PHONY: all clean flash --include $(OBJS:.o=.d) - diff --git a/serial_flasher.sh b/serial_flasher.sh deleted file mode 100755 index 0c80a0b..0000000 --- a/serial_flasher.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash - - -stm32loader -p /dev/ttyUSB0 -e -w -v ledcontrol/ledcontrol.bin - |