@@ -14,21 +14,21 @@ PROJECT_NAME = $(basename $(notdir $(PROJECT_DIR)))
14
14
PSOC_CREATOR_DIR ?= $(error PSOC_CREATOR_DIR must be defined)
15
15
PSOC_CREATOR_DIR = $(subst (,\(,$(subst ),\),$(subst $(SPACE),\$(SPACE),$(PSOC_CREATOR_DIR))))
16
16
CROSS_COMPILE := arm-none-eabi-
17
- BOARD_TYPE ?= CY8C42
17
+ CPU_TYPE ?= CY8C42
18
18
PSOC_TYPE ?= PSoC4
19
19
20
20
DEBUG_CFLAGS := -g -O0
21
21
RELEASE_CFLAGS := -O3
22
22
GEN_SRC_DIR := Generated_Source/$(PSOC_TYPE)/
23
23
24
- COMMON_FLAGS := -mcpu=$($(BOARD_TYPE )_mcpu) -mthumb
24
+ COMMON_FLAGS := -mcpu=$($(CPU_TYPE )_mcpu) -mthumb
25
25
26
26
CFLAGS := $(COMMON_FLAGS) -Wno-main -Wall -ffunction-sections -ffat-lto-objects
27
27
ASFLAGS := $(COMMON_FLAGS)
28
28
INCLUDE_CFLAGS := -I$(PROJECT_DIR)/$(GEN_SRC_DIR) -I$(PROJECT_DIR)/
29
29
30
30
# Special dir from cypress tools
31
- CYCOMPONENT_LIB := $(PSOC_CREATOR_DIR)/psoc/content/CyComponentLibrary/CyComponentLibrary.cylib/$($(BOARD_TYPE )_cpu_dir)/ARM_GCC_493/Debug/CyComponentLibrary.a
31
+ CYCOMPONENT_LIB := $(PSOC_CREATOR_DIR)/psoc/content/CyComponentLibrary/CyComponentLibrary.cylib/$($(CPU_TYPE )_cpu_dir)/ARM_GCC_493/Debug/CyComponentLibrary.a
32
32
CYELFTOOL := $(PSOC_CREATOR_DIR)/bin/cyelftool.exe
33
33
34
34
BUILD_DIR ?= ./build
@@ -39,7 +39,7 @@ BOOTASM_GNU := $(PROJECT_DIR)/$(GEN_SRC_DIR)/CyBootAsmGnu.s
39
39
OBJ_FILES := $(patsubst %.c,%.o,$(SRC_C_FILES)) $(subst .s,.o,$(BOOTASM_GNU))
40
40
OBJ_FILES := $(subst $(PROJECT_DIR),$(BUILD_DIR),$(OBJ_FILES))
41
41
42
- all: $(BUILD_DIR)/$(PROJECT_NAME).elf
42
+ all: $(BUILD_DIR)/$(PROJECT_NAME).hex
43
43
44
44
$(BUILD_DIR)/%.o: $(PROJECT_DIR)/%.c
45
45
@mkdir -p $(dir $@)
@@ -56,8 +56,11 @@ $(BUILD_DIR)/$(PROJECT_NAME).a: $(OBJ_FILES) $(BUILD_DIR)
56
56
$(BUILD_DIR)/$(PROJECT_NAME).elf: $(BUILD_DIR)/$(PROJECT_NAME).a
57
57
@mkdir -p $(dir $@)
58
58
$(CROSS_COMPILE)gcc -specs=nano.specs $(CFLAGS) -Wl,-Map,$(BUILD_DIR)/$(PROJECT_NAME).map -L$(BUILD_DIR)/ -T $(PROJECT_DIR)/$(GEN_SRC_DIR)/cm0gcc.ld -o $@ -Wl,--start-group $^ "$(CYCOMPONENT_LIB)" -Wl,--end-group -Wl,--gc-sections
59
- wine "$(CYELFTOOL)" -B $@ --flash_row_size $($(BOARD_TYPE )_flash_row_size) --flash_size $($(BOARD_TYPE )_flash_size) --flash_array_size $($(BOARD_TYPE )_flash_array_size)
59
+ wine "$(CYELFTOOL)" -B $@ --flash_row_size $($(CPU_TYPE )_flash_row_size) --flash_size $($(CPU_TYPE )_flash_size) --flash_array_size $($(CPU_TYPE )_flash_array_size)
60
60
wine "$(CYELFTOOL)" -S $@
61
61
62
+ $(BUILD_DIR)/$(PROJECT_NAME).hex: $(BUILD_DIR)/$(PROJECT_NAME).elf
63
+ $(CROSS_COMPILE)objcopy --gap-fill 0x00 -O ihex $^ $@
64
+
62
65
clean:
63
66
rm -rf $(BUILD_DIR)
0 commit comments