diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..6dfa6b9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +/build* +generators +misc +tmtc +doc + diff --git a/bsp_hosted/Dockerfile b/bsp_hosted/Dockerfile new file mode 100644 index 0000000..7a363e7 --- /dev/null +++ b/bsp_hosted/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:latest +# FROM alpine:latest + +RUN apt-get update && apt-get install -y cmake g++ +# RUN apk add cmake make g++ + +WORKDIR /usr/src/app +COPY . . + +RUN set -ex; \ + rm -rf build-hosted; \ + mkdir build-hosted; \ + cd build-hosted; \ + cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=host ..; + +ENTRYPOINT ["cmake", "--build", "build-hosted"] +CMD ["-j"] +# CMD ["bash"] diff --git a/bsp_linux/Dockerfile b/bsp_linux/Dockerfile new file mode 100644 index 0000000..28105f4 --- /dev/null +++ b/bsp_linux/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:latest +# FROM alpine:latest + +RUN apt-get update && apt-get install -y cmake g++ +# RUN apk add cmake make g++ + +WORKDIR /usr/src/app +COPY . . + +RUN set -ex; \ + rm -rf build-linux; \ + mkdir build-linux; \ + cd build-linux; \ + cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=linux ..; + +ENTRYPOINT ["cmake", "--build", "build-linux"] +CMD ["-j"] +# CMD ["bash"] diff --git a/bsp_stm32_freertos/Dockerfile b/bsp_stm32_freertos/Dockerfile new file mode 100644 index 0000000..ace9e4b --- /dev/null +++ b/bsp_stm32_freertos/Dockerfile @@ -0,0 +1,41 @@ +# Specify the cross compiler version +# See: https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack +ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT="10.2.1-1.1.2" + +# Stage 0 + +# FROM node:current-alpine3.13 +FROM node:latest +# Issues with XPM cross-compiler on alpine.. +ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT +ENV XPM_ARM_XCOMPILER_VERSION=$XPM_ARM_XCOMPILER_VERSION_DEFAULT + +RUN npm install --global xpm@latest; \ + xpm install --global @xpack-dev-tools/arm-none-eabi-gcc@${XPM_ARM_XCOMPILER_VERSION} + +# Stage 1 + +FROM ubuntu:latest +# FROM alpine:latest +COPY --from=0 /root/.local/xPacks/@xpack-dev-tools /usr/tools/ +ARG XPM_ARM_XCOMPILER_VERSION_DEFAULT +ENV XPM_ARM_XCOMPILER_VERSION=$XPM_ARM_XCOMPILER_VERSION_DEFAULT +RUN echo ${XPM_ARM_XCOMPILER_VERSION} + +RUN apt-get update && apt-get install -y cmake g++ +# RUN apk add cmake make g++ + +ENV PATH="/usr/tools/arm-none-eabi-gcc/${XPM_ARM_XCOMPILER_VERSION}/.content/bin:${PATH}" + +WORKDIR /usr/src/app +COPY . . + +RUN set -ex; \ + rm -rf build-freertos; \ + mkdir build-freertos; \ + cd build-freertos; \ + cmake -DCMAKE_BUILD_TYPE=Release -DOS_FSFW=freertos -DTGT_BSP=arm/stm32h743zi-nucleo ..; + +ENTRYPOINT ["cmake", "--build", "build-freertos"] +CMD ["-j"] +# CMD ["bash"] diff --git a/cmake/scripts/BeagleBoneBlack/crosscompile/create_cmake_debug_cfg.sh b/cmake/scripts/BeagleBoneBlack/crosscompile/create_cmake_debug_cfg.sh old mode 100644 new mode 100755 diff --git a/cmake/scripts/RPi/crosscompile/create_cmake_debug_cfg.sh b/cmake/scripts/RPi/crosscompile/create_cmake_debug_cfg.sh old mode 100644 new mode 100755 diff --git a/doc/README-rpi.md b/doc/README-rpi.md index 7374ed4..ebb7e38 100644 --- a/doc/README-rpi.md +++ b/doc/README-rpi.md @@ -84,6 +84,12 @@ toolchain binaries are added to the path accordingly. wget https://github.com/Pro/raspi-toolchain/releases/latest/download/raspi-toolchain.tar.gz ``` + Then extract to the opt folder: + + ```sh + sudo tar xfz raspi-toolchain.tar.gz --strip-components=1 -C /opt + ``` + Please note that this version of the toolchain might become obsolete in the future. If another toolchain installation is used, it is still recommended to unpack the toolchain in the `/opt/cross-pi-gcc` folder so that the Eclipse configuration and helper @@ -123,7 +129,7 @@ toolchain binaries are added to the path accordingly. `$HOME/raspberrypi/rootfs`. ```sh - rsync -avHAXR --numeric-ids --info=progress2 @:/{lib,usr} + rsync -avHAXR --numeric-ids --info=progress2 @:/{lib,usr,opt/vc/lib} ``` On Linux, it is recommended to repair some symlinks which can be problematic: diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ce50fb9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,17 @@ +version: "3.8" + +services: + build-linux: + build: + context: . + dockerfile: bsp_linux/Dockerfile + + build-host: + build: + context: . + dockerfile: bsp_hosted/Dockerfile + + build-freertos: + build: + context: . + dockerfile: bsp_stm32_freertos/Dockerfile diff --git a/fsfw b/fsfw index ff6b413..f3d9fb6 160000 --- a/fsfw +++ b/fsfw @@ -1 +1 @@ -Subproject commit ff6b4134a59d848ed21e7a7666e9da4f9207bca6 +Subproject commit f3d9fb645ea5f4dfdf8b1d8aafe542ff8bbbefd6 diff --git a/fsfw_hal b/fsfw_hal index a85c014..d801319 160000 --- a/fsfw_hal +++ b/fsfw_hal @@ -1 +1 @@ -Subproject commit a85c01465bc8687773676f05c5e7eb8af54b25ff +Subproject commit d801319c12713d08cbdbc571ee2a922ce2f0c851 diff --git a/generators/modgen b/generators/modgen index d56e04c..d9beb68 160000 --- a/generators/modgen +++ b/generators/modgen @@ -1 +1 @@ -Subproject commit d56e04c42676ae19783a2732306a260cd679773b +Subproject commit d9beb68bd9d1a1e6015e4979d547a762d199bff7