Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 23 additions & 28 deletions .github/workflows/ci-workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- uses: numworks/setup-arm-toolchain@2020-q2
- uses: numworks/setup-arm-toolchain@2022-12
- uses: actions/checkout@v2
with:
submodules: 'recursive'
Expand Down Expand Up @@ -95,47 +95,42 @@ jobs:
with:
name: epsilon-binpack-n0100.tgz
path: binpack-n0100.tgz
n0110:
n0110-bootloader:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- uses: numworks/setup-arm-toolchain@2020-q2
- uses: numworks/setup-arm-toolchain@2022-12
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- run: make -j2 epsilon.dfu
- run: make -j2 epsilon.onboarding.dfu
- run: make -j2 epsilon.onboarding.update.dfu
- run: make -j2 epsilon.onboarding.beta.dfu
- run: make -j2 flasher.light.dfu
- run: make -j2 flasher.verbose.dfu
- run: make -j2 bench.ram.dfu
- run: make -j2 bench.flash.dfu
- run: make -j2 binpack
- run: cp output/release/device/n0110/binpack-n0110-`git rev-parse HEAD | head -c 7`.tgz output/release/device/n0110/binpack-n0110.tgz
- run: make MODEL=n0110 -j2 bootloader.bin
- run: make MODEL=n0110-bootloader -j2 epsilon.A.bin epsilon.B.bin
- run: make MODEL=n0110-bootloader -j2 epsilon.onboarding.A.bin epsilon.onboarding.B.bin
- run: make MODEL=n0110-bootloader -j2 epsilon.onboarding.update.A.bin epsilon.onboarding.update.B.bin
- run: make MODEL=n0110-bootloader -j2 epsilon.onboarding.beta.A.bin epsilon.onboarding.beta.B.bin
- run: tar -zcf output/release/device/n0110-bootloader/binpack-n0110-bootloader.tgz output/release/device/n0110-bootloader/epsilon.onboarding.A.bin output/release/device/n0110-bootloader/epsilon.onboarding.B.bin output/release/device/n0110/bootloader.bin
- uses: actions/upload-artifact@master
with:
name: epsilon-binpack-n0110.tgz
path: output/release/device/n0110/binpack-n0110.tgz
bootloader:
name: epsilon-binpack-n0110-bootloader.tgz
path: output/release/device/n0110-bootloader/binpack-n0110-bootloader.tgz
n0115-bootloader:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- uses: numworks/setup-arm-toolchain@2020-q2
- uses: numworks/setup-arm-toolchain@2022-12
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- run: make -j2 bootloader.dfu
- run: make MODEL=bootloader -j2 epsilon.A.dfu epsilon.B.dfu
- run: make MODEL=bootloader -j2 epsilon.onboarding.A.dfu epsilon.onboarding.B.dfu
- run: make MODEL=bootloader -j2 epsilon.onboarding.update.A.dfu epsilon.onboarding.update.B.dfu
- run: make MODEL=bootloader -j2 epsilon.onboarding.beta.A.dfu epsilon.onboarding.beta.B.dfu
- run: make -j2 binpack
- run: cp output/release/device/bootloader/binpack-bootloader-`git rev-parse HEAD | head -c 7`.tgz output/release/device/bootloader/binpack-bootloader.tgz
- run: make MODEL=n0115 -j2 bootloader.bin
- run: make MODEL=n0115-bootloader -j2 epsilon.A.bin epsilon.B.bin
- run: make MODEL=n0115-bootloader -j2 epsilon.onboarding.A.bin epsilon.onboarding.B.bin
- run: make MODEL=n0115-bootloader -j2 epsilon.onboarding.update.A.bin epsilon.onboarding.update.B.bin
- run: make MODEL=n0115-bootloader -j2 epsilon.onboarding.beta.A.bin epsilon.onboarding.beta.B.bin
- run: tar -zcf output/release/device/n0115-bootloader/binpack-n0115-bootloader.tgz output/release/device/n0115-bootloader/epsilon.onboarding.A.bin output/release/device/n0115-bootloader/epsilon.onboarding.B.bin output/release/device/n0115/bootloader.bin
- uses: actions/upload-artifact@master
with:
name: epsilon-binpack-bootloader.tgz
path: output/release/device/bootloader/binpack-bootloader.tgz
name: epsilon-binpack-n0115-bootloader.tgz
path: output/release/device/n0115-bootloader/binpack-n0115-bootloader.tgz
windows:
runs-on: windows-latest
defaults:
Expand All @@ -157,7 +152,7 @@ jobs:
web:
runs-on: ubuntu-latest
steps:
- uses: numworks/setup-emscripten@v1
- uses: numworks/setup-emscripten@latest
with:
sdk: latest-upstream
- uses: actions/checkout@v2
Expand All @@ -173,7 +168,7 @@ jobs:
linux:
runs-on: ubuntu-latest
steps:
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config
- run: sudo apt-get install build-essential imagemagick libfreetype6-dev libjpeg-dev libpng-dev pkg-config libx11-dev libxext-dev
- uses: actions/checkout@v2
with:
submodules: 'recursive'
Expand Down
12 changes: 6 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ include build/toolchain.$(TOOLCHAIN).mak
include build/variants.mak
include build/helpers.mk

