It looks like copying the RegisterRec into a local variable (as it has been here before) seems to confuse the compiler which then refuses to optimize the calls. With this simple tweak the code is actually 8B shorter than before (while retaining the saved ~170B of RAM) |
||
|---|---|---|
| .vscode | ||
| cmake | ||
| lib | ||
| src | ||
| tests | ||
| utils | ||
| .clang-format | ||
| .cmake-format.py | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| CMakeLists.txt | ||
| Doxyfile | ||
| README.md | ||
| version.cmake | ||
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.