Wirepas SDK
makefile_scratchpad.mk
Go to the documentation of this file.
1 include makefile_common.mk
2 
3 include $(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
10 bl_updater ?= no
11 ifneq ($(bl_updater),no)
12 BL_UPDATER_SUFFIX := "_bl_updater"
13 else
14 BL_UPDATER_SUFFIX := ""
15 endif
16 
17 FULL_SCRATCHPAD_NAME := $(APP_NAME)_$(FIRMWARE_NAME)$(BL_UPDATER_SUFFIX)
18 FULL_SCRATCHPAD_BIN := $(BUILDPREFIX_APP)$(FULL_SCRATCHPAD_NAME).otap
19 APP_SCRATCHPAD_NAME := $(APP_NAME)
20 APP_SCRATCHPAD_BIN := $(BUILDPREFIX_APP)$(APP_SCRATCHPAD_NAME).otap
21 STACK_SCRATCHPAD_NAME := $(FIRMWARE_NAME)$(BL_UPDATER_SUFFIX)
22 STACK_SCRATCHPAD_BIN := $(BUILDPREFIX_APP)$(STACK_SCRATCHPAD_NAME).otap
23 
24 # Append a suffix to the scratchpad file names, when modem firmware is included
25 MODEM_FW_SUFFIX := _modem_fw
26 
27 ifneq ($(modemfw_area_id),)
28 ifneq ($(radio),none)
29 ifneq ($(modem_fw),)
30 MODEM_FW_FULL_PATH := $(BUILDPREFIX_STACK)$(modem_fw)
31 # Name for target to generate a scratchpad with modem + stack + app
32 FULL_SCRATCHPAD_WITH_MODEMFW_NAME := $(APP_NAME)_$(FIRMWARE_NAME)$(MODEM_FW_SUFFIX)$(BL_UPDATER_SUFFIX)
33 FULL_SCRATCHPAD_WITH_MODEMFW_BIN := $(BUILDPREFIX_APP)$(FULL_SCRATCHPAD_WITH_MODEMFW_NAME).otap
34 # Name for target to generate a scratchpad with modem + stack
35 STACK_SCRATCHPAD_WITH_MODEMFW_NAME := $(FIRMWARE_NAME)$(MODEM_FW_SUFFIX)$(BL_UPDATER_SUFFIX)
36 STACK_SCRATCHPAD_WITH_MODEMFW_BIN := $(BUILDPREFIX_APP)$(STACK_SCRATCHPAD_WITH_MODEMFW_NAME).otap
37 endif
38 endif
39 endif
40 
41 .PHONY: all
42 all: $(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
46 app_only: $(APP_SCRATCHPAD_BIN)
47 
48 
49 # Functions
50 
51 define 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)
58 endef
59 
60 define 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)
66 endef
67 
68 define 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)
73 endef
74 
75 define 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)
80 endef
81 
82 define 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)
88 endef
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 
102 ifneq ($(modemfw_area_id),)
103 ifneq ($(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))
109 endif
110 endif