ifeq (${MODEL},n0110)
apps_list = ${EPSILON_APPS}
else
ifeq (${MODEL},bootloader)
apps_list = ${EPSILON_APPS}
else
ifeq (${MODEL},$(filter ${MODEL},n0110 n0110-bootloader n0115 n0115-bootloader))
ifeq (${MODEL},)
apps_list = $(foreach i, ${EPSILON_APPS}, $(if $(filter external, $(i)),,$(i)))
else
apps_list = ${EPSILON_APPS}
endif
else
apps_list = $(foreach i, ${EPSILON_APPS}, $(if $(filter external, $(i)),,$(i)))
endif

ifdef FORCE_EXTERNAL
Expand Down
2 changes: 1 addition & 1 deletion apps/external/main_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ void MainController::willDisplayCellForIndex(HighlightCell * cell, int index) {
void MainController::viewWillAppear() {
int count;
#if defined(DEVICE) || defined(EXTERNAL_BUILTIN)
#if !defined(DEVICE_N0110) && !defined(EXTERNAL_BUILTIN)
#if !defined(DEVICE_N0110) && !defined(DEVICE_N0115) && !defined(EXTERNAL_BUILTIN)
count = 2;
#else
if(numberOfFiles() > 0){
Expand Down
12 changes: 6 additions & 6 deletions bootloader/boot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,29 +39,29 @@ __attribute__((noreturn)) void Boot::boot() {
} else if (!Slot::A().kernelHeader()->isValid()) {
// If slot A is invalid and B valid, boot B
setMode(BootMode::SlotB);
Slot::B().boot("B");
Slot::B().boot();
} else if (!Slot::B().kernelHeader()->isValid()) {
// If slot B is invalid and A valid, boot A
setMode(BootMode::SlotA);
Slot::A().boot("A");
Slot::A().boot();
} else {
const char* version = Bootloader::Slot::A().kernelHeader()->version();
bool isExam = Bootloader::ExamMode::SlotsExamMode::FetchSlotExamMode(version, "A") > 0;
if (isExam) {
Bootloader::Slot::A().boot("A");
Bootloader::Slot::A().boot();
}

version = Bootloader::Slot::B().kernelHeader()->version();
isExam = Bootloader::ExamMode::SlotsExamMode::FetchSlotExamMode(version, "B") > 0;
if (isExam) {
Bootloader::Slot::B().boot("B");
Bootloader::Slot::B().boot();
}

// Both valid, boot the selected one
if (mode() == BootMode::SlotA) {
Slot::A().boot("A");
Slot::A().boot();
} else if (mode() == BootMode::SlotB) {
Slot::B().boot("B");
Slot::B().boot();
}
}

Expand Down
1 change: 1 addition & 0 deletions bootloader/jump_to_firmware.s
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
.section .text.jump_to_firmware
.align 2
.thumb
.type jump_to_firmware, %function
.global jump_to_firmware
jump_to_firmware:
msr msp, r0
Expand Down
6 changes: 3 additions & 3 deletions bootloader/slot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ const UserlandHeader* Slot::userland2Header() const {
return m_userland2Header;
}

[[ noreturn ]] void Slot::boot(const char* Slot) const {
[[ noreturn ]] void Slot::boot() const {
//protection mechanism against bootloader update introduced in E20
//check if the slot use Userland2Header
if (m_userland2Header->isValid()) {
if (Slot == "A") {
if (kernelHeader() == (void*)0x90000000) {
//check if 0x90010000 = 0xFFFFFFFF
if (*(uint32_t*)0x90010000 != 0xFFFFFFFF) {
Ion::Device::ExternalFlash::EraseSector(9);
}
}
else if (Slot == "B") {
else if (kernelHeader() == (void*)0x90400000) {
//check if 0x90410000 = 0xFFFFFFFF
if (*(uint32_t*)0x90410000 != 0xFFFFFFFF) {
Ion::Device::ExternalFlash::EraseSector(73);
Expand Down
2 changes: 1 addition & 1 deletion bootloader/slot.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Slot {
const KernelHeader* kernelHeader() const;
const UserlandHeader* userlandHeader() const;
const UserlandHeader* userland2Header() const;
[[ noreturn ]] void boot(const char* Slot) const;
[[ noreturn ]] void boot() const;

static const Slot A();
static const Slot B();
Expand Down
2 changes: 2 additions & 0 deletions bootloader/usb_desc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ const char* stringDescriptor(int slot) {
return "@Flash/0x90400000/64*064Kg";
} else if (slot == 3) {
return "@Flash/0x90000000/08*004Kg,01*032Kg,63*064Kg,64*064Kg";
} else {
return "";
}
}

Expand Down
9 changes: 8 additions & 1 deletion build/defaults.mak
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,16 @@ ifeq ("$(PLATFORM)", "device")
SFLAGS += -DPLATFORM_DEVICE
ifeq ("$(MODEL)", "n0100")
SFLAGS += -DDEVICE_N0100
else
endif
ifeq ("$(MODEL)", "n0110")
SFLAGS += -DDEVICE_N0110
endif
ifeq ("$(MODEL)", "bootloader")
SFLAGS += -DDEVICE_N0110
endif
ifeq ("$(MODEL)", "n0115")
SFLAGS += -DDEVICE_N0115
endif
endif

# Host detection
Expand Down
2 changes: 1 addition & 1 deletion build/device/elf2dfu.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
# arm-none-eabi-objcopy -O binary -j .data file.elf file.bin

def loadable_sections(elf_file, address_prefix = ""):
objdump_section_headers_pattern = re.compile("^\s+\d+\s+(\.[\w\.]+)\s+([0-9a-f]+)\s+([0-9a-f]+)\s+("+address_prefix+"[0-9a-f]+)\s+([0-9a-f]+).*LOAD", flags=re.MULTILINE)
objdump_section_headers_pattern = re.compile("^\\s+\\d+\\s+(\\.[\\w\\.]+)\\s+([0-9a-f]+)\\s+([0-9a-f]+)\\s+("+address_prefix+"[0-9a-f]+)\\s+([0-9a-f]+).*LOAD", flags=re.MULTILINE)
objdump_output = subprocess.check_output(["arm-none-eabi-objdump", "-h", "-w", elf_file]).decode('utf-8')
sections = []
for (name, size, vma, lma, offset) in re.findall(objdump_section_headers_pattern, objdump_output):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
TOOLCHAIN ?= arm-gcc-m7f
ION_KEYBOARD_LAYOUT = layout_B3
PCB_LATEST = 343 # PCB version 3.43

ION_ADDITIONAL_DEVICE_SFLAGS = -Iion/src/device/n0110
5 changes: 5 additions & 0 deletions build/platform.device.n0115-bootloader.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
TOOLCHAIN ?= arm-gcc-m7f
ION_KEYBOARD_LAYOUT = layout_B3
PCB_LATEST = 343 # PCB version 3.43

ION_ADDITIONAL_DEVICE_SFLAGS = -Iion/src/device/n0115 -Iion/src/device/n0110-bootloader -Iion/src/device/n0110
5 changes: 5 additions & 0 deletions build/platform.device.n0115.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
TOOLCHAIN ?= arm-gcc-m7f
ION_KEYBOARD_LAYOUT = layout_B3
PCB_LATEST = 504 # PCB version 5.04

ION_ADDITIONAL_DEVICE_SFLAGS = -Iion/src/device/n0110
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ epsilon_flavors_bootloader = $(foreach floavor,$(epsilon_flavors),$(floavor).A $

define rule_for_epsilon_flavor_bootloader
$$(BUILD_DIR)/epsilon.$(1).A.$$(EXE): $$(call flavored_object_for,$$(epsilon_src),$(1))
$$(BUILD_DIR)/epsilon.$(1).A.$$(EXE): LDSCRIPT = ion/src/device/bootloader/bootloader.A.ld
$$(BUILD_DIR)/epsilon.$(1).A.$$(EXE): LDSCRIPT = ion/src/device/n0110-bootloader/bootloader.A.ld
$$(BUILD_DIR)/epsilon.$(1).B.$$(EXE): $$(call flavored_object_for,$$(epsilon_src),$(1))
$$(BUILD_DIR)/epsilon.$(1).B.$$(EXE): LDSCRIPT = ion/src/device/bootloader/bootloader.B.ld
$$(BUILD_DIR)/epsilon.$(1).B.$$(EXE): LDSCRIPT = ion/src/device/n0110-bootloader/bootloader.B.ld
$$(BUILD_DIR)/epsilon.$(1).bin: $$(BUILD_DIR)/epsilon.$(1).A.bin $$(BUILD_DIR)/epsilon.$(1).B.bin
@echo "COMBINE $$@"
$(Q) cat $$(BUILD_DIR)/epsilon.$(1).A.bin >> $$(BUILD_DIR)/epsilon.$(1).bin
Expand All @@ -15,10 +15,10 @@ $$(BUILD_DIR)/epsilon.$(1).bin: $$(BUILD_DIR)/epsilon.$(1).A.bin $$(BUILD_DIR)/e
endef

$(BUILD_DIR)/epsilon.A.$(EXE): $(call flavored_object_for,$(epsilon_src))
$(BUILD_DIR)/epsilon.A.$(EXE): LDSCRIPT = ion/src/device/bootloader/bootloader.A.ld
$(BUILD_DIR)/epsilon.A.$(EXE): LDSCRIPT = ion/src/device/n0110-bootloader/bootloader.A.ld

$(BUILD_DIR)/epsilon.B.$(EXE): $(call flavored_object_for,$(epsilon_src))
$(BUILD_DIR)/epsilon.B.$(EXE): LDSCRIPT = ion/src/device/bootloader/bootloader.B.ld
$(BUILD_DIR)/epsilon.B.$(EXE): LDSCRIPT = ion/src/device/n0110-bootloader/bootloader.B.ld

$(BUILD_DIR)/epsilon.bin: $(BUILD_DIR)/epsilon.A.bin $(BUILD_DIR)/epsilon.B.bin
@echo "COMBINE $@"
Expand Down
55 changes: 55 additions & 0 deletions build/targets.device.n0115-bootloader.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@

epsilon_flavors_bootloader = $(foreach floavor,$(epsilon_flavors),$(floavor).A $(floavor).B)

define rule_for_epsilon_flavor_bootloader
$$(BUILD_DIR)/epsilon.$(1).A.$$(EXE): $$(call flavored_object_for,$$(epsilon_src),$(1))
$$(BUILD_DIR)/epsilon.$(1).A.$$(EXE): LDSCRIPT = ion/src/device/n0115-bootloader/bootloader.A.ld
$$(BUILD_DIR)/epsilon.$(1).B.$$(EXE): $$(call flavored_object_for,$$(epsilon_src),$(1))
$$(BUILD_DIR)/epsilon.$(1).B.$$(EXE): LDSCRIPT = ion/src/device/n0115-bootloader/bootloader.B.ld
$$(BUILD_DIR)/epsilon.$(1).bin: $$(BUILD_DIR)/epsilon.$(1).A.bin $$(BUILD_DIR)/epsilon.$(1).B.bin
@echo "COMBINE $$@"
$(Q) cat $$(BUILD_DIR)/epsilon.$(1).A.bin >> $$(BUILD_DIR)/epsilon.$(1).bin
$(Q) truncate -s 4MiB $$(BUILD_DIR)/epsilon.$(1).bin
$(Q) cat $$(BUILD_DIR)/epsilon.$(1).B.bin >> $$(BUILD_DIR)/epsilon.$(1).bin
$(Q) truncate -s 8MiB $$(BUILD_DIR)/epsilon.$(1).bin
endef

$(BUILD_DIR)/epsilon.A.$(EXE): $(call flavored_object_for,$(epsilon_src))
$(BUILD_DIR)/epsilon.A.$(EXE): LDSCRIPT = ion/src/device/n0115-bootloader/bootloader.A.ld

$(BUILD_DIR)/epsilon.B.$(EXE): $(call flavored_object_for,$(epsilon_src))
$(BUILD_DIR)/epsilon.B.$(EXE): LDSCRIPT = ion/src/device/n0115-bootloader/bootloader.B.ld

$(BUILD_DIR)/epsilon.bin: $(BUILD_DIR)/epsilon.A.bin $(BUILD_DIR)/epsilon.B.bin
@echo "COMBINE $@"
$(Q) cat $(BUILD_DIR)/epsilon.A.bin >> $(BUILD_DIR)/epsilon.bin
$(Q) truncate -s 4MiB $(BUILD_DIR)/epsilon.bin
$(Q) cat $(BUILD_DIR)/epsilon.B.bin >> $(BUILD_DIR)/epsilon.bin
$(Q) truncate -s 8MiB $(BUILD_DIR)/epsilon.bin

$(foreach flavor,$(epsilon_flavors),$(eval $(call rule_for_epsilon_flavor_bootloader,$(flavor))))


HANDY_TARGETS = $(foreach flavor,$(epsilon_flavors_bootloader),epsilon.$(flavor))
HANDY_TARGETS += epsilon.A epsilon.B

.PHONY: epsilon
epsilon: $(BUILD_DIR)/epsilon.onboarding.bin
.DEFAULT_GOAL := epsilon

.PHONY: %_flash
%_flash: $(BUILD_DIR)/%.dfu
@echo "DFU $@"
@echo "INFO About to flash your device. Please plug your device to your computer"
@echo " using an USB cable and press at the same time the 6 key and the RESET"
@echo " button on the back of your device."
$(Q) until $(PYTHON) build/device/dfu.py -l | grep -E "0483:a291|0483:df11" > /dev/null 2>&1; do sleep 2;done
$(Q) $(PYTHON) build/device/dfu.py -u $(word 1,$^)

.PHONY: binpack
binpack: $(BUILD_DIR)/epsilon.onboarding.bin
rm -rf $(BUILD_DIR)/binpack
mkdir -p $(BUILD_DIR)/binpack
cp $(BUILD_DIR)/epsilon.onboarding.bin $(BUILD_DIR)/binpack
cd $(BUILD_DIR) && for binary in epsilon.onboarding.bin; do shasum -a 256 -b binpack/$${binary} > binpack/$${binary}.sha256;done
cd $(BUILD_DIR) && tar cvfz binpack-$(MODEL)-`git rev-parse HEAD | head -c 7`.tgz binpack/*
38 changes: 38 additions & 0 deletions build/targets.device.n0115.mak
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
HANDY_TARGETS += test.external_flash.write test.external_flash.read bootloader

$(BUILD_DIR)/test.external_flash.%.$(EXE): LDSCRIPT = ion/test/device/n0115/external_flash_tests.ld
test_external_flash_src = $(ion_src) $(liba_src) $(libaxx_src) $(kandinsky_src) $(poincare_src) $(ion_device_dfu_relogated_src) $(runner_src)
$(BUILD_DIR)/test.external_flash.read.$(EXE): $(BUILD_DIR)/quiz/src/test_ion_external_flash_read_symbols.o $(call object_for,$(test_external_flash_src) $(test_ion_external_flash_read_src))
$(BUILD_DIR)/test.external_flash.write.$(EXE): $(BUILD_DIR)/quiz/src/test_ion_external_flash_write_symbols.o $(call object_for,$(test_external_flash_src) $(test_ion_external_flash_write_src))

.PHONY: bootloader
bootloader: $(BUILD_DIR)/bootloader.bin
$(BUILD_DIR)/bootloader.$(EXE): $(call flavored_object_for,$(bootloader_src),usbxip)
$(BUILD_DIR)/bootloader.$(EXE): LDSCRIPT = ion/src/device/n0115/internal_flash.ld

.PHONY: %_flash
%_flash: $(BUILD_DIR)/%.dfu
@echo "DFU $@"
@echo "INFO About to flash your device. Please plug your device to your computer"
@echo " using an USB cable and press at the same time the 6 key and the RESET"
@echo " button on the back of your device."
$(Q) until $(PYTHON) build/device/dfu.py -l | grep -E "0483:a291|0483:df11" > /dev/null 2>&1; do sleep 2;done
$(Q) $(PYTHON) build/device/dfu.py -u $(word 1,$^)

.PHONY: %.two_binaries
%.two_binaries: %.elf
@echo "Building an internal and an external binary for $<"
$(Q) $(OBJCOPY) -O binary -j .text.external -j .rodata.external -j .exam_mode_buffer $< $(basename $<).external.bin
$(Q) $(OBJCOPY) -O binary -R .text.external -R .rodata.external -R .exam_mode_buffer $< $(basename $<).internal.bin
@echo "Padding $(basename $<).external.bin and $(basename $<).internal.bin"
$(Q) printf "\xFF\xFF\xFF\xFF" >> $(basename $<).external.bin
$(Q) printf "\xFF\xFF\xFF\xFF" >> $(basename $<).internal.bin

.PHONY: binpack
binpack: $(BUILD_DIR)/flasher.light.bin $(BUILD_DIR)/epsilon.onboarding.two_binaries
rm -rf $(BUILD_DIR)/binpack
mkdir -p $(BUILD_DIR)/binpack
cp $(BUILD_DIR)/flasher.light.bin $(BUILD_DIR)/binpack
cp $(BUILD_DIR)/epsilon.onboarding.internal.bin $(BUILD_DIR)/epsilon.onboarding.external.bin $(BUILD_DIR)/binpack
cd $(BUILD_DIR) && for binary in flasher.light.bin epsilon.onboarding.internal.bin epsilon.onboarding.external.bin; do shasum -a 256 -b binpack/$${binary} > binpack/$${binary}.sha256;done
cd $(BUILD_DIR) && tar cvfz binpack-$(MODEL)-`git rev-parse HEAD | head -c 7`.tgz binpack/*
3 changes: 3 additions & 0 deletions escher/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,6 @@ $(call object_for,$(1)): SFLAGS += $(foreach d,$(sort $(dir $(call object_for,$(
escher_src += $(2)
image_list += $(2)
endef

# This file needs the external icon to display in the home menu
$(eval $(call depends_on_image,escher/src/background_view.cpp,apps/external/external_icon.png))
2 changes: 1 addition & 1 deletion ion/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ include ion/src/shared/tools/Makefile
# char test[4]= "ab"; is valid and should initialize test to 'a','b',0,0).
# Older versions of GCC are not conformant so we resort to an initializer list.
initializer_list = $(shell echo $(1) | sed "s/\(.\)/'\1',/g")0
$(call object_for,ion/src/simulator/platform_info.cpp ion/src/device/n0100/platform_info.cpp ion/src/device/n0110/platform_info.cpp ion/src/device/bootloader/platform_info.cpp ion/src/simulator/shared/platform_info.cpp): SFLAGS += -DPATCH_LEVEL="$(call initializer_list,$(PATCH_LEVEL))" -DEPSILON_VERSION="$(call initializer_list,$(EPSILON_VERSION))" -DOMEGA_VERSION="$(call initializer_list,$(OMEGA_VERSION))" -DOMEGA_USERNAME="$(call initializer_list,$(OMEGA_USERNAME))"
$(call object_for,ion/src/simulator/platform_info.cpp ion/src/device/n0100/platform_info.cpp ion/src/device/n0110/platform_info.cpp ion/src/device/n0110-bootloader/platform_info.cpp ion/src/simulator/shared/platform_info.cpp): SFLAGS += -DPATCH_LEVEL="$(call initializer_list,$(PATCH_LEVEL))" -DEPSILON_VERSION="$(call initializer_list,$(EPSILON_VERSION))" -DOMEGA_VERSION="$(call initializer_list,$(OMEGA_VERSION))" -DOMEGA_USERNAME="$(call initializer_list,$(OMEGA_USERNAME))"

ion_src += $(addprefix ion/src/shared/, \
console_line.cpp \
Expand Down
Loading
Loading