From 479c4726940e9b41142b1cb257ff350a314eb363 Mon Sep 17 00:00:00 2001 From: Bryan Biedenkapp Date: Sun, 7 Jan 2024 16:00:33 -0500 Subject: [PATCH] add firmware as submodules to host; add support to compile firmware using CMake, adds make targets "dvmfw" and "dvmfw-clean" to compile and/or clean after compile; --- .gitmodules | 6 +++++ CMakeLists.txt | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/fw/hotspot | 1 + src/fw/modem | 1 + 4 files changed, 70 insertions(+) create mode 100644 .gitmodules create mode 160000 src/fw/hotspot create mode 160000 src/fw/modem diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..a582152d --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "src/fw/modem"] + path = src/fw/modem + url = https://github.com/DVMProject/dvmfirmware.git +[submodule "src/fw/hotspot"] + path = src/fw/hotspot + url = https://github.com/DVMProject/dvmfirmware-hs.git diff --git a/CMakeLists.txt b/CMakeLists.txt index fc1b94ed..65f35fd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -338,3 +338,65 @@ add_custom_target(old_install-service COMMAND cp ../linux/dvmhost.service /lib/systemd/system/ COMMAND bash \"-c\" \"sed -i 's/\\\\/usr\\\\/local\\\\/bin/\\\\/opt\\\\/dvm\\\\/bin/' /lib/systemd/system/dvmhost.service\" COMMAND bash \"-c\" \"sed -i 's/\\\\/usr\\\\/local\\\\/etc/\\\\/opt\\\\/dvm/' /lib/systemd/system/dvmhost.service\") + +# +# Firmware compilation +# +project(dvmfw) +add_custom_target(dvmfw + DEPENDS dvmfw-stm32f4 dvmfw-stm32f4-pog dvmfw-stm32f4-eda dvmfw-stm32fx + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) +add_custom_target(dvmfw-clean + DEPENDS dvmfw-stm32f4-clean dvmfw-stm32fx-clean + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) + +add_custom_target(dvmfw-stm32f4 + COMMAND make -f Makefile.STM32F4 clean + COMMAND make -f Makefile.STM32F4 + COMMAND cp dvm-firmware_f4.elf ${CMAKE_CURRENT_BINARY_DIR} + COMMAND cp dvm-firmware_f4.bin ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) +add_custom_target(dvmfw-stm32f4-pog + COMMAND make -f Makefile.STM32F4_POG clean + COMMAND make -f Makefile.STM32F4_POG + COMMAND cp dvm-firmware_f4-pog.elf ${CMAKE_CURRENT_BINARY_DIR} + COMMAND cp dvm-firmware_f4-pog.bin ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) +add_custom_target(dvmfw-stm32f4-eda + COMMAND make -f Makefile.STM32F4_EDA clean + COMMAND make -f Makefile.STM32F4_EDA + COMMAND cp dvm-firmware_eda.elf ${CMAKE_CURRENT_BINARY_DIR} + COMMAND cp dvm-firmware_eda.bin ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) +add_custom_target(dvmfw-sam3x8 + COMMAND make -f Makefile.SAM3X8_DUE clean + COMMAND make -f Makefile.SAM3X8_DUE + COMMAND cp dvm-firmware_due.elf ${CMAKE_CURRENT_BINARY_DIR} + COMMAND cp dvm-firmware_due.bin ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) +add_custom_target(dvmfw-stm32f4-clean + COMMAND make -f Makefile clean + COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/dvm-firmware*.elf + COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/dvm-firmware*.bin + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/modem +) + +add_custom_target(dvmfw-stm32fx + COMMAND make -f Makefile.STM32FX clean + COMMAND make -f Makefile.STM32FX mmdvm-hs-hat-dual + COMMAND cp dvm-firmware-hs_f1.elf ${CMAKE_CURRENT_BINARY_DIR} + COMMAND cp dvm-firmware-hs_f1.bin ${CMAKE_CURRENT_BINARY_DIR} + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/hotspot +) +add_custom_target(dvmfw-stm32fx-clean + COMMAND make -f Makefile clean + COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/dvm-firmware*.elf + COMMAND rm -f ${CMAKE_CURRENT_BINARY_DIR}/dvm-firmware*.bin + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/fw/hotspot +) diff --git a/src/fw/hotspot b/src/fw/hotspot new file mode 160000 index 00000000..74225c44 --- /dev/null +++ b/src/fw/hotspot @@ -0,0 +1 @@ +Subproject commit 74225c443f1b47873c93367edf37e8fe785fb3fd diff --git a/src/fw/modem b/src/fw/modem new file mode 160000 index 00000000..c9e9f412 --- /dev/null +++ b/src/fw/modem @@ -0,0 +1 @@ +Subproject commit c9e9f412181d80492ac725afb7be6590a33cc06f