Skip to content

Commit

Permalink
Demonstrate assembly source files
Browse files Browse the repository at this point in the history
  • Loading branch information
karlp committed Jan 11, 2019
1 parent 550c702 commit e392dd5
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 2 deletions.
1 change: 1 addition & 0 deletions my-project/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ BUILD_DIR = bin
SHARED_DIR = ../my-common-code
CFILES = my-project.c
CFILES += api.c
AFILES += api-asm.S

# TODO - you will need to edit these two lines!
DEVICE=stm32f407vgt6
Expand Down
5 changes: 4 additions & 1 deletion my-project/my-project.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
#include "api.h"
#include "api-asm.h"

int main(void) {
/* add your own code */
return my_func(3);
uint32_t rev = 0xaabbccdd;
rev = rev_bytes(rev);
return my_func(rev);
}
10 changes: 9 additions & 1 deletion rules.mk
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ OPENCM3_INC = $(OPENCM3_DIR)/include
INCLUDES += $(patsubst %,-I%, . $(OPENCM3_INC) )

OBJS = $(CFILES:%.c=$(BUILD_DIR)/%.o)
OBJS += $(AFILES:%.S=$(BUILD_DIR)/%.o)
GENERATED_BINS = $(PROJECT).elf $(PROJECT).bin $(PROJECT).map $(PROJECT).list $(PROJECT).lss

TGT_CPPFLAGS += -MD
Expand All @@ -75,6 +76,8 @@ 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
Expand All @@ -95,7 +98,7 @@ LDLIBS += -Wl,--start-group -lc -lgcc -lnosys -Wl,--end-group

# Burn in legacy hell fortran modula pascal yacc idontevenwat
.SUFFIXES:
.SUFFIXES: .c .h .o .cxx .elf .bin .list .lss
.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
Expand Down Expand Up @@ -129,6 +132,11 @@ $(BUILD_DIR)/%.o: %.cxx
@mkdir -p $(dir $@)
$(Q)$(CC) $(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 $@
Expand Down

0 comments on commit e392dd5

Please sign in to comment.