Add dfu converter (#336)

* Install hex2dfu in Dockerfile
* Add convert and upload dfu files for bootloader and firmware
This commit is contained in:
rusdacent 2021-02-12 13:04:35 +03:00 committed by GitHub
parent 2d09b8e318
commit 0899c18d38
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View File

@ -37,6 +37,11 @@ jobs:
with: with:
run: make -C bootloader TARGET=f4 run: make -C bootloader TARGET=f4
- name: Generate dfu file for bootloader
uses: ./.github/actions/docker
with:
run: hex2dfu -i bootloader/.obj/f4/bootloader.hex -o bootloader/.obj/f4/bootloader.dfu
- name: Publish F4 bootloader artifacts - name: Publish F4 bootloader artifacts
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
@ -45,6 +50,7 @@ jobs:
bootloader/.obj/f4/bootloader.elf bootloader/.obj/f4/bootloader.elf
bootloader/.obj/f4/bootloader.bin bootloader/.obj/f4/bootloader.bin
bootloader/.obj/f4/bootloader.hex bootloader/.obj/f4/bootloader.hex
bootloader/.obj/f4/bootloader.dfu
if-no-files-found: error if-no-files-found: error
retention-days: 7 retention-days: 7
@ -53,6 +59,11 @@ jobs:
with: with:
run: make -C firmware TARGET=f4 APP_RELEASE=1 run: make -C firmware TARGET=f4 APP_RELEASE=1
- name: Generate dfu file for firmware
uses: ./.github/actions/docker
with:
run: hex2dfu -i firmware/.obj/f4/firmware.hex -o firmware/.obj/f4/firmware.dfu
- name: Publish F4 firmware artifacts - name: Publish F4 firmware artifacts
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2
with: with:
@ -61,6 +72,7 @@ jobs:
firmware/.obj/f4/firmware.elf firmware/.obj/f4/firmware.elf
firmware/.obj/f4/firmware.bin firmware/.obj/f4/firmware.bin
firmware/.obj/f4/firmware.hex firmware/.obj/f4/firmware.hex
firmware/.obj/f4/firmware.dfu
if-no-files-found: error if-no-files-found: error
retention-days: 7 retention-days: 7

View File

@ -66,6 +66,13 @@ RUN apt update && \
dfu-util \ dfu-util \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
# install hex2dfu
RUN wget https://github.com/rusdacent/hex2dfu/archive/master.zip --output-document=hex2dfu.zip && \
unzip hex2dfu.zip && \
cd hex2dfu-master && gcc hex2dfu.c ED25519/*.c -o hex2dfu && \
ln -s ${PWD}/hex2dfu /usr/bin/hex2dfu
COPY entrypoint.sh syntax_check.sh / COPY entrypoint.sh syntax_check.sh /
RUN chmod +x /syntax_check.sh RUN chmod +x /syntax_check.sh