Wirepas SDK
makefile_scratchpad.mk
Go to the documentation of this file.
1include makefile_common.mk
2
3include $(build_variables_mk)
4
5
6# Scratchpad files for OTAP
7
8# Append a suffix to the scratchpad file names if
9# the Generic Bootloader Updater Tool is embedded
10bl_updater ?= no
11ifneq ($(bl_updater),no)
12BL_UPDATER_SUFFIX := "_bl_updater"
13else
14BL_UPDATER_SUFFIX := ""
15endif
16
17FULL_SCRATCHPAD_NAME := $(APP_NAME)_$(FIRMWARE_NAME)$(BL_UPDATER_SUFFIX)
18FULL_SCRATCHPAD_BIN := $(BUILDPREFIX_APP)$(FULL_SCRATCHPAD_NAME).otap
19APP_SCRATCHPAD_NAME := $(APP_NAME)
20APP_SCRATCHPAD_BIN := $(BUILDPREFIX_APP)$(APP_SCRATCHPAD_NAME).otap
21STACK_SCRATCHPAD_NAME := $(FIRMWARE_NAME)$(BL_UPDATER_SUFFIX)
22STACK_SCRATCHPAD_BIN := $(BUILDPREFIX_APP)$(STACK_SCRATCHPAD_NAME).otap
23
24# Append a suffix to the scratchpad file names, when modem firmware is included
25MODEM_FW_SUFFIX := _modem_fw
26
27ifneq ($(modemfw_area_id),)
28ifneq ($(radio),none)
29ifneq ($(modem_fw),)
30MODEM_FW_FULL_PATH := $(BUILDPREFIX_STACK)$(modem_fw)
31# Name for target to generate a scratchpad with modem + stack + app
32FULL_SCRATCHPAD_WITH_MODEMFW_NAME := $(APP_NAME)_$(FIRMWARE_NAME)$(MODEM_FW_SUFFIX)$(BL_UPDATER_SUFFIX)
33FULL_SCRATCHPAD_WITH_MODEMFW_BIN := $(BUILDPREFIX_APP)$(FULL_SCRATCHPAD_WITH_MODEMFW_NAME).otap
34# Name for target to generate a scratchpad with modem + stack
35STACK_SCRATCHPAD_WITH_MODEMFW_NAME := $(FIRMWARE_NAME)$(MODEM_FW_SUFFIX)$(BL_UPDATER_SUFFIX)
36STACK_SCRATCHPAD_WITH_MODEMFW_BIN := $(BUILDPREFIX_APP)$(STACK_SCRATCHPAD_WITH_MODEMFW_NAME).otap
37endif
38endif
39endif
40
41.PHONY: all
42all: $(FULL_SCRATCHPAD_BIN) $(APP_SCRATCHPAD_BIN) $(STACK_SCRATCHPAD_BIN) \
43 $(FULL_SCRATCHPAD_WITH_MODEMFW_BIN) $(STACK_SCRATCHPAD_WITH_MODEMFW_BIN)
44
45.PHONY: app_only
46app_only: $(APP_SCRATCHPAD_BIN)
47
48
49# Functions
50
51define BUILD_FULL_SCRATCHPAD_WITH_MODEMFW
52 @echo "$(COLOR_INFO)Creating Full Scratchpad with modem:$(COLOR_END) $(2) + $(3) + $(4) -> $(1)"
53 $(D)$(SCRAT_GEN) --configfile=$(config_ini) \
54 $(1) \
55 $(STACK_CONF):$(modemfw_area_id):$(2) \
56 $(STACK_CONF):$(stack_area_id):$(3) \
57 $(app_major).$(app_minor).$(app_maintenance).$(app_development):$(app_area_id):$(4)
58endef
59
60define BUILD_FULL_SCRATCHPAD
61 @echo "$(COLOR_INFO)Creating Full Scratchpad:$(COLOR_END) $(2) + $(3) -> $(1)"
62 $(D)$(SCRAT_GEN) --configfile=$(config_ini) \
63 $(1) \
64 $(STACK_CONF):$(stack_area_id):$(2) \
65 $(app_major).$(app_minor).$(app_maintenance).$(app_development):$(app_area_id):$(3)
66endef
67
68define BUILD_APP_SCRATCHPAD
69 @echo "$(COLOR_INFO)Creating App Scratchpad:$(COLOR_END) $(2) -> $(1)"
70 $(D)$(SCRAT_GEN) --configfile=$(config_ini) \
71 $(1) \
72 $(app_major).$(app_minor).$(app_maintenance).$(app_development):$(app_area_id):$(2)
73endef
74
75define BUILD_STACK_SCRATCHPAD
76 @echo "$(COLOR_INFO)Creating Stack Scratchpad:$(COLOR_END) $(2) -> $(1)"
77 $(D)$(SCRAT_GEN) --configfile=$(config_ini) \
78 $(1) \
79 $(STACK_CONF):$(stack_area_id):$(2)
80endef
81
82define BUILD_STACK_SCRATCHPAD_WITH_MODEMFW
83 @echo "$(COLOR_INFO)Creating Stack Scratchpad with modem:$(COLOR_END) $(2) + $(3) -> $(1)"
84 $(D)$(SCRAT_GEN) --configfile=$(config_ini) \
85 $(1) \
86 $(STACK_CONF):$(modemfw_area_id):$(2) \
87 $(STACK_CONF):$(stack_area_id):$(3)
88endef
89
90
91# Target rules
92
93$(STACK_SCRATCHPAD_BIN): $(stack_hex) $(config_ini)
94 $(call BUILD_STACK_SCRATCHPAD,$(STACK_SCRATCHPAD_BIN),$(stack_hex))
95
96$(APP_SCRATCHPAD_BIN): $(APP_HEX) $(config_ini)
97 $(call BUILD_APP_SCRATCHPAD,$(APP_SCRATCHPAD_BIN),$(APP_HEX))
98
99$(FULL_SCRATCHPAD_BIN): $(stack_hex) $(APP_HEX) $(config_ini)
100 $(call BUILD_FULL_SCRATCHPAD,$(FULL_SCRATCHPAD_BIN),$(stack_hex),$(APP_HEX))
101
102ifneq ($(modemfw_area_id),)
103ifneq ($(radio),none)
104$(FULL_SCRATCHPAD_WITH_MODEMFW_BIN):
105 $(call BUILD_FULL_SCRATCHPAD_WITH_MODEMFW,$(FULL_SCRATCHPAD_WITH_MODEMFW_BIN),$(MODEM_FW_FULL_PATH),$(stack_hex),$(APP_HEX))
106
107$(STACK_SCRATCHPAD_WITH_MODEMFW_BIN):
108 $(call BUILD_STACK_SCRATCHPAD_WITH_MODEMFW,$(STACK_SCRATCHPAD_WITH_MODEMFW_BIN),$(MODEM_FW_FULL_PATH),$(stack_hex))
109endif
110endif