Go to file
Yuri D'Elia 9f39b373a9 build: Set -mrelax to remove trampolines while linking
Avr GCC automatically marks all indirect calls for trampoline generation
irregardless of the target.

This can be avoided by forcing -mshort-calls or using -mrelax that
removes the trampoline at link time (after the call location has been
proven to be reachable).

This saves 510 bytes on the current build (the trampolines section is
now empty as expected).
2022-10-17 17:22:21 +02:00
.vscode Update vscode to avr-gcc 2022-07-27 17:04:52 +02:00
cmake cmake: Full reproducibility support 2022-10-10 15:19:58 +02:00
lib USB cdc stdout stream 2021-10-14 14:27:56 +02:00
src Prevent filament creep in activeSlot+1 2022-10-11 07:15:57 +02:00
tests Format 2022-10-12 06:41:59 +02:00
utils Update Jenkins rules to match updated cmake/ninja versions 2022-07-27 17:04:52 +02:00
.clang-format Disable preprocessor code indentation 2021-07-07 16:33:03 +02:00
.cmake-format.py Prepare parts of the build system 2021-04-19 07:03:47 +02:00
.gitignore Prepare parts of the build system 2021-04-19 07:03:47 +02:00
.pre-commit-config.yaml hooks: Update cmake-format to 0.6.13 2022-10-10 11:50:05 +02:00
CMakeLists.txt build: Set -mrelax to remove trampolines while linking 2022-10-17 17:22:21 +02:00
Doxyfile Update doxyfile + document modules namespace 2021-06-30 07:39:31 +02:00
README.md README: Mention the correct output filename 2022-07-27 17:04:52 +02:00
version.cmake Increase version to 2.1.4 2022-10-12 07:45:21 +02:00

README.md

Prusa-Firmware-MMU-Private

How to prepare build env and tools

Run ./utils/bootstrap.py

bootstrap.py will now download all the "missing" dependencies into the .dependencies folder:

  • clang-format-9.0.0-noext
  • cmake-3.22.5
  • ninja-1.10.2
  • avr-gcc-7.3.0

How to build the preliminary project so far:

Now the process is the same as in the Buddy Firmware:

./utils/build.py

builds the firmware.hex in build/mmu_release

In case you'd like to build the project directly via cmake you can use an approach like this:

mkdir build
cd build
cmake .. -G Ninja -DCMAKE_TOOLCHAIN_FILE=../cmake/AvrGcc.cmake
ninja

It will produce a MMU2SR_<version>.hex file